123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- // CodeMirror, copyright (c) by Marijn Haverbeke and others
- // Distributed under an MIT license: http://codemirror.net/LICENSE
- (function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "css");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
- // Error, because "foobarhello" is neither a known type or property, but
- // property was expected (after "and"), and it should be in parenthese.
- MT("atMediaUnknownType",
- "[def @media] [attribute screen] [keyword and] [error foobarhello] { }");
- // Soft error, because "foobarhello" is not a known property or type.
- MT("atMediaUnknownProperty",
- "[def @media] [attribute screen] [keyword and] ([error foobarhello]) { }");
- // Make sure nesting works with media queries
- MT("atMediaMaxWidthNested",
- "[def @media] [attribute screen] [keyword and] ([property max-width]: [number 25px]) { [tag foo] { } }");
- MT("tagSelector",
- "[tag foo] { }");
- MT("classSelector",
- "[qualifier .foo-bar_hello] { }");
- MT("idSelector",
- "[builtin #foo] { [error #foo] }");
- MT("tagSelectorUnclosed",
- "[tag foo] { [property margin]: [number 0] } [tag bar] { }");
- MT("tagStringNoQuotes",
- "[tag foo] { [property font-family]: [variable hello] [variable world]; }");
- MT("tagStringDouble",
- "[tag foo] { [property font-family]: [string \"hello world\"]; }");
- MT("tagStringSingle",
- "[tag foo] { [property font-family]: [string 'hello world']; }");
- MT("tagColorKeyword",
- "[tag foo] {",
- " [property color]: [keyword black];",
- " [property color]: [keyword navy];",
- " [property color]: [keyword yellow];",
- "}");
- MT("tagColorHex3",
- "[tag foo] { [property background]: [atom #fff]; }");
- MT("tagColorHex6",
- "[tag foo] { [property background]: [atom #ffffff]; }");
- MT("tagColorHex4",
- "[tag foo] { [property background]: [atom&error #ffff]; }");
- MT("tagColorHexInvalid",
- "[tag foo] { [property background]: [atom&error #ffg]; }");
- MT("tagNegativeNumber",
- "[tag foo] { [property margin]: [number -5px]; }");
- MT("tagPositiveNumber",
- "[tag foo] { [property padding]: [number 5px]; }");
- MT("tagVendor",
- "[tag foo] { [meta -foo-][property box-sizing]: [meta -foo-][atom border-box]; }");
- MT("tagBogusProperty",
- "[tag foo] { [property&error barhelloworld]: [number 0]; }");
- MT("tagTwoProperties",
- "[tag foo] { [property margin]: [number 0]; [property padding]: [number 0]; }");
- MT("tagTwoPropertiesURL",
- "[tag foo] { [property background]: [atom url]([string //example.com/foo.png]); [property padding]: [number 0]; }");
- MT("commentSGML",
- "[comment <!--comment-->]");
- MT("commentSGML2",
- "[comment <!--comment]",
- "[comment -->] [tag div] {}");
- MT("indent_tagSelector",
- "[tag strong], [tag em] {",
- " [property background]: [atom rgba](",
- " [number 255], [number 255], [number 0], [number .2]",
- " );",
- "}");
- MT("indent_atMedia",
- "[def @media] {",
- " [tag foo] {",
- " [property color]:",
- " [keyword yellow];",
- " }",
- "}");
- MT("indent_comma",
- "[tag foo] {",
- " [property font-family]: [variable verdana],",
- " [atom sans-serif];",
- "}");
- MT("indent_parentheses",
- "[tag foo]:[variable-3 before] {",
- " [property background]: [atom url](",
- "[string blahblah]",
- "[string etc]",
- "[string ]) [keyword !important];",
- "}");
- MT("font_face",
- "[def @font-face] {",
- " [property font-family]: [string 'myfont'];",
- " [error nonsense]: [string 'abc'];",
- " [property src]: [atom url]([string http://blah]),",
- " [atom url]([string http://foo]);",
- "}");
- MT("empty_url",
- "[def @import] [tag url]() [tag screen];");
- MT("parens",
- "[qualifier .foo] {",
- " [property background-image]: [variable fade]([atom #000], [number 20%]);",
- " [property border-image]: [variable linear-gradient](",
- " [atom to] [atom bottom],",
- " [variable fade]([atom #000], [number 20%]) [number 0%],",
- " [variable fade]([atom #000], [number 20%]) [number 100%]",
- " );",
- "}");
- })();
|