third-party: added codemirror
[unfold.git] / third-party / codemirror-3.15 / mode / css / scss_test.js
diff --git a/third-party/codemirror-3.15/mode/css/scss_test.js b/third-party/codemirror-3.15/mode/css/scss_test.js
new file mode 100644 (file)
index 0000000..3644f63
--- /dev/null
@@ -0,0 +1,80 @@
+(function() {
+  var mode = CodeMirror.getMode({tabSize: 4}, "text/x-scss");
+  function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "scss"); }
+
+  MT('url_with_quotation',
+    "[tag foo] { [property background][operator :][string-2 url]([string test.jpg]) }");
+
+  MT('url_with_double_quotes',
+    "[tag foo] { [property background][operator :][string-2 url]([string \"test.jpg\"]) }");
+
+  MT('url_with_single_quotes',
+    "[tag foo] { [property background][operator :][string-2 url]([string \'test.jpg\']) }");
+
+  MT('string',
+    "[def @import] [string \"compass/css3\"]");
+
+  MT('important_keyword',
+    "[tag foo] { [property background][operator :][string-2 url]([string \'test.jpg\']) [keyword !important] }");
+
+  MT('variable',
+    "[variable-2 $blue][operator :][atom #333]");
+
+  MT('variable_as_attribute',
+    "[tag foo] { [property color][operator :][variable-2 $blue] }");
+
+  MT('numbers',
+    "[tag foo] { [property padding][operator :][number 10px] [number 10] [number 10em] [number 8in] }");
+
+  MT('number_percentage',
+    "[tag foo] { [property width][operator :][number 80%] }");
+
+  MT('selector',
+    "[builtin #hello][qualifier .world]{}");
+
+  MT('singleline_comment',
+    "[comment // this is a comment]");
+
+  MT('multiline_comment',
+    "[comment /*foobar*/]");
+
+  MT('attribute_with_hyphen',
+    "[tag foo] { [property font-size][operator :][number 10px] }");
+
+  MT('string_after_attribute',
+    "[tag foo] { [property content][operator :][string \"::\"] }");
+
+  MT('directives',
+    "[def @include] [qualifier .mixin]");
+
+  MT('basic_structure',
+    "[tag p] { [property background][operator :][keyword red]; }");
+
+  MT('nested_structure',
+    "[tag p] { [tag a] { [property color][operator :][keyword red]; } }");
+
+  MT('mixin',
+    "[def @mixin] [tag table-base] {}");
+
+  MT('number_without_semicolon',
+    "[tag p] {[property width][operator :][number 12]}",
+    "[tag a] {[property color][operator :][keyword red];}");
+
+  MT('atom_in_nested_block',
+    "[tag p] { [tag a] { [property color][operator :][atom #000]; } }");
+
+  MT('interpolation_in_property',
+    "[tag foo] { [operator #{][variable-2 $hello][operator }:][number 2]; }");
+
+  MT('interpolation_in_selector',
+    "[tag foo][operator #{][variable-2 $hello][operator }] { [property color][operator :][atom #000]; }");
+
+  MT('interpolation_error',
+    "[tag foo][operator #{][error foo][operator }] { [property color][operator :][atom #000]; }");
+
+  MT("divide_operator",
+    "[tag foo] { [property width][operator :][number 4] [operator /] [number 2] }");
+
+  MT('nested_structure_with_id_selector',
+    "[tag p] { [builtin #hello] { [property color][operator :][keyword red]; } }");
+})();