Skip to content

Commit

Permalink
Add specs for CSS imports (#1277)
Browse files Browse the repository at this point in the history
  • Loading branch information
nex3 committed Aug 10, 2018
1 parent a267163 commit 24eef94
Show file tree
Hide file tree
Showing 284 changed files with 589 additions and 1 deletion.
9 changes: 9 additions & 0 deletions spec/css/plain/README.md
@@ -0,0 +1,9 @@
These specs are for CSS files that are imported by Sass, using `@import "foo"`
to import `foo.css`. These files should be parsed as plain CSS, and should not
allow any Sass-specific features.

As a rule, anything in the plain CSS files that would be interpreted differently
if it were SCSS should produce an error. Although some of these could
theoretically be valid CSS, such as `@import url("#{foo}")`, it's much more
likely that they're a mistake on the user's part that they should be notified
of.
5 changes: 5 additions & 0 deletions spec/css/plain/boolean_operations/expected_output.css
@@ -0,0 +1,5 @@
a {
and: true and false;
or: true or false;
not: not true;
}
1 change: 1 addition & 0 deletions spec/css/plain/boolean_operations/input.scss
@@ -0,0 +1 @@
@import "plain";
5 changes: 5 additions & 0 deletions spec/css/plain/boolean_operations/plain.css
@@ -0,0 +1,5 @@
a {
and: true and false;
or: true or false;
not: not true;
}
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/at_root/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@at-root b {
^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/at_root/plain.css 2:3 root stylesheet
/sass/spec/css/plain/error/at_rule/at_root/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/at_root/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/at_root/plain.css
@@ -0,0 +1,5 @@
a {
@at-root b {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/at_root/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/content/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@content;
^^^^^^^^
/sass/spec/css/plain/error/at_rule/content/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/content/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/content/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/content/plain.css
@@ -0,0 +1 @@
@content;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/content/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/debug/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@debug foo;
^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/debug/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/debug/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/debug/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/debug/plain.css
@@ -0,0 +1 @@
@debug foo;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/debug/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/each/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@each $i in 1 2 3 {
^^^^^^^^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/each/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/each/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/each/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/each/plain.css
@@ -0,0 +1,5 @@
@each $i in 1 2 3 {
a {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/each/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/error/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@error foo;
^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/error/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/error/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/error/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/error/plain.css
@@ -0,0 +1 @@
@error foo;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/error/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/extend/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@extend b;
^^^^^^^^^
/sass/spec/css/plain/error/at_rule/extend/plain.css 2:3 root stylesheet
/sass/spec/css/plain/error/at_rule/extend/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/extend/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/at_rule/extend/plain.css
@@ -0,0 +1,3 @@
a {
@extend b;
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/extend/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/for/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@for $i from 1 to 5 {
^^^^^^^^^^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/for/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/for/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/for/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/for/plain.css
@@ -0,0 +1,5 @@
@for $i from 1 to 5 {
a {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/for/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/function/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@function foo() {
^^^^^^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/function/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/function/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/function/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/at_rule/function/plain.css
@@ -0,0 +1,3 @@
@function foo() {
@return 1;
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/function/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/if/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@if true {
^^^^^^^^^
/sass/spec/css/plain/error/at_rule/if/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/if/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/if/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/if/plain.css
@@ -0,0 +1,5 @@
@if true {
a {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/if/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/include/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@include foo;
^^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/include/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/include/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/include/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/include/plain.css
@@ -0,0 +1 @@
@include foo;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/include/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/interpolated_import/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
@import url("foo#{bar}baz");
^^^^^^
/sass/spec/css/plain/error/at_rule/interpolated_import/plain.css 1:17 root stylesheet
/sass/spec/css/plain/error/at_rule/interpolated_import/input.scss 1:9 root stylesheet
Empty file.
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/interpolated_import/plain.css
@@ -0,0 +1 @@
@import url("foo#{bar}baz");
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/interpolated_import/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/mixin/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@mixin foo {
^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/mixin/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/mixin/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/mixin/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/mixin/plain.css
@@ -0,0 +1,5 @@
@mixin foo {
a {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/mixin/status
@@ -0,0 +1 @@
65
@@ -0,0 +1,3 @@
a {
@import "foo";
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/nested_import/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/at_rule/nested_import/plain.css
@@ -0,0 +1,3 @@
a {
@import "foo";
}
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/return/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@return foo;
^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/return/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/return/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/return/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/return/plain.css
@@ -0,0 +1 @@
@return foo;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/return/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/warn/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@warn foo;
^^^^^^^^^
/sass/spec/css/plain/error/at_rule/warn/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/warn/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/warn/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/warn/plain.css
@@ -0,0 +1 @@
@warn foo;
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/warn/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/while/error
@@ -0,0 +1,5 @@
Error: This at-rule isn't allowed in plain CSS.
@while false {
^^^^^^^^^^^^^
/sass/spec/css/plain/error/at_rule/while/plain.css 1:1 root stylesheet
/sass/spec/css/plain/error/at_rule/while/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/while/input.scss
@@ -0,0 +1 @@
@import 'plain'
5 changes: 5 additions & 0 deletions spec/css/plain/error/at_rule/while/plain.css
@@ -0,0 +1,5 @@
@while false {
a {
x: y;
}
}
1 change: 1 addition & 0 deletions spec/css/plain/error/at_rule/while/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/built_in_function/error
@@ -0,0 +1,5 @@
Error: This function isn't allowed in plain CSS.
x: index(1 2 3, 1);
^^^^^^^^^^^^^^^
/sass/spec/css/plain/error/built_in_function/plain.css 2:6 root stylesheet
/sass/spec/css/plain/error/built_in_function/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/built_in_function/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/built_in_function/plain.css
@@ -0,0 +1,3 @@
a {
x: index(1 2 3, 1);
}
1 change: 1 addition & 0 deletions spec/css/plain/error/built_in_function/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/empty_comma_list/error
@@ -0,0 +1,5 @@
Error: Parentheses aren't allowed in plain CSS.
x: (,);
^
/sass/spec/css/plain/error/empty_comma_list/plain.css 2:6 root stylesheet
/sass/spec/css/plain/error/empty_comma_list/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/empty_comma_list/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/empty_comma_list/plain.css
@@ -0,0 +1,3 @@
a {
x: (,);
}
1 change: 1 addition & 0 deletions spec/css/plain/error/empty_comma_list/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/empty_list/error
@@ -0,0 +1,5 @@
Error: Parentheses aren't allowed in plain CSS.
x: ();
^
/sass/spec/css/plain/error/empty_list/plain.css 2:6 root stylesheet
/sass/spec/css/plain/error/empty_list/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/empty_list/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/empty_list/plain.css
@@ -0,0 +1,3 @@
a {
x: ();
}
1 change: 1 addition & 0 deletions spec/css/plain/error/empty_list/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/interpolation/at_rule/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
@foo a#{b}c;
^^^^
/sass/spec/css/plain/error/interpolation/at_rule/plain.css 1:7 root stylesheet
/sass/spec/css/plain/error/interpolation/at_rule/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/at_rule/input.scss
@@ -0,0 +1 @@
@import 'plain'
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/at_rule/plain.css
@@ -0,0 +1 @@
@foo a#{b}c;
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/at_rule/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/interpolation/calc/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
w: calc(#{1px} + 10%);
^^^^^^
/sass/spec/css/plain/error/interpolation/calc/plain.css 2:11 root stylesheet
/sass/spec/css/plain/error/interpolation/calc/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/calc/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/interpolation/calc/plain.css
@@ -0,0 +1,3 @@
a {
w: calc(#{1px} + 10%);
}
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/calc/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/interpolation/declaration/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
w#{x}y: z;
^^^^
/sass/spec/css/plain/error/interpolation/declaration/plain.css 2:4 root stylesheet
/sass/spec/css/plain/error/interpolation/declaration/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/declaration/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/interpolation/declaration/plain.css
@@ -0,0 +1,3 @@
a {
w#{x}y: z;
}
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/declaration/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/interpolation/identifier/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
w: x#{y}z;
^^^^
/sass/spec/css/plain/error/interpolation/identifier/plain.css 2:7 root stylesheet
/sass/spec/css/plain/error/interpolation/identifier/input.scss 1:9 root stylesheet
Empty file.
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/identifier/input.scss
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/interpolation/identifier/plain.css
@@ -0,0 +1,3 @@
a {
w: x#{y}z;
}
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/identifier/status
@@ -0,0 +1 @@
65
5 changes: 5 additions & 0 deletions spec/css/plain/error/interpolation/quoted_string/error
@@ -0,0 +1,5 @@
Error: Interpolation isn't allowed in plain CSS.
w: "x#{y}z";
^^^^
/sass/spec/css/plain/error/interpolation/quoted_string/plain.css 2:8 root stylesheet
/sass/spec/css/plain/error/interpolation/quoted_string/input.scss 1:9 root stylesheet
Empty file.
@@ -0,0 +1 @@
@import 'plain'
3 changes: 3 additions & 0 deletions spec/css/plain/error/interpolation/quoted_string/plain.css
@@ -0,0 +1,3 @@
a {
w: "x#{y}z";
}
1 change: 1 addition & 0 deletions spec/css/plain/error/interpolation/quoted_string/status
@@ -0,0 +1 @@
65

0 comments on commit 24eef94

Please sign in to comment.