diff --git a/spec/mixin/content/arguments/error/args_for_argless/error-libsass b/spec/mixin/content/arguments/error/args_for_argless/error-libsass new file mode 100644 index 0000000000..50cf01e582 --- /dev/null +++ b/spec/mixin/content/arguments/error/args_for_argless/error-libsass @@ -0,0 +1,7 @@ +Error: wrong number of arguments (1 for 0) for `@content' + on line 2:3 of test.scss, in mixin `@content` + from line 2:3 of test.scss, in mixin `mixin` + from line 5:10 of test.scss +>> @content(value); + + --^ diff --git a/spec/mixin/content/arguments/error/expected_args/error-libsass b/spec/mixin/content/arguments/error/expected_args/error-libsass new file mode 100644 index 0000000000..5bb81db8a2 --- /dev/null +++ b/spec/mixin/content/arguments/error/expected_args/error-libsass @@ -0,0 +1,6 @@ +Error: Mixin @content is missing argument $arg1. + on line 2:3 of test.scss, in mixin `mixin` + from line 5:10 of test.scss +>> @content; + + --^ diff --git a/spec/mixin/content/arguments/error/invalid_arglist/error-libsass b/spec/mixin/content/arguments/error/invalid_arglist/error-libsass new file mode 100644 index 0000000000..80097d0f4e --- /dev/null +++ b/spec/mixin/content/arguments/error/invalid_arglist/error-libsass @@ -0,0 +1,5 @@ +Error: Invalid CSS after "...) using ($arg1:": expected expression (e.g. 1px, bold), was ") {}" + on line 5:32 of test.scss +>> @include mixin() using ($arg1: ) {} + + -------------------------------^ diff --git a/spec/mixin/content/arguments/error/invalid_named_arg/error-libsass b/spec/mixin/content/arguments/error/invalid_named_arg/error-libsass new file mode 100644 index 0000000000..10e46182e7 --- /dev/null +++ b/spec/mixin/content/arguments/error/invalid_named_arg/error-libsass @@ -0,0 +1,7 @@ +Error: Mixin @content has no parameter named $invalid + on line 2:12 of test.scss, in mixin `@content` + from line 2:3 of test.scss, in mixin `mixin` + from line 5:10 of test.scss +>> @content($invalid: value); + + -----------^ diff --git a/spec/mixin/content/arguments/error/missing_arglist/error-libsass b/spec/mixin/content/arguments/error/missing_arglist/error-libsass new file mode 100644 index 0000000000..303ec3f87b --- /dev/null +++ b/spec/mixin/content/arguments/error/missing_arglist/error-libsass @@ -0,0 +1,5 @@ +Error: Invalid CSS after "...ude mixin using": expected "(", was "{}" + on line 5:16 of test.scss +>> @include mixin using {} + + ---------------^ diff --git a/spec/mixin/content/arguments/error/missing_parens/error-libsass b/spec/mixin/content/arguments/error/missing_parens/error-libsass new file mode 100644 index 0000000000..ecc7e97148 --- /dev/null +++ b/spec/mixin/content/arguments/error/missing_parens/error-libsass @@ -0,0 +1,5 @@ +Error: Invalid CSS after "...ude mixin using": expected "(", was "$arg1 {}" + on line 5:16 of test.scss +>> @include mixin using $arg1 {} + + ---------------^ diff --git a/spec/mixin/content/arguments/error/missing_using/error-libsass b/spec/mixin/content/arguments/error/missing_using/error-libsass new file mode 100644 index 0000000000..0255fa37bf --- /dev/null +++ b/spec/mixin/content/arguments/error/missing_using/error-libsass @@ -0,0 +1,5 @@ +Error: Invalid CSS after "@include mixin()": expected ";", was "() {}" + on line 5:16 of test.scss +>> @include mixin() () {} + + ---------------^ diff --git a/spec/mixin/content/arguments/error/too_few_args/error-libsass b/spec/mixin/content/arguments/error/too_few_args/error-libsass new file mode 100644 index 0000000000..23b74e27ad --- /dev/null +++ b/spec/mixin/content/arguments/error/too_few_args/error-libsass @@ -0,0 +1,6 @@ +Error: Mixin @content is missing argument $arg2. + on line 2:3 of test.scss, in mixin `mixin` + from line 5:10 of test.scss +>> @content(1); + + --^ diff --git a/spec/mixin/content/arguments/error/too_many_args/error-libsass b/spec/mixin/content/arguments/error/too_many_args/error-libsass new file mode 100644 index 0000000000..c938f68bd1 --- /dev/null +++ b/spec/mixin/content/arguments/error/too_many_args/error-libsass @@ -0,0 +1,7 @@ +Error: wrong number of arguments (3 for 2) for `@content' + on line 2:3 of test.scss, in mixin `@content` + from line 2:3 of test.scss, in mixin `mixin` + from line 5:10 of test.scss +>> @content(1, 2, 3); + + --^ diff --git a/spec/mixin/content/arguments/error/using_without_block/error-libsass b/spec/mixin/content/arguments/error/using_without_block/error-libsass new file mode 100644 index 0000000000..8d7b53587c --- /dev/null +++ b/spec/mixin/content/arguments/error/using_without_block/error-libsass @@ -0,0 +1,5 @@ +Error: Invalid CSS after "... mixin using ()": expected "{", was ";" + on line 5:23 of test.scss +>> @include mixin using (); + + ----------------------^ diff --git a/spec/mixin/content/arguments/options.yml b/spec/mixin/content/arguments/options.yml index a3bd2971e5..675cc0eb4e 100644 --- a/spec/mixin/content/arguments/options.yml +++ b/spec/mixin/content/arguments/options.yml @@ -1,5 +1,3 @@ --- :ignore_for: - ruby-sass -:todo: -- libsass # sass/libsass#2723 diff --git a/spec/mixin/content/arguments/receiving/output-libsass.css b/spec/mixin/content/arguments/receiving/output-libsass.css new file mode 100644 index 0000000000..ec688ca36a --- /dev/null +++ b/spec/mixin/content/arguments/receiving/output-libsass.css @@ -0,0 +1,28 @@ +with-defaults nothing-passed { + arg1: value1; + arg2: value2; +} +with-defaults partial-override { + arg1: value1; + arg2: other2; +} +with-defaults total-override { + arg1: other1; + arg2: other2; +} + +with-splat nothing-passed { + positional: (); + keywords: (); +} +with-splat positional-passed { + positional: value1, value2, value3; + keywords: (); +} +with-splat named-passed { + keywords: (arg1: value1, arg2: value2); +} +with-splat both-passed { + positional: value1; + keywords: (arg2: value2); +}