diff --git a/README.md b/README.md index ca8b35724c..03570eb797 100644 --- a/README.md +++ b/README.md @@ -197,7 +197,7 @@ eventually be removed. ```yaml --- :todo: -- libsass # sass/libsass#2827 +- sass/libsass#2827 ``` This option indicates implementations that should add support for a spec, but @@ -206,9 +206,11 @@ marked as `:todo` for that implementation are skipped by default. This ensures t the build remains green while clearly marking which specs are expected to pass eventually. -In general, when marking a spec as `:todo` for an implementation, it's a good -idea to include a comment referencing the GitHub issue for that implementation -that will fix the spec. If no issue exists yet, please file one. +Implementations can be (and should be) specified as shorthand GitHub issue +references rather than plain names. This makes it easy to track whether the +implementation has fixed the issue, and to see which specs correspond to which +issue. When marking an issue as `:todo` for an implementation, please either +find an existing issue to reference or file a new one. If the `--run-todo` flag is passed to `sass-spec.rb`, specs marked as `:todo` for the current implementation will be run, and their failures will be reported. @@ -225,7 +227,7 @@ these specs. ```yaml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 ``` This option works like [`:todo`](#todo), except instead of skipping the entire diff --git a/STYLE_GUIDE.md b/STYLE_GUIDE.md index d780209c63..bdb2216211 100644 --- a/STYLE_GUIDE.md +++ b/STYLE_GUIDE.md @@ -754,7 +754,7 @@ be named "other" (`_other.scss`, `_other.sass`, etc). <===> slash_slash_string/options.yml --- :todo: -- libsass # sass/libsass#2840 +- sass/libsass#2840 <===> slash_slash_string/input.scss a {b: 1 / 2 / foo()} @@ -784,10 +784,10 @@ a { -When [marking a spec as `:todo`][], follow it with a comment that refers to an -issue in the implementation in question tracking the feature the spec tests. If -there isn't an issue yet, create one. Make sure to also link that issue back to -the specs for it! +When [marking a spec as `:todo`][], use a reference to an issue in the +implementation in question tracking the feature the spec tests. If there isn't +an issue yet, create one. Make sure to also link that issue back to the specs +for it! [marking a spec as `:todo`]: README.md#todo @@ -996,7 +996,7 @@ directory. It just serves to visually separate specs from one another. <===> top_level/options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 :ignore_for: - ruby-sass @@ -1041,7 +1041,7 @@ declare new variables. Consider adding `$var: null` at the top level. <===> top_level/options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 :ignore_for: - ruby-sass diff --git a/lib/sass_spec/directory.rb b/lib/sass_spec/directory.rb index da9f0d3cb3..878f7a5387 100644 --- a/lib/sass_spec/directory.rb +++ b/lib/sass_spec/directory.rb @@ -176,6 +176,15 @@ def with_real_files FileUtils.rm_rf(outermost_new_dir) if outermost_new_dir end + # Returns an HRX representation of this directory. + def to_hrx + archive = HRX::Archive.new + glob("**/*").each do |path| + archive << HRX::File.new("#{self.path}/#{path}", read(path)) + end + archive.to_hrx + end + def inspect "#" end diff --git a/lib/sass_spec/test.rb b/lib/sass_spec/test.rb index 5b792e70c8..31411637e5 100644 --- a/lib/sass_spec/test.rb +++ b/lib/sass_spec/test.rb @@ -128,28 +128,9 @@ def handle_conflicting_files! choice = interact(:conflicting_files, :fail) do |i| i.prompt "Test has both error and success outputs." - show_input_choice(i) + show_test_case_choice(i) show_output_choice(i) - if output_file_exists - i.choice('eo', 'Show expected output.') do - display_text_block(@test_case.read("output.css", impl: impl)) - i.restart! - end - end - - if warning_file_exists - i.choice('ew', 'Show expected warning.') do - display_text_block(@test_case.read("warning", impl: impl)) - i.restart! - end - end - - i.choice('ee', 'Show expected error.') do - display_text_block(@test_case.read("error", impl: :auto)) - i.restart! - end - delete_choice(i) i.choice('S', 'Keep the success output.') do @@ -179,7 +160,7 @@ def handle_missing_output! choice = interact(:missing_output, :fail) do |i| i.prompt "Expected output file does not exist." - show_input_choice(i) + show_test_case_choice(i) show_output_choice(i) delete_choice(i) update_output_choice(i) @@ -202,7 +183,7 @@ def handle_unexpected_error! choice = interact(:unexpected_error, :fail) do |i| i.prompt "An unexpected compiler error was encountered." - show_input_choice(i) + show_test_case_choice(i) i.choice('e', "Show me the error.") do display_text_block(@error) @@ -234,12 +215,7 @@ def handle_unexpected_pass! choice = interact(:unexpected_pass, :fail) do |i| i.prompt "A failure was expected but it compiled instead." - show_input_choice(i) - - i.choice('e', "Show me the expected error.") do - display_text_block(@test_case.expected_error) - i.restart! - end + show_test_case_choice(i) i.choice('o', "Show me the output.") do display_text_block(@output) @@ -270,7 +246,7 @@ def handle_output_difference! interact(:output_difference, :fail) do |i| i.prompt "Output does not match expectation." - show_input_choice(i) + show_test_case_choice(i) i.choice('d', "show diff.") do require 'diffy' @@ -297,14 +273,7 @@ def handle_unnecessary_todo! interact(:unnecessary_todo, :fail) do |i| i.prompt "Test is passing but marked as TODO." - show_input_choice(i) - - if @test_case.should_fail? - i.choice('e', "Show me the expected error.") do - display_text_block(@test_case.expected_error) - i.restart! - end - end + show_test_case_choice(i) unless @output.empty? i.choice('o', "Show me the output.") do @@ -367,26 +336,21 @@ def handle_stderr_difference! interact(type, :fail) do |i| i.prompt(message) - show_input_choice(i) + show_test_case_choice(i) - if error_msg.empty? - i.choice('e', "Show expected #{@test_case.should_fail? ? 'error' : 'warning'}.") do - display_text_block(@test.expected_error) - i.restart! - end - elsif expected_error_msg.empty? + unless error_msg.empty? i.choice('e', "Show #{@test_case.should_fail? ? 'error' : 'warning'}.") do display_text_block(error_msg) i.restart! end - else - i.choice('d', "Show diff.") do - require 'diffy' - display_text_block( - Diffy::Diff.new("Expected\n#{expected_error_msg}", - "Actual\n#{error_msg}").to_s(:color)) - i.restart! - end + end + + i.choice('d', "Show diff.") do + require 'diffy' + display_text_block( + Diffy::Diff.new("Expected\n#{expected_error_msg}", + "Actual\n#{error_msg}").to_s(:color)) + i.restart! end update_output_choice(i) @@ -413,9 +377,9 @@ def interact(prompt_id, default, &block) end end - def show_input_choice(i) - i.choice('i', "Show me the input.") do - display_text_block(@test_case.input) + def show_test_case_choice(i) + i.choice('t', "Show me the test case.") do + display_text_block(@test_case.dir.to_hrx) i.restart! end end diff --git a/lib/sass_spec/test_case_metadata.rb b/lib/sass_spec/test_case_metadata.rb index ce3afad51f..3c07a74d43 100644 --- a/lib/sass_spec/test_case_metadata.rb +++ b/lib/sass_spec/test_case_metadata.rb @@ -48,7 +48,14 @@ def self.merge_options(existing_opts, new_opts) # Parses metadata for the test case at the given SassSpec::Directory. def initialize(test_case_dir) @name = test_case_dir.to_s - @options = resolve_options(test_case_dir).freeze + @options = resolve_options(test_case_dir) + end + + def resolve_options(dir) + self.class.cache[dir.path] ||= _resolve_options(dir).tap do |options| + _normalize_todos(options, :todo) + _normalize_todos(options, :warning_todo) + end.freeze end def _resolve_options(dir) @@ -72,8 +79,14 @@ def _resolve_options(dir) rv end - def resolve_options(dir) - self.class.cache[dir.path] ||= _resolve_options(dir).freeze + # Normalize a list of TODOs to convert GitHub issue references to + # implementation names. + def _normalize_todos(options, field) + if options.include?(field) + options[field] = options[field] + .map {|name| name =~ %r{^sass/(.*)#} ? $1 : name} + .to_set + end end def todo?(impl) diff --git a/spec/colors/adjust-hue.hrx b/spec/colors/adjust-hue.hrx deleted file mode 100644 index 8c94ea9fca..0000000000 --- a/spec/colors/adjust-hue.hrx +++ /dev/null @@ -1,20 +0,0 @@ -<===> input.scss -p { - color: adjust-hue(#f00, 10); - color: adjust-hue(#900, 90); - color: adjust-hue(#000, 30); - color: adjust-hue(#fff, -30); - color: adjust-hue(#999, -530); - color: adjust-hue(#000, +720); - // error in libsass - // color: adjust-hue(#333, + 720); -} -<===> output.css -p { - color: #ff2b00; - color: #4d9900; - color: black; - color: white; - color: #999999; - color: black; -} diff --git a/spec/colors/complement.hrx b/spec/colors/complement.hrx deleted file mode 100644 index 6d90f17fee..0000000000 --- a/spec/colors/complement.hrx +++ /dev/null @@ -1,31 +0,0 @@ -<===> input.scss -p { - color: complement(#f00); - color: complement(#900); - color: complement(#000); - color: complement(#fff); - color: complement(#999); - color: complement(#000); - color: complement(#333); -} -<===> output.css -p { - color: cyan; - color: #009999; - color: black; - color: white; - color: #999999; - color: black; - color: #333333; -} - -<===> output-dart-sass.css -p { - color: aqua; - color: #009999; - color: black; - color: white; - color: #999999; - color: black; - color: #333333; -} diff --git a/spec/colors/desaturate.hrx b/spec/colors/desaturate.hrx deleted file mode 100644 index bdc0e64e12..0000000000 --- a/spec/colors/desaturate.hrx +++ /dev/null @@ -1,16 +0,0 @@ -<===> input.scss -p { - color: desaturate(#fff, 10%); - color: desaturate(#999, 10%); - color: desaturate(#000, 10%); - color: desaturate(#f00, 10%); - color: desaturate(#900, 10%); -} -<===> output.css -p { - color: white; - color: #999999; - color: black; - color: #f20d0d; - color: #910808; -} diff --git a/spec/colors/fade-in.hrx b/spec/colors/fade-in.hrx deleted file mode 100644 index 6115460a8f..0000000000 --- a/spec/colors/fade-in.hrx +++ /dev/null @@ -1,35 +0,0 @@ -<===> input.scss -p { - color: fade-in(#f00, 0.3); - color: fade-in(#900, 0.8); - color: fade-in(#000, .6); - color: fade-in(#fff, .2); - color: fade-in(#999, .4); - color: fade-in(#000, .5); - color: fade-in(#333, +.99); - // test old function name - color: opacify(#f00, 0.3); - color: opacify(#900, 0.8); - color: opacify(#000, .6); - color: opacify(#fff, .2); - color: opacify(#999, .4); - color: opacify(#000, .5); - color: opacify(#333, +.99); -} -<===> output.css -p { - color: red; - color: #990000; - color: black; - color: white; - color: #999999; - color: black; - color: #333333; - color: red; - color: #990000; - color: black; - color: white; - color: #999999; - color: black; - color: #333333; -} diff --git a/spec/colors/fade-out.hrx b/spec/colors/fade-out.hrx deleted file mode 100644 index 291ac5208e..0000000000 --- a/spec/colors/fade-out.hrx +++ /dev/null @@ -1,35 +0,0 @@ -<===> input.scss -p { - color: fade-out(#f00, 0.3); - color: fade-out(#900, 0.8); - color: fade-out(#000, .6); - color: fade-out(#fff, .2); - color: fade-out(#999, .4); - color: fade-out(#000, .5); - color: fade-out(#333, +.99); - // test old function name - color: transparentize(#f00, 0.3); - color: transparentize(#900, 0.8); - color: transparentize(#000, .6); - color: transparentize(#fff, .2); - color: transparentize(#999, .4); - color: transparentize(#000, .5); - color: transparentize(#333, +.99); -} -<===> output.css -p { - color: rgba(255, 0, 0, 0.7); - color: rgba(153, 0, 0, 0.2); - color: rgba(0, 0, 0, 0.4); - color: rgba(255, 255, 255, 0.8); - color: rgba(153, 153, 153, 0.6); - color: rgba(0, 0, 0, 0.5); - color: rgba(51, 51, 51, 0.01); - color: rgba(255, 0, 0, 0.7); - color: rgba(153, 0, 0, 0.2); - color: rgba(0, 0, 0, 0.4); - color: rgba(255, 255, 255, 0.8); - color: rgba(153, 153, 153, 0.6); - color: rgba(0, 0, 0, 0.5); - color: rgba(51, 51, 51, 0.01); -} diff --git a/spec/colors/saturate.hrx b/spec/colors/saturate.hrx deleted file mode 100644 index e5cd4049cc..0000000000 --- a/spec/colors/saturate.hrx +++ /dev/null @@ -1,18 +0,0 @@ -<===> input.scss -p { - color: saturate(#f00, 10%); - color: saturate(#900, 10%); - color: saturate(#000, 10%); - color: saturate(#fff, 10%); - color: saturate(#999, 10%); - color: saturate(#000, 10%); -} -<===> output.css -p { - color: red; - color: #990000; - color: black; - color: white; - color: #a38f8f; - color: black; -} diff --git a/spec/colors/saturation.hrx b/spec/colors/saturation.hrx deleted file mode 100644 index cd86f7ec26..0000000000 --- a/spec/colors/saturation.hrx +++ /dev/null @@ -1,31 +0,0 @@ -<===> input.scss -p { - test-01: saturation(red); - test-01: saturation(#333); - test-02: saturation(hsl(60, 30, 20)); - test-03: saturation(saturate(#f00, 10%)); - test-04: saturation(saturate(#900, 10%)); - // this is probably a ruby sass bug - // test-05: saturation(saturate(#000, 10%)); - // test-06: saturation(saturate(#fff, 10%)); - test-07: saturation(saturate(#999, 10%)); - test-08: saturation(desaturate(#fff, 10%)); - test-09: saturation(desaturate(#999, 10%)); - test-10: saturation(desaturate(#000, 10%)); - test-11: saturation(desaturate(#f00, 10%)); - test-12: saturation(desaturate(#900, 10%)); -} -<===> output.css -p { - test-01: 100%; - test-01: 0%; - test-02: 30%; - test-03: 100%; - test-04: 100%; - test-07: 10%; - test-08: 0%; - test-09: 0%; - test-10: 0%; - test-11: 90%; - test-12: 90%; -} diff --git a/spec/core_functions/color/adjust_hue.hrx b/spec/core_functions/color/adjust_hue.hrx new file mode 100644 index 0000000000..6517ee263f --- /dev/null +++ b/spec/core_functions/color/adjust_hue.hrx @@ -0,0 +1,169 @@ +<===> max/input.scss +a {b: adjust-hue(red, 359)} + +<===> max/output.css +a { + b: #ff0004; +} + +<===> +================================================================================ +<===> above_max/input.scss +a {b: adjust-hue(red, 540)} + +<===> above_max/output.css +a { + b: aqua; +} + +<===> above_max/output-libsass.css +a { + b: cyan; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: adjust-hue(blue, 0)} + +<===> min/output.css +a { + b: blue; +} + +<===> +================================================================================ +<===> negative/input.scss +a {b: adjust-hue(red, -180)} + +<===> negative/output.css +a { + b: aqua; +} + +<===> negative/output-libsass.css +a { + b: cyan; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: adjust-hue(red, 123)} + +<===> middle/output.css +a { + b: #00ff0d; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: adjust-hue(red, 0.5)} + +<===> fraction/output.css +a { + b: #ff0200; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: adjust-hue(rgba(red, 0.1), 359)} + +<===> alpha/output.css +a { + b: rgba(255, 0, 4, 0.1); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: adjust-hue($color: red, $degrees: 123)} + +<===> named/output.css +a { + b: #00ff0d; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: adjust-hue(red)} + +<===> error/too_few_args/error +Error: Missing argument $degrees. + , +1 | a {b: adjust-hue(red)} + | ^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function adjust-hue is missing argument $degrees. + on line 1 of input.scss +>> a {b: adjust-hue(red)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: adjust-hue(red, 1, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: adjust-hue(red, 1, 2)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `adjust-hue' + on line 1:7 of input.scss +>> a {b: adjust-hue(red, 1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: adjust-hue(1, 2)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: adjust-hue(1, 2)} + | ^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `adjust-hue($color, $degrees)` must be a color + on line 1:7 of input.scss, in function `adjust-hue` + from line 1:7 of input.scss +>> a {b: adjust-hue(1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/hue/input.scss +a {b: adjust-hue(red, blue)} + +<===> error/type/hue/error +Error: $degrees: blue is not a number. + , +1 | a {b: adjust-hue(red, blue)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/hue/error-libsass +Error: argument `$degrees` of `adjust-hue($color, $degrees)` must be a number + on line 1:7 of input.scss, in function `adjust-hue` + from line 1:7 of input.scss +>> a {b: adjust-hue(red, blue)} + + ------^ diff --git a/spec/core_functions/color/alpha.hrx b/spec/core_functions/color/alpha.hrx new file mode 100644 index 0000000000..2d9e5cfa3e --- /dev/null +++ b/spec/core_functions/color/alpha.hrx @@ -0,0 +1,224 @@ +<===> color/max/input.scss +a {b: alpha(red)} + +<===> color/max/output.css +a { + b: 1; +} + +<===> +================================================================================ +<===> color/min/input.scss +a {b: alpha(rgba(red, 0))} + +<===> color/min/output.css +a { + b: 0; +} + +<===> +================================================================================ +<===> color/middle/input.scss +a {b: alpha(rgba(red, 0.42))} + +<===> color/middle/output.css +a { + b: 0.42; +} + +<===> +================================================================================ +<===> color/named/input.scss +a {b: alpha($color: rgba(red, 0.73))} + +<===> color/named/output.css +a { + b: 0.73; +} + +<===> +================================================================================ +<===> filter/one_arg/input.scss +a {b: alpha(c=d)} + +<===> filter/one_arg/output.css +a { + b: alpha(c=d); +} + +<===> +================================================================================ +<===> filter/multi_args/options.yml +--- +:todo: +- sass/dart-sass#701 + +<===> filter/multi_args/input.scss +a {b: alpha(c=d, e=f, g=h)} + +<===> filter/multi_args/output.css +a { + b: alpha(c=d, e=f, g=h); +} + +<===> +================================================================================ +<===> filter/space_before_equals/input.scss +a {b: alpha(unquote("c = d"))} + +<===> filter/space_before_equals/output.css +a { + b: alpha(c = d); +} + +<===> +================================================================================ +<===> opacity/positional/input.scss +a {b: opacity(rgba(red, 0.2))} + +<===> opacity/positional/output.css +a { + b: 0.2; +} + +<===> +================================================================================ +<===> opacity/named/input.scss +a {b: opacity($color: rgba(red, 0.2))} + +<===> opacity/named/output.css +a { + b: 0.2; +} + +<===> +================================================================================ +<===> opacity/filter/input.scss +a {b: opacity(10%)} + +<===> opacity/filter/output.css +a { + b: opacity(10%); +} + +<===> +================================================================================ +<===> error/too_few_args/options.yml +--- +:todo: +- sass/dart-sass#700 + +<===> error/too_few_args/input.scss +a {b: alpha()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: alpha()} + | ^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function alpha is missing argument $color. + on line 1 of input.scss +>> a {b: alpha()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/options.yml +--- +:todo: +- sass/dart-sass#700 + +<===> error/too_many_args/input.scss +a {b: alpha(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: alpha(red, green)} + | ^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `alpha' + on line 1:7 of input.scss +>> a {b: alpha(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/options.yml +--- +:todo: +- sass/libsass#2898 + +<===> error/type/input.scss +a {b: alpha(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: alpha(1)} + | ^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> +================================================================================ +<===> error/quoted_string/options.yml +--- +:todo: +- sass/libsass#2898 + +<===> error/quoted_string/input.scss +a {b: alpha("c=d")} + +<===> error/quoted_string/error +Error: $color: "c=d" is not a color. + , +1 | a {b: alpha("c=d")} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> +================================================================================ +<===> error/unquoted_string/no_equals/options.yml +--- +:todo: +- sass/libsass#2898 + +<===> error/unquoted_string/no_equals/input.scss +a {b: alpha(cd)} + +<===> error/unquoted_string/no_equals/error +Error: $color: cd is not a color. + , +1 | a {b: alpha(cd)} + | ^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> +================================================================================ +<===> error/unquoted_string/non_identifier_before_equals/options.yml +--- +:todo: +- sass/libsass#2898 + +<===> error/unquoted_string/non_identifier_before_equals/input.scss +a {b: alpha(unquote("1=c"))} + +<===> error/unquoted_string/non_identifier_before_equals/error +Error: $color: 1=c is not a color. + , +1 | a {b: alpha(unquote("1=c"))} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet diff --git a/spec/core_functions/color/blue.hrx b/spec/core_functions/color/blue.hrx new file mode 100644 index 0000000000..e3a4cec199 --- /dev/null +++ b/spec/core_functions/color/blue.hrx @@ -0,0 +1,98 @@ +<===> max/input.scss +a {b: blue(rgb(0, 0, 255))} + +<===> max/output.css +a { + b: 255; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: blue(rgb(0, 0, 0))} + +<===> min/output.css +a { + b: 0; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: blue(rgb(0, 0, 123))} + +<===> middle/output.css +a { + b: 123; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: blue($color: rgb(0, 0, 234))} + +<===> named/output.css +a { + b: 234; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: blue()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: blue()} + | ^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function blue is missing argument $color. + on line 1 of input.scss +>> a {b: blue()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: blue(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: blue(red, green)} + | ^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `blue' + on line 1:7 of input.scss +>> a {b: blue(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: blue(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: blue(1)} + | ^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `blue($color)` must be a color + on line 1:7 of input.scss, in function `blue` + from line 1:7 of input.scss +>> a {b: blue(1)} + + ------^ diff --git a/spec/core_functions/color/complement.hrx b/spec/core_functions/color/complement.hrx new file mode 100644 index 0000000000..700e7e2f4b --- /dev/null +++ b/spec/core_functions/color/complement.hrx @@ -0,0 +1,138 @@ +<===> red/input.scss +a {b: complement(red)} + +<===> red/output.css +a { + b: aqua; +} + +<===> red/output-libsass.css +a { + b: cyan; +} + +<===> +================================================================================ +<===> turquoise/input.scss +a {b: complement(turquoise)} + +<===> turquoise/output.css +a { + b: #e04050; +} + +<===> +================================================================================ +<===> grayscale/gray/input.scss +a {b: complement(gray)} + +<===> grayscale/gray/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> grayscale/white/input.scss +a {b: complement(white)} + +<===> grayscale/white/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> grayscale/black/input.scss +a {b: complement(black)} + +<===> grayscale/black/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: complement(rgba(turquoise, 0.7))} + +<===> alpha/output.css +a { + b: rgba(224, 64, 80, 0.7); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: complement($color: red)} + +<===> named/output.css +a { + b: aqua; +} + +<===> named/output-libsass.css +a { + b: cyan; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: complement()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: complement()} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function complement is missing argument $color. + on line 1 of input.scss +>> a {b: complement()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: complement(red, 1)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: complement(red, 1)} + | ^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `complement' + on line 1:7 of input.scss +>> a {b: complement(red, 1)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: complement(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: complement(1)} + | ^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `complement($color)` must be a color + on line 1:7 of input.scss, in function `complement` + from line 1:7 of input.scss +>> a {b: complement(1)} + + ------^ diff --git a/spec/core_functions/color/darken.hrx b/spec/core_functions/color/darken.hrx new file mode 100644 index 0000000000..1518ac793e --- /dev/null +++ b/spec/core_functions/color/darken.hrx @@ -0,0 +1,191 @@ +<===> max/input.scss +a {b: darken(red, 100%)} + +<===> max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> max_remaining/input.scss +a {b: darken(red, 50%)} + +<===> max_remaining/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: darken(red, 0%)} + +<===> min/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: darken(red, 14%)} + +<===> middle/output.css +a { + b: #b80000; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: darken(red, 0.5%)} + +<===> fraction/output.css +a { + b: #fc0000; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: darken(rgba(red, 0.2), 100%)} + +<===> alpha/output.css +a { + b: rgba(0, 0, 0, 0.2); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: darken($color: red, $amount: 14%)} + +<===> named/output.css +a { + b: #b80000; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: darken(red)} + +<===> error/too_few_args/error +Error: Missing argument $amount. + , +1 | a {b: darken(red)} + | ^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function darken is missing argument $amount. + on line 1 of input.scss +>> a {b: darken(red)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: darken(red, 1%, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: darken(red, 1%, 2)} + | ^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `darken' + on line 1:7 of input.scss +>> a {b: darken(red, 1%, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: darken(1, 2)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: darken(1, 2)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `darken($color, $amount)` must be a color + on line 1:7 of input.scss, in function `darken` + from line 1:7 of input.scss +>> a {b: darken(1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/lightness/input.scss +a {b: darken(red, blue)} + +<===> error/type/lightness/error +Error: $amount: blue is not a number. + , +1 | a {b: darken(red, blue)} + | ^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/lightness/error-libsass +Error: argument `$amount` of `darken($color, $amount)` must be a number + on line 1:7 of input.scss, in function `darken` + from line 1:7 of input.scss +>> a {b: darken(red, blue)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: darken(red, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: darken(red, -0.001)} + | ^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$amount` of `darken($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `darken` + from line 1:7 of input.scss +>> a {b: darken(red, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: darken(red, 100.001)} + +<===> error/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: darken(red, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$amount` of `darken($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `darken` + from line 1:7 of input.scss +>> a {b: darken(red, 100.001)} + + ------^ diff --git a/spec/core_functions/color/desaturate.hrx b/spec/core_functions/color/desaturate.hrx new file mode 100644 index 0000000000..e350a6c651 --- /dev/null +++ b/spec/core_functions/color/desaturate.hrx @@ -0,0 +1,201 @@ +<===> max/input.scss +a {b: desaturate(plum, 100%)} + +<===> max/output.css +a { + b: #bfbfbf; +} + +<===> +================================================================================ +<===> max_remaining/input.scss +a {b: desaturate(plum, 48%)} + +<===> max_remaining/output.css +a { + b: #bfbfbf; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: desaturate(plum, 0%)} + +<===> min/output.css +a { + b: plum; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: desaturate(plum, 14%)} + +<===> middle/output.css +a { + b: #d4a9d4; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: desaturate(rgba(plum, 0.3), 100%)} + +<===> alpha/output.css +a { + b: rgba(191, 191, 191, 0.3); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: desaturate($color: plum, $amount: 14%)} + +<===> named/output.css +a { + b: #d4a9d4; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: desaturate(plum)} + +<===> error/too_few_args/error +Error: Missing argument $amount. + , +1 | a {b: desaturate(plum)} + | ^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function desaturate is missing argument $amount. + on line 1 of input.scss +>> a {b: desaturate(plum)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: desaturate(plum, 1%, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: desaturate(plum, 1%, 2)} + | ^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `desaturate' + on line 1:7 of input.scss +>> a {b: desaturate(plum, 1%, 2)} + + ------^ + +<===> +================================================================================ +<===> error/one_arg/type/input.scss +a {b: desaturate(red)} + +<===> error/one_arg/type/error +Error: Missing argument $amount. + , +1 | a {b: desaturate(red)} + | ^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/one_arg/type/error-libsass +Error: Function desaturate is missing argument $amount. + on line 1 of input.scss +>> a {b: desaturate(red)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: desaturate(1, 2)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: desaturate(1, 2)} + | ^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `desaturate($color, $amount)` must be a color + on line 1:7 of input.scss, in function `desaturate` + from line 1:7 of input.scss +>> a {b: desaturate(1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/lightness/input.scss +a {b: desaturate(plum, blue)} + +<===> error/type/lightness/error +Error: $amount: blue is not a number. + , +1 | a {b: desaturate(plum, blue)} + | ^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/lightness/error-libsass +Error: argument `$amount` of `desaturate($color, $amount)` must be a number + on line 1:7 of input.scss, in function `desaturate` + from line 1:7 of input.scss +>> a {b: desaturate(plum, blue)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: desaturate(plum, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: desaturate(plum, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$amount` of `desaturate($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `desaturate` + from line 1:7 of input.scss +>> a {b: desaturate(plum, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: desaturate(plum, 100.001)} + +<===> error/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: desaturate(plum, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$amount` of `desaturate($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `desaturate` + from line 1:7 of input.scss +>> a {b: desaturate(plum, 100.001)} + + ------^ diff --git a/spec/core_functions/color/fade_in.hrx b/spec/core_functions/color/fade_in.hrx new file mode 100644 index 0000000000..4fee7ab37a --- /dev/null +++ b/spec/core_functions/color/fade_in.hrx @@ -0,0 +1,181 @@ +<===> max/input.scss +a {b: fade-in(rgba(red, 0.5), 1)} + +<===> max/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> max_remaining/input.scss +a {b: fade-in(rgba(red, 0.5), 0.5)} + +<===> max_remaining/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: fade-in(rgba(red, 0.5), 0)} + +<===> min/output.css +a { + b: rgba(255, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: fade-in(rgba(red, 0.5), 0.14)} + +<===> middle/output.css +a { + b: rgba(255, 0, 0, 0.64); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: fade-in($color: rgba(red, 0.5), $amount: 0.14)} + +<===> named/output.css +a { + b: rgba(255, 0, 0, 0.64); +} + +<===> +================================================================================ +<===> opacify/input.scss +a {b: opacify($color: rgba(red, 0.5), $amount: 0.14)} + +<===> opacify/output.css +a { + b: rgba(255, 0, 0, 0.64); +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: fade-in(red)} + +<===> error/too_few_args/error +Error: Missing argument $amount. + , +1 | a {b: fade-in(red)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function fade-in is missing argument $amount. + on line 1 of input.scss +>> a {b: fade-in(red)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: fade-in(red, 0.1, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: fade-in(red, 0.1, 2)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `fade-in' + on line 1:7 of input.scss +>> a {b: fade-in(red, 0.1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: fade-in(1, 0.1)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: fade-in(1, 0.1)} + | ^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `fade-in($color, $amount)` must be a color + on line 1:7 of input.scss, in function `fade-in` + from line 1:7 of input.scss +>> a {b: fade-in(1, 0.1)} + + ------^ + +<===> +================================================================================ +<===> error/type/alpha/input.scss +a {b: fade-in(red, blue)} + +<===> error/type/alpha/error +Error: $amount: blue is not a number. + , +1 | a {b: fade-in(red, blue)} + | ^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/alpha/error-libsass +Error: argument `$amount` of `fade-in($color, $amount)` must be a number + on line 1:7 of input.scss, in function `fade-in` + from line 1:7 of input.scss +>> a {b: fade-in(red, blue)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: fade-in(red, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 1. + , +1 | a {b: fade-in(red, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$amount` of `fade-in($color, $amount)` must be between -0 and 1 + on line 1:7 of input.scss, in function `fade-in` + from line 1:7 of input.scss +>> a {b: fade-in(red, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: fade-in(red, 1.001)} + +<===> error/bounds/too_high/error +Error: Expected 1.001 to be within 0 and 1. + , +1 | a {b: fade-in(red, 1.001)} + | ^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$amount` of `fade-in($color, $amount)` must be between -0 and 1 + on line 1:7 of input.scss, in function `fade-in` + from line 1:7 of input.scss +>> a {b: fade-in(red, 1.001)} + + ------^ diff --git a/spec/core_functions/color/fade_out.hrx b/spec/core_functions/color/fade_out.hrx new file mode 100644 index 0000000000..32c3bd57ef --- /dev/null +++ b/spec/core_functions/color/fade_out.hrx @@ -0,0 +1,181 @@ +<===> max/input.scss +a {b: fade-out(rgba(red, 0.5), 1)} + +<===> max/output.css +a { + b: rgba(255, 0, 0, 0); +} + +<===> +================================================================================ +<===> max_remaining/input.scss +a {b: fade-out(rgba(red, 0.5), 0.5)} + +<===> max_remaining/output.css +a { + b: rgba(255, 0, 0, 0); +} + +<===> +================================================================================ +<===> min/input.scss +a {b: fade-out(rgba(red, 0.5), 0)} + +<===> min/output.css +a { + b: rgba(255, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: fade-out(rgba(red, 0.5), 0.14)} + +<===> middle/output.css +a { + b: rgba(255, 0, 0, 0.36); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: fade-out($color: rgba(red, 0.5), $amount: 0.14)} + +<===> named/output.css +a { + b: rgba(255, 0, 0, 0.36); +} + +<===> +================================================================================ +<===> transparentize/input.scss +a {b: transparentize($color: rgba(red, 0.5), $amount: 0.14)} + +<===> transparentize/output.css +a { + b: rgba(255, 0, 0, 0.36); +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: fade-out(red)} + +<===> error/too_few_args/error +Error: Missing argument $amount. + , +1 | a {b: fade-out(red)} + | ^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function fade-out is missing argument $amount. + on line 1 of input.scss +>> a {b: fade-out(red)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: fade-out(red, 0.1, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: fade-out(red, 0.1, 2)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `fade-out' + on line 1:7 of input.scss +>> a {b: fade-out(red, 0.1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: fade-out(1, 0.1)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: fade-out(1, 0.1)} + | ^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `fade-out($color, $amount)` must be a color + on line 1:7 of input.scss, in function `fade-out` + from line 1:7 of input.scss +>> a {b: fade-out(1, 0.1)} + + ------^ + +<===> +================================================================================ +<===> error/type/alpha/input.scss +a {b: fade-out(red, blue)} + +<===> error/type/alpha/error +Error: $amount: blue is not a number. + , +1 | a {b: fade-out(red, blue)} + | ^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/alpha/error-libsass +Error: argument `$amount` of `fade-out($color, $amount)` must be a number + on line 1:7 of input.scss, in function `fade-out` + from line 1:7 of input.scss +>> a {b: fade-out(red, blue)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: fade-out(red, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 1. + , +1 | a {b: fade-out(red, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$amount` of `fade-out($color, $amount)` must be between -0 and 1 + on line 1:7 of input.scss, in function `fade-out` + from line 1:7 of input.scss +>> a {b: fade-out(red, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: fade-out(red, 1.001)} + +<===> error/bounds/too_high/error +Error: Expected 1.001 to be within 0 and 1. + , +1 | a {b: fade-out(red, 1.001)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$amount` of `fade-out($color, $amount)` must be between -0 and 1 + on line 1:7 of input.scss, in function `fade-out` + from line 1:7 of input.scss +>> a {b: fade-out(red, 1.001)} + + ------^ diff --git a/spec/core_functions/color/grayscale.hrx b/spec/core_functions/color/grayscale.hrx new file mode 100644 index 0000000000..40b1cfa6dc --- /dev/null +++ b/spec/core_functions/color/grayscale.hrx @@ -0,0 +1,139 @@ +<===> no_saturation/white/input.scss +a {b: grayscale(white)} + +<===> no_saturation/white/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> no_saturation/black/input.scss +a {b: grayscale(black)} + +<===> no_saturation/black/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> no_saturation/gray/input.scss +a {b: grayscale(#494949)} + +<===> no_saturation/gray/output.css +a { + b: #494949; +} + +<===> +================================================================================ +<===> max_saturation/input.scss +a {b: grayscale(red)} + +<===> max_saturation/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> mid_saturation/input.scss +a {b: grayscale(#633736)} + +<===> mid_saturation/output.css +a { + b: #4d4d4d; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: grayscale(rgba(#633736, 0.3))} + +<===> alpha/output.css +a { + b: rgba(77, 77, 77, 0.3); +} + +<===> +================================================================================ +<===> number/input.scss +// A number should produce a plain function string, for CSS filter functions. +a {b: grayscale(15%)} + +<===> number/output.css +a { + b: grayscale(15%); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: grayscale($color: white)} + +<===> named/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: grayscale()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: grayscale()} + | ^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function grayscale is missing argument $color. + on line 1 of input.scss +>> a {b: grayscale()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: grayscale(red, 1)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: grayscale(red, 1)} + | ^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `grayscale' + on line 1:7 of input.scss +>> a {b: grayscale(red, 1)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: grayscale(c)} + +<===> error/type/error +Error: $color: c is not a color. + , +1 | a {b: grayscale(c)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `grayscale($color)` must be a color + on line 1:7 of input.scss, in function `grayscale` + from line 1:7 of input.scss +>> a {b: grayscale(c)} + + ------^ diff --git a/spec/core_functions/color/green.hrx b/spec/core_functions/color/green.hrx new file mode 100644 index 0000000000..85213268af --- /dev/null +++ b/spec/core_functions/color/green.hrx @@ -0,0 +1,98 @@ +<===> max/input.scss +a {b: green(rgb(0, 255, 0))} + +<===> max/output.css +a { + b: 255; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: green(rgb(0, 0, 0))} + +<===> min/output.css +a { + b: 0; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: green(rgb(0, 123, 0))} + +<===> middle/output.css +a { + b: 123; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: green($color: rgb(0, 234, 0))} + +<===> named/output.css +a { + b: 234; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: green()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: green()} + | ^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function green is missing argument $color. + on line 1 of input.scss +>> a {b: green()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: green(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: green(red, green)} + | ^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `green' + on line 1:7 of input.scss +>> a {b: green(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: green(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: green(1)} + | ^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `green($color)` must be a color + on line 1:7 of input.scss, in function `green` + from line 1:7 of input.scss +>> a {b: green(1)} + + ------^ diff --git a/spec/core_functions/color/hsl/basic/output-libsass.css b/spec/core_functions/color/hsl/basic/output-libsass.css deleted file mode 100644 index d95475d953..0000000000 --- a/spec/core_functions/color/hsl/basic/output-libsass.css +++ /dev/null @@ -1,220 +0,0 @@ -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} - -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} - -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} - -hue cyan { - hue-180: cyan; - hue--180: cyan; - hue-540: cyan; - hue--900: cyan; -} - -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} - -hue purple { - hue-300: magenta; - hue--60: magenta; - hue-660: magenta; - hue-2820: magenta; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: cyan; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: magenta; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} - -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} - -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} - -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: cyan; -} - -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} - -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: magenta; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} - -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} - -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} - -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: cyan; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} - -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} - -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: magenta; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsl/basic/output-ruby-sass.css b/spec/core_functions/color/hsl/basic/output-ruby-sass.css deleted file mode 100644 index 8f121440cd..0000000000 --- a/spec/core_functions/color/hsl/basic/output-ruby-sass.css +++ /dev/null @@ -1,205 +0,0 @@ -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} -hue cyan { - hue-180: cyan; - hue--180: cyan; - hue-540: cyan; - hue--900: cyan; -} -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} -hue purple { - hue-300: magenta; - hue--60: magenta; - hue-660: magenta; - hue-2820: magenta; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: cyan; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: magenta; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: cyan; -} -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: magenta; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: cyan; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: magenta; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsl/error/four_args.hrx b/spec/core_functions/color/hsl/error/four_args.hrx index 03aeb7c794..831d57edd8 100644 --- a/spec/core_functions/color/hsl/error/four_args.hrx +++ b/spec/core_functions/color/hsl/error/four_args.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/hsl/error/one_arg.hrx b/spec/core_functions/color/hsl/error/one_arg.hrx index 031ed22d03..92d41979f5 100644 --- a/spec/core_functions/color/hsl/error/one_arg.hrx +++ b/spec/core_functions/color/hsl/error/one_arg.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/hsl/error/two_args.hrx b/spec/core_functions/color/hsl/error/two_args.hrx index 09446ee4ac..67697c1b83 100644 --- a/spec/core_functions/color/hsl/error/two_args.hrx +++ b/spec/core_functions/color/hsl/error/two_args.hrx @@ -1,49 +1,17 @@ -<===> options.yml ---- -:todo: -- libsass # sass/libsass#2722 +<===> input.scss +a {b: hsl(#123, 0.5)} -<===> -================================================================================ -<===> color/type/input.scss -color-type { - x: hsl("foo", 0.5); -} - -<===> color/type/error +<===> error Error: Missing argument $lightness. , -2 | x: hsl("foo", 0.5); - | ^^^^^^^^^^^^^^^ +1 | a {b: hsl(#123, 0.5)} + | ^^^^^^^^^^^^^^ ' - input.scss 2:6 root stylesheet - -<===> -================================================================================ -<===> alpha/type/input.scss -alpha-type { - x: hsl(#123, "foo"); -} + input.scss 1:7 root stylesheet -<===> alpha/type/error -Error: Missing argument $lightness. - , -2 | x: hsl(#123, "foo"); - | ^^^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet +<===> error-libsass +Error: Function hsl is missing argument $lightness. + on line 1 of input.scss +>> a {b: hsl(#123, 0.5)} -<===> -================================================================================ -<===> alpha/unit/input.scss -.alpha-unit { - a: hsl(#123, 0.5px); -} - -<===> alpha/unit/error -Error: Missing argument $lightness. - , -2 | a: hsl(#123, 0.5px); - | ^^^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet + ------^ diff --git a/spec/core_functions/color/hsl/four_args/alpha.hrx b/spec/core_functions/color/hsl/four_args/alpha.hrx new file mode 100644 index 0000000000..6e0db589cd --- /dev/null +++ b/spec/core_functions/color/hsl/four_args/alpha.hrx @@ -0,0 +1,97 @@ +<===> percent/negative/input.scss +a {b: hsl(0, 0, 0, -10%)} + +<===> percent/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/min/input.scss +a {b: hsl(0, 0, 0, 0%)} + +<===> percent/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/positive/input.scss +a {b: hsl(0, 0, 0, 45.6%)} + +<===> percent/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> percent/max/input.scss +a {b: hsl(0, 0, 0, 100%)} + +<===> percent/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> percent/above_max/input.scss +a {b: hsl(0, 0, 0, 250%)} + +<===> percent/above_max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/negative/input.scss +a {b: hsl(0, 0, 0, -10)} + +<===> unitless/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/min/input.scss +a {b: hsl(0, 0, 0, 0)} + +<===> unitless/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/positive/input.scss +a {b: hsl(0, 0, 0, 0.456)} + +<===> unitless/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> unitless/max/input.scss +a {b: hsl(0, 0, 0, 1)} + +<===> unitless/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/above_max/input.scss +a {b: hsl(0, 0, 0, 250)} + +<===> unitless/above_max/output.css +a { + b: black; +} diff --git a/spec/core_functions/color/hsl/four_args/alpha_percent.hrx b/spec/core_functions/color/hsl/four_args/alpha_percent.hrx deleted file mode 100644 index 53a66831fa..0000000000 --- a/spec/core_functions/color/hsl/four_args/alpha_percent.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-percent { - negative: hsl(0, 0, 0, -10%); - min: hsl(0, 0, 0, 0%); - positive: hsl(0, 0, 0, 45.6%); - max: hsl(0, 0, 0, 100%); - above-max: hsl(0, 0, 0, 250%); -} - -<===> output.css -.alpha-percent { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/hsl/four_args/alpha_unitless.hrx b/spec/core_functions/color/hsl/four_args/alpha_unitless.hrx deleted file mode 100644 index 4697a387fe..0000000000 --- a/spec/core_functions/color/hsl/four_args/alpha_unitless.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-unitless { - negative: hsl(0, 0, 0, -10); - min: hsl(0, 0, 0, 0); - positive: hsl(0, 0, 0, 0.456); - max: hsl(0, 0, 0, 1); - above-max: hsl(0, 0, 0, 250); -} - -<===> output.css -.alpha-unitless { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/hsl/four_args/basic.hrx b/spec/core_functions/color/hsl/four_args/basic.hrx deleted file mode 100644 index 6954b4d7be..0000000000 --- a/spec/core_functions/color/hsl/four_args/basic.hrx +++ /dev/null @@ -1,30 +0,0 @@ -<===> input.scss -basic { - transparent: hsl(180, 60%, 50%, 0); - opaque: hsl(180, 60%, 50%, 1); - partial: hsl(180, 60%, 50%, 0.5); - named: hsl($hue: 180, $saturation: 60%, $lightness: 50%, $alpha: 0.4); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - saturation: hsl(0, -0.1%, 50%, 0.5); - blue: hsl(0, 100%, 9999%, 0.5); - alpha-above: hsl(0, 100%, 50%, 1.1); - alpha-below: rgba(0, 100%, 50%, -0.1); -} - -<===> output.css -basic { - transparent: rgba(51, 204, 204, 0); - opaque: #33cccc; - partial: rgba(51, 204, 204, 0.5); - named: rgba(51, 204, 204, 0.4); -} - -clamped { - saturation: rgba(128, 128, 128, 0.5); - blue: rgba(255, 255, 255, 0.5); - alpha-above: red; - alpha-below: rgba(0, 255, 128, 0); -} diff --git a/spec/core_functions/color/hsl/four_args/clamped.hrx b/spec/core_functions/color/hsl/four_args/clamped.hrx new file mode 100644 index 0000000000..81ce759ab0 --- /dev/null +++ b/spec/core_functions/color/hsl/four_args/clamped.hrx @@ -0,0 +1,43 @@ +<===> README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> saturation/input.scss +a {b: hsl(0, -0.1%, 50%, 0.5)} + +<===> saturation/output.css +a { + b: rgba(128, 128, 128, 0.5); +} + +<===> +================================================================================ +<===> blue/input.scss +a {b: hsl(0, 100%, 9999%, 0.5)} + +<===> blue/output.css +a { + b: rgba(255, 255, 255, 0.5); +} + +<===> +================================================================================ +<===> alpha/above/input.scss +a {b: hsl(0, 100%, 50%, 1.1)} + +<===> alpha/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> alpha/below/input.scss +a {b: rgba(0, 100%, 50%, -0.1)} + +<===> alpha/below/output.css +a { + b: rgba(0, 255, 128, 0); +} + diff --git a/spec/core_functions/color/hsl/four_args/in_gamut.hrx b/spec/core_functions/color/hsl/four_args/in_gamut.hrx new file mode 100644 index 0000000000..f5f4e86585 --- /dev/null +++ b/spec/core_functions/color/hsl/four_args/in_gamut.hrx @@ -0,0 +1,37 @@ +<===> transparent/input.scss +a {b: hsl(180, 60%, 50%, 0)} + +<===> transparent/output.css +a { + b: rgba(51, 204, 204, 0); +} + +<===> +================================================================================ +<===> opaque/input.scss +a {b: hsl(180, 60%, 50%, 1)} + +<===> opaque/output.css +a { + b: #33cccc; +} + +<===> +================================================================================ +<===> partial/input.scss +a {b: hsl(180, 60%, 50%, 0.5)} + +<===> partial/output.css +a { + b: rgba(51, 204, 204, 0.5); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: hsl($hue: 180, $saturation: 60%, $lightness: 50%, $alpha: 0.4)} + +<===> named/output.css +a { + b: rgba(51, 204, 204, 0.4); +} diff --git a/spec/core_functions/color/hsl/four_args/options.yml b/spec/core_functions/color/hsl/four_args/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/hsl/four_args/options.yml +++ b/spec/core_functions/color/hsl/four_args/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/hsl/four_args/special_functions.hrx b/spec/core_functions/color/hsl/four_args/special_functions.hrx index 4f7986a217..581e735d0d 100644 --- a/spec/core_functions/color/hsl/four_args/special_functions.hrx +++ b/spec/core_functions/color/hsl/four_args/special_functions.hrx @@ -1,57 +1,206 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 :ignore_for: -<===> input.scss -a { - calc-1: hsl(calc(1), 2%, 3%, 0.4); - calc-2: hsl(1, calc(2%), 3%, 0.4); - calc-3: hsl(1, 2%, calc(3%), 0.4); - calc-4: hsl(1, 2%, 3%, calc(0.4)); - - var-1: hsl(var(--foo), 2%, 3%, 0.4); - var-2: hsl(1, var(--foo), 3%, 0.4); - var-3: hsl(1, 2%, var(--foo), 0.4); - var-4: hsl(1, 2%, 3%, var(--foo)); - - env-1: hsl(env(--foo), 2%, 3%, 0.4); - env-2: hsl(1, env(--foo), 3%, 0.4); - env-3: hsl(1, 2%, env(--foo), 0.4); - env-4: hsl(1, 2%, 3%, env(--foo)); - - min-1: hsl(min(1), 2%, 3%, 0.4); - min-2: hsl(1, min(2%), 3%, 0.4); - min-3: hsl(1, 2%, min(3%), 0.4); - min-4: hsl(1, 2%, 3%, min(0.4)); - - max-1: hsl(max(1), 2%, 3%, 0.4); - max-2: hsl(1, max(2%), 3%, 0.4); - max-3: hsl(1, 2%, max(3%), 0.4); - max-4: hsl(1, 2%, 3%, max(0.4)); -} - -<===> output.css -a { - calc-1: hsl(calc(1), 2%, 3%, 0.4); - calc-2: hsl(1, calc(2%), 3%, 0.4); - calc-3: hsl(1, 2%, calc(3%), 0.4); - calc-4: hsl(1, 2%, 3%, calc(0.4)); - var-1: hsl(var(--foo), 2%, 3%, 0.4); - var-2: hsl(1, var(--foo), 3%, 0.4); - var-3: hsl(1, 2%, var(--foo), 0.4); - var-4: hsl(1, 2%, 3%, var(--foo)); - env-1: hsl(env(--foo), 2%, 3%, 0.4); - env-2: hsl(1, env(--foo), 3%, 0.4); - env-3: hsl(1, 2%, env(--foo), 0.4); - env-4: hsl(1, 2%, 3%, env(--foo)); - min-1: hsl(min(1), 2%, 3%, 0.4); - min-2: hsl(1, min(2%), 3%, 0.4); - min-3: hsl(1, 2%, min(3%), 0.4); - min-4: hsl(1, 2%, 3%, min(0.4)); - max-1: hsl(max(1), 2%, 3%, 0.4); - max-2: hsl(1, max(2%), 3%, 0.4); - max-3: hsl(1, 2%, max(3%), 0.4); - max-4: hsl(1, 2%, 3%, max(0.4)); +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: hsl(calc(1), 2%, 3%, 0.4)} + +<===> calc/arg_1/output.css +a { + b: hsl(calc(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: hsl(1, calc(2%), 3%, 0.4)} + +<===> calc/arg_2/output.css +a { + b: hsl(1, calc(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: hsl(1, 2%, calc(3%), 0.4)} + +<===> calc/arg_3/output.css +a { + b: hsl(1, 2%, calc(3%), 0.4); +} + +<===> +================================================================================ +<===> calc/arg_4/input.scss +a {b: hsl(1, 2%, 3%, calc(0.4))} + +<===> calc/arg_4/output.css +a { + b: hsl(1, 2%, 3%, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: hsl(var(--foo), 2%, 3%, 0.4)} + +<===> var/arg_1/output.css +a { + b: hsl(var(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: hsl(1, var(--foo), 3%, 0.4)} + +<===> var/arg_2/output.css +a { + b: hsl(1, var(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: hsl(1, 2%, var(--foo), 0.4)} + +<===> var/arg_3/output.css +a { + b: hsl(1, 2%, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_4/input.scss +a {b: hsl(1, 2%, 3%, var(--foo))} + +<===> var/arg_4/output.css +a { + b: hsl(1, 2%, 3%, var(--foo)); } + +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: hsl(env(--foo), 2%, 3%, 0.4)} + +<===> env/arg_1/output.css +a { + b: hsl(env(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: hsl(1, env(--foo), 3%, 0.4)} + +<===> env/arg_2/output.css +a { + b: hsl(1, env(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: hsl(1, 2%, env(--foo), 0.4)} + +<===> env/arg_3/output.css +a { + b: hsl(1, 2%, env(--foo), 0.4); +} + +<===> +================================================================================ +<===> env/arg_4/input.scss +a {b: hsl(1, 2%, 3%, env(--foo))} + +<===> env/arg_4/output.css +a { + b: hsl(1, 2%, 3%, env(--foo)); +} + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: hsl(min(1), 2%, 3%, 0.4)} + +<===> min/arg_1/output.css +a { + b: hsl(min(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: hsl(1, min(2%), 3%, 0.4)} + +<===> min/arg_2/output.css +a { + b: hsl(1, min(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: hsl(1, 2%, min(3%), 0.4)} + +<===> min/arg_3/output.css +a { + b: hsl(1, 2%, min(3%), 0.4); +} + +<===> +================================================================================ +<===> min/arg_4/input.scss +a {b: hsl(1, 2%, 3%, min(0.4))} + +<===> min/arg_4/output.css +a { + b: hsl(1, 2%, 3%, min(0.4)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: hsl(max(1), 2%, 3%, 0.4)} + +<===> max/arg_1/output.css +a { + b: hsl(max(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: hsl(1, max(2%), 3%, 0.4)} + +<===> max/arg_2/output.css +a { + b: hsl(1, max(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: hsl(1, 2%, max(3%), 0.4)} + +<===> max/arg_3/output.css +a { + b: hsl(1, 2%, max(3%), 0.4); +} + +<===> +================================================================================ +<===> max/arg_4/input.scss +a {b: hsl(1, 2%, 3%, max(0.4))} + +<===> max/arg_4/output.css +a { + b: hsl(1, 2%, 3%, max(0.4)); +} + diff --git a/spec/core_functions/color/hsl/multi_argument_var.hrx b/spec/core_functions/color/hsl/multi_argument_var.hrx index 06d7d74e8b..794c084f05 100644 --- a/spec/core_functions/color/hsl/multi_argument_var.hrx +++ b/spec/core_functions/color/hsl/multi_argument_var.hrx @@ -3,23 +3,63 @@ :todo: - libsass -<===> input.scss +<===> +================================================================================ +<===> 1_of_3/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsl(var(--foo), 3%, 0.4)} + +<===> 1_of_3/output.css a { - // var() is substituted before parsing, so it may contain multiple arguments. b: hsl(var(--foo), 3%, 0.4); - b: hsl(1, var(--foo), 0.4); - b: hsl(1, 2%, var(--foo)); - b: hsl(var(--foo), 0.4); - b: hsl(1, var(--foo)); - b: hsl(var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> 2_of_3/input.scss +a {b: hsl(1, var(--foo), 0.4)} + +<===> 2_of_3/output.css a { - b: hsl(var(--foo), 3%, 0.4); b: hsl(1, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 3_of_3/input.scss +a {b: hsl(1, 2%, var(--foo))} + +<===> 3_of_3/output.css +a { b: hsl(1, 2%, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_2/input.scss +a {b: hsl(var(--foo), 0.4)} + +<===> 1_of_2/output.css +a { b: hsl(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 2_of_2/input.scss +a {b: hsl(1, var(--foo))} + +<===> 2_of_2/output.css +a { b: hsl(1, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_1/input.scss +a {b: hsl(var(--foo))} + +<===> 1_of_1/output.css +a { b: hsl(var(--foo)); } diff --git a/spec/core_functions/color/hsl/one_arg/alpha.hrx b/spec/core_functions/color/hsl/one_arg/alpha.hrx index 9a77b93fa6..f477e41eea 100644 --- a/spec/core_functions/color/hsl/one_arg/alpha.hrx +++ b/spec/core_functions/color/hsl/one_arg/alpha.hrx @@ -1,33 +1,89 @@ -<===> input.scss -basic { - transparent: hsl(180 60% 50% / 0); - opaque: hsl(180 60% 50% / 1); - partial: hsl(180 60% 50% / 0.5); - named: hsl($channels: 180 60% 50% / 0.4); +<===> in_gamut/transparent/input.scss +a {b: hsl(180 60% 50% / 0)} - // Extra parens shouldn't cause the slash to be forced into division. - parenthesized: (hsl(180 60% 50% / 0.4)); +<===> in_gamut/transparent/output.css +a { + b: rgba(51, 204, 204, 0); } -clamped { - saturation: hsl(0 -0.1% 50% / 0.5); - lightness: hsl(0 100% 9999% / 0.5); - alpha-above: hsl(0 100% 50% / 1.1); - alpha-below: hsl(0 100% 50% / -0.1); +<===> +================================================================================ +<===> in_gamut/opaque/input.scss +a {b: hsl(180 60% 50% / 1)} + +<===> in_gamut/opaque/output.css +a { + b: #33cccc; +} + +<===> +================================================================================ +<===> in_gamut/partial/input.scss +a {b: hsl(180 60% 50% / 0.5)} + +<===> in_gamut/partial/output.css +a { + b: rgba(51, 204, 204, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/named/input.scss +a {b: hsl($channels: 180 60% 50% / 0.4)} + +<===> in_gamut/named/output.css +a { + b: rgba(51, 204, 204, 0.4); } -<===> output.css -basic { - transparent: rgba(51, 204, 204, 0); - opaque: #33cccc; - partial: rgba(51, 204, 204, 0.5); - named: rgba(51, 204, 204, 0.4); - parenthesized: rgba(51, 204, 204, 0.4); +<===> +================================================================================ +<===> in_gamut/parenthesized/input.scss +// Extra parens shouldn't cause the slash to be forced into division. +a {b: (hsl(180 60% 50% / 0.4))} + +<===> in_gamut/parenthesized/output.css +a { + b: rgba(51, 204, 204, 0.4); } -clamped { - saturation: rgba(128, 128, 128, 0.5); - lightness: rgba(255, 255, 255, 0.5); - alpha-above: red; - alpha-below: rgba(255, 0, 0, 0); +<===> +================================================================================ +<===> clamped/saturation/input.scss +a {b: hsl(0 -0.1% 50% / 0.5)} + +<===> clamped/saturation/output.css +a { + b: rgba(128, 128, 128, 0.5); } + +<===> +================================================================================ +<===> clamped/lightness/input.scss +a {b: hsl(0 100% 9999% / 0.5)} + +<===> clamped/lightness/output.css +a { + b: rgba(255, 255, 255, 0.5); +} + +<===> +================================================================================ +<===> clamped/alpha/above/input.scss +a {b: hsl(0 100% 50% / 1.1)} + +<===> clamped/alpha/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/alpha/below/input.scss +a {b: hsl(0 100% 50% / -0.1)} + +<===> clamped/alpha/below/output.css +a { + b: rgba(255, 0, 0, 0); +} + diff --git a/spec/core_functions/color/hsl/one_arg/basic.hrx b/spec/core_functions/color/hsl/one_arg/basic.hrx deleted file mode 100644 index 8397aecf78..0000000000 --- a/spec/core_functions/color/hsl/one_arg/basic.hrx +++ /dev/null @@ -1,48 +0,0 @@ -<===> input.scss -basic { - red: hsl(0 100% 50%); - blue: hsl(240 100% 50%); - grayish-yellow: hsl(60 60% 50%); -} - -clamped { - saturation-above: hsl(0 500% 50%); - saturation-below: hsl(0 -100% 50%); - lightness-above: hsl(0 100% 500%); - lightness-below: hsl(0 100% -100%); -} - -units { - hue-deg: hsl(0deg 100% 50%); - saturation-unitless: hsl(0 50 50%); - lightness-unitless: hsl(0 100% 50); -} - -named { - x: hsl($channels: 0 100% 50%); -} - -<===> output.css -basic { - red: red; - blue: blue; - grayish-yellow: #cccc33; -} - - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsl/one_arg/no_alpha.hrx b/spec/core_functions/color/hsl/one_arg/no_alpha.hrx new file mode 100644 index 0000000000..2eb1d44c65 --- /dev/null +++ b/spec/core_functions/color/hsl/one_arg/no_alpha.hrx @@ -0,0 +1,108 @@ +<===> in_gamut/red/input.scss +a {b: hsl(0 100% 50%)} + +<===> in_gamut/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> in_gamut/blue/input.scss +a {b: hsl(240 100% 50%)} + +<===> in_gamut/blue/output.css +a { + b: blue; +} + +<===> +================================================================================ +<===> in_gamut/grayish/yellow/input.scss +a {b: hsl(60 60% 50%)} + +<===> in_gamut/grayish/yellow/output.css +a { + b: #cccc33; +} + +<===> +================================================================================ +<===> clamped/saturation/above/input.scss +a {b: hsl(0 500% 50%)} + +<===> clamped/saturation/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/saturation/below/input.scss +a {b: hsl(0 -100% 50%)} + +<===> clamped/saturation/below/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> clamped/lightness/above/input.scss +a {b: hsl(0 100% 500%)} + +<===> clamped/lightness/above/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> clamped/lightness/below/input.scss +a {b: hsl(0 100% -100%)} + +<===> clamped/lightness/below/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> units/hue/deg/input.scss +a {b: hsl(0deg 100% 50%)} + +<===> units/hue/deg/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> units/saturation/unitless/input.scss +a {b: hsl(0 50 50%)} + +<===> units/saturation/unitless/output.css +a { + b: #bf4040; +} + +<===> +================================================================================ +<===> units/lightness/unitless/input.scss +a {b: hsl(0 100% 50)} + +<===> units/lightness/unitless/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: hsl($channels: 0 100% 50%)} + +<===> named/output.css +a { + b: red; +} + diff --git a/spec/core_functions/color/hsl/one_arg/options.yml b/spec/core_functions/color/hsl/one_arg/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/hsl/one_arg/options.yml +++ b/spec/core_functions/color/hsl/one_arg/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/hsl/one_arg/special_functions.hrx b/spec/core_functions/color/hsl/one_arg/special_functions.hrx index 5d26754578..c7925ad95b 100644 --- a/spec/core_functions/color/hsl/one_arg/special_functions.hrx +++ b/spec/core_functions/color/hsl/one_arg/special_functions.hrx @@ -1,113 +1,417 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 :ignore_for: -<===> input.scss -no-alpha { - calc-1: hsl(calc(1) 2% 3%); - calc-2: hsl(1 calc(2%) 3%); - calc-3: hsl(1 2% calc(3%)); - - var-1: hsl(var(--foo) 2% 3%); - var-2: hsl(1 var(--foo) 3%); - var-3: hsl(1 2% var(--foo)); - - env-1: hsl(env(--foo) 2% 3%); - env-2: hsl(1 env(--foo) 3%); - env-3: hsl(1 2% env(--foo)); - - min-1: hsl(min(1) 2% 3%); - min-2: hsl(1 min(2%) 3%); - min-3: hsl(1 2% min(3%)); - - max-1: hsl(max(1) 2% 3%); - max-2: hsl(1 max(2%) 3%); - max-3: hsl(1 2% max(3%)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: hsl(var(--foo) 50%); - multi-argument-var-2-of-2: hsl(0 var(--foo)); - multi-argument-var-1-of-1: hsl(var(--foo)); -} - -alpha { - calc-1: hsl(calc(1) 2% 3% / 0.4); - calc-2: hsl(1 calc(2%) 3% / 0.4); - calc-3: hsl(1 2% calc(3%) / 0.4); - calc-4: hsl(1 2% 3% / calc(0.4)); - - var-1: hsl(var(--foo) 2% 3% / 0.4); - var-2: hsl(1 var(--foo) 3% / 0.4); - var-3: hsl(1 2% var(--foo) / 0.4); - var-4: hsl(1 2% 3% / var(--foo)); - - env-1: hsl(env(--foo) 2% 3% / 0.4); - env-2: hsl(1 env(--foo) 3% / 0.4); - env-3: hsl(1 2% env(--foo) / 0.4); - env-4: hsl(1 2% 3% / env(--foo)); - - min-1: hsl(min(1) 2% 3% / 0.4); - min-2: hsl(1 min(2%) 3% / 0.4); - min-3: hsl(1 2% min(3%) / 0.4); - min-4: hsl(1 2% 3% / min(0.4)); - - max-1: hsl(max(1) 2% 3% / 0.4); - max-2: hsl(1 max(2%) 3% / 0.4); - max-3: hsl(1 2% max(3%) / 0.4); - max-4: hsl(1 2% 3% / max(0.4)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: hsl(var(--foo) 50% / 0.4); - multi-argument-var-2-of-2: hsl(0 var(--foo) / 0.4); - multi-argument-var-1-of-1: hsl(var(--foo) / 0.4); -} - -<===> output.css -no-alpha { - calc-1: hsl(calc(1), 2%, 3%); - calc-2: hsl(1, calc(2%), 3%); - calc-3: hsl(1, 2%, calc(3%)); - var-1: hsl(var(--foo), 2%, 3%); - var-2: hsl(1, var(--foo), 3%); - var-3: hsl(1, 2%, var(--foo)); - env-1: hsl(env(--foo), 2%, 3%); - env-2: hsl(1, env(--foo), 3%); - env-3: hsl(1, 2%, env(--foo)); - min-1: hsl(min(1), 2%, 3%); - min-2: hsl(1, min(2%), 3%); - min-3: hsl(1, 2%, min(3%)); - max-1: hsl(max(1), 2%, 3%); - max-2: hsl(1, max(2%), 3%); - max-3: hsl(1, 2%, max(3%)); - multi-argument-var-1-of-2: hsl(var(--foo) 50%); - multi-argument-var-2-of-2: hsl(0 var(--foo)); - multi-argument-var-1-of-1: hsl(var(--foo)); -} - -alpha { - calc-1: hsl(calc(1), 2%, 3%, 0.4); - calc-2: hsl(1, calc(2%), 3%, 0.4); - calc-3: hsl(1 2% calc(3%)/0.4); - calc-4: hsl(1 2% 3%/calc(0.4)); - var-1: hsl(var(--foo), 2%, 3%, 0.4); - var-2: hsl(1, var(--foo), 3%, 0.4); - var-3: hsl(1 2% var(--foo)/0.4); - var-4: hsl(1 2% 3%/var(--foo)); - env-1: hsl(env(--foo), 2%, 3%, 0.4); - env-2: hsl(1, env(--foo), 3%, 0.4); - env-3: hsl(1 2% env(--foo)/0.4); - env-4: hsl(1 2% 3%/env(--foo)); - min-1: hsl(min(1), 2%, 3%, 0.4); - min-2: hsl(1, min(2%), 3%, 0.4); - min-3: hsl(1 2% min(3%)/0.4); - min-4: hsl(1 2% 3%/min(0.4)); - max-1: hsl(max(1), 2%, 3%, 0.4); - max-2: hsl(1, max(2%), 3%, 0.4); - max-3: hsl(1 2% max(3%)/0.4); - max-4: hsl(1 2% 3%/max(0.4)); - multi-argument-var-1-of-2: hsl(var(--foo) 50%/0.4); - multi-argument-var-2-of-2: hsl(0 var(--foo)/0.4); - multi-argument-var-1-of-1: hsl(var(--foo)/0.4); +<===> +================================================================================ +<===> no_alpha/calc/arg_1/input.scss +a {b: hsl(calc(1) 2% 3%)} + +<===> no_alpha/calc/arg_1/output.css +a { + b: hsl(calc(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_2/input.scss +a {b: hsl(1 calc(2%) 3%)} + +<===> no_alpha/calc/arg_2/output.css +a { + b: hsl(1, calc(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_3/input.scss +a {b: hsl(1 2% calc(3%))} + +<===> no_alpha/calc/arg_3/output.css +a { + b: hsl(1, 2%, calc(3%)); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_1/input.scss +a {b: hsl(var(--foo) 2% 3%)} + +<===> no_alpha/var/arg_1/output.css +a { + b: hsl(var(--foo), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_2/input.scss +a {b: hsl(1 var(--foo) 3%)} + +<===> no_alpha/var/arg_2/output.css +a { + b: hsl(1, var(--foo), 3%); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_3/input.scss +a {b: hsl(1 2% var(--foo))} + +<===> no_alpha/var/arg_3/output.css +a { + b: hsl(1, 2%, var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_1/input.scss +a {b: hsl(env(--foo) 2% 3%)} + +<===> no_alpha/env/arg_1/output.css +a { + b: hsl(env(--foo), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_2/input.scss +a {b: hsl(1 env(--foo) 3%)} + +<===> no_alpha/env/arg_2/output.css +a { + b: hsl(1, env(--foo), 3%); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_3/input.scss +a {b: hsl(1 2% env(--foo))} + +<===> no_alpha/env/arg_3/output.css +a { + b: hsl(1, 2%, env(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_1/input.scss +a {b: hsl(min(1) 2% 3%)} + +<===> no_alpha/min/arg_1/output.css +a { + b: hsl(min(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_2/input.scss +a {b: hsl(1 min(2%) 3%)} + +<===> no_alpha/min/arg_2/output.css +a { + b: hsl(1, min(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_3/input.scss +a {b: hsl(1 2% min(3%))} + +<===> no_alpha/min/arg_3/output.css +a { + b: hsl(1, 2%, min(3%)); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_1/input.scss +a {b: hsl(max(1) 2% 3%)} + +<===> no_alpha/max/arg_1/output.css +a { + b: hsl(max(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_2/input.scss +a {b: hsl(1 max(2%) 3%)} + +<===> no_alpha/max/arg_2/output.css +a { + b: hsl(1, max(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_3/input.scss +a {b: hsl(1 2% max(3%))} + +<===> no_alpha/max/arg_3/output.css +a { + b: hsl(1, 2%, max(3%)); +} + +<===> +================================================================================ +<===> no_alpha/multi/argument/var/arg_1/of/arg_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsl(var(--foo) 50%)} + +<===> no_alpha/multi/argument/var/arg_1/of/arg_2/output.css +a { + b: hsl(var(--foo) 50%); +} + +<===> +================================================================================ +<===> no_alpha/multi/argument/var/arg_2/of/arg_2/input.scss +a {b: hsl(0 var(--foo))} + +<===> no_alpha/multi/argument/var/arg_2/of/arg_2/output.css +a { + b: hsl(0 var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/multi/argument/var/arg_1/of/arg_1/input.scss +a {b: hsl(var(--foo))} + +<===> no_alpha/multi/argument/var/arg_1/of/arg_1/output.css +a { + b: hsl(var(--foo)); +} + +<===> +================================================================================ +<===> alpha/calc/arg_1/input.scss +a {b: hsl(calc(1) 2% 3% / 0.4)} + +<===> alpha/calc/arg_1/output.css +a { + b: hsl(calc(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_2/input.scss +a {b: hsl(1 calc(2%) 3% / 0.4)} + +<===> alpha/calc/arg_2/output.css +a { + b: hsl(1, calc(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_3/input.scss +a {b: hsl(1 2% calc(3%) / 0.4)} + +<===> alpha/calc/arg_3/output.css +a { + b: hsl(1 2% calc(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_4/input.scss +a {b: hsl(1 2% 3% / calc(0.4))} + +<===> alpha/calc/arg_4/output.css +a { + b: hsl(1 2% 3%/calc(0.4)); +} + +<===> +================================================================================ +<===> alpha/var/arg_1/input.scss +a {b: hsl(var(--foo) 2% 3% / 0.4)} + +<===> alpha/var/arg_1/output.css +a { + b: hsl(var(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_2/input.scss +a {b: hsl(1 var(--foo) 3% / 0.4)} + +<===> alpha/var/arg_2/output.css +a { + b: hsl(1, var(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_3/input.scss +a {b: hsl(1 2% var(--foo) / 0.4)} + +<===> alpha/var/arg_3/output.css +a { + b: hsl(1 2% var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_4/input.scss +a {b: hsl(1 2% 3% / var(--foo))} + +<===> alpha/var/arg_4/output.css +a { + b: hsl(1 2% 3%/var(--foo)); +} + +<===> +================================================================================ +<===> alpha/env/arg_1/input.scss +a {b: hsl(env(--foo) 2% 3% / 0.4)} + +<===> alpha/env/arg_1/output.css +a { + b: hsl(env(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_2/input.scss +a {b: hsl(1 env(--foo) 3% / 0.4)} + +<===> alpha/env/arg_2/output.css +a { + b: hsl(1, env(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_3/input.scss +a {b: hsl(1 2% env(--foo) / 0.4)} + +<===> alpha/env/arg_3/output.css +a { + b: hsl(1 2% env(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_4/input.scss +a {b: hsl(1 2% 3% / env(--foo))} + +<===> alpha/env/arg_4/output.css +a { + b: hsl(1 2% 3%/env(--foo)); +} + +<===> +================================================================================ +<===> alpha/min/arg_1/input.scss +a {b: hsl(min(1) 2% 3% / 0.4)} + +<===> alpha/min/arg_1/output.css +a { + b: hsl(min(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_2/input.scss +a {b: hsl(1 min(2%) 3% / 0.4)} + +<===> alpha/min/arg_2/output.css +a { + b: hsl(1, min(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_3/input.scss +a {b: hsl(1 2% min(3%) / 0.4)} + +<===> alpha/min/arg_3/output.css +a { + b: hsl(1 2% min(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_4/input.scss +a {b: hsl(1 2% 3% / min(0.4))} + +<===> alpha/min/arg_4/output.css +a { + b: hsl(1 2% 3%/min(0.4)); +} + +<===> +================================================================================ +<===> alpha/max/arg_1/input.scss +a {b: hsl(max(1) 2% 3% / 0.4)} + +<===> alpha/max/arg_1/output.css +a { + b: hsl(max(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_2/input.scss +a {b: hsl(1 max(2%) 3% / 0.4)} + +<===> alpha/max/arg_2/output.css +a { + b: hsl(1, max(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_3/input.scss +a {b: hsl(1 2% max(3%) / 0.4)} + +<===> alpha/max/arg_3/output.css +a { + b: hsl(1 2% max(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_4/input.scss +a {b: hsl(1 2% 3% / max(0.4))} + +<===> alpha/max/arg_4/output.css +a { + b: hsl(1 2% 3%/max(0.4)); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsl(var(--foo) 50% / 0.4)} + +<===> alpha/multi_argument_var/1_of_2/output.css +a { + b: hsl(var(--foo) 50%/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/2_of_2/input.scss +a {b: hsl(0 var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/2_of_2/output.css +a { + b: hsl(0 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_1/input.scss +a {b: hsl(var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/1_of_1/output.css +a { + b: hsl(var(--foo)/0.4); } diff --git a/spec/core_functions/color/hsl/three_args/basic.hrx b/spec/core_functions/color/hsl/three_args/basic.hrx deleted file mode 100644 index e2bc407ec3..0000000000 --- a/spec/core_functions/color/hsl/three_args/basic.hrx +++ /dev/null @@ -1,635 +0,0 @@ -<===> input.scss -// These test cases come from two official W3C test suites: -// -// * https://www.w3.org/Style/CSS/Test/CSS3/Color/20070927/html4/t040204-hsl-h-rotating-b.htm -// * https://www.w3.org/Style/CSS/Test/CSS3/Color/current/html4/t040204-hsl-values-b.htm - -hue { - @mixin test-hues($name, $hues...) { - #{$name} { - @each $hue in $hues { - hue-#{$hue}: hsl($hue, 100%, 50%); - } - } - } - - @include test-hues("red", 0, -360, 260, 6120); - @include test-hues("yellow", 60, -300, 420, -9660); - @include test-hues("green", 120, -240, 480, 99840); - @include test-hues("cyan", 180, -180, 540, -900); - @include test-hues("blue", 240, -120, 600, -104880); - @include test-hues("purple", 300, -60, 660, 2820); -} - -red-to-green { - step-1: hsl(0, 100%, 50%); - step-2: hsl(12, 100%, 50%); - step-3: hsl(24, 100%, 50%); - step-4: hsl(36, 100%, 50%); - step-5: hsl(48, 100%, 50%); - step-6: hsl(60, 100%, 50%); - step-7: hsl(72, 100%, 50%); - step-8: hsl(84, 100%, 50%); - step-9: hsl(96, 100%, 50%); - step-10: hsl(108, 100%, 50%); - step-11: hsl(120, 100%, 50%); -} - -green-to-blue { - step-1: hsl(120, 100%, 50%); - step-2: hsl(132, 100%, 50%); - step-3: hsl(144, 100%, 50%); - step-4: hsl(156, 100%, 50%); - step-5: hsl(168, 100%, 50%); - step-6: hsl(180, 100%, 50%); - step-7: hsl(192, 100%, 50%); - step-8: hsl(204, 100%, 50%); - step-9: hsl(216, 100%, 50%); - step-10: hsl(228, 100%, 50%); - step-11: hsl(240, 100%, 50%); -} - -blue-to-red { - step-1: hsl(240, 100%, 50%); - step-2: hsl(252, 100%, 50%); - step-3: hsl(264, 100%, 50%); - step-4: hsl(276, 100%, 50%); - step-5: hsl(288, 100%, 50%); - step-6: hsl(300, 100%, 50%); - step-7: hsl(312, 100%, 50%); - step-8: hsl(324, 100%, 50%); - step-9: hsl(336, 100%, 50%); - step-10: hsl(348, 100%, 50%); - step-11: hsl(360, 100%, 50%); -} - -gray-to { - red { - step-1: hsl(0, 20%, 50%); - step-2: hsl(0, 60%, 50%); - step-3: hsl(0, 100%, 50%); - } - - yellow { - step-1: hsl(60, 20%, 50%); - step-2: hsl(60, 60%, 50%); - step-3: hsl(60, 100%, 50%); - } - - green { - step-1: hsl(120, 20%, 50%); - step-2: hsl(120, 60%, 50%); - step-3: hsl(120, 100%, 50%); - } - - cyan { - step-1: hsl(180, 20%, 50%); - step-2: hsl(180, 60%, 50%); - step-3: hsl(180, 100%, 50%); - } - - blue { - step-1: hsl(240, 20%, 50%); - step-2: hsl(240, 60%, 50%); - step-3: hsl(240, 100%, 50%); - } - - purple { - step-1: hsl(300, 20%, 50%); - step-2: hsl(300, 60%, 50%); - step-3: hsl(300, 100%, 50%); - } -} - -black-to-white-through { - red { - step-1: hsl(0, 100%, 0%); - step-2: hsl(0, 100%, 10%); - step-3: hsl(0, 100%, 20%); - step-4: hsl(0, 100%, 30%); - step-5: hsl(0, 100%, 40%); - step-6: hsl(0, 100%, 50%); - step-7: hsl(0, 100%, 60%); - step-8: hsl(0, 100%, 70%); - step-9: hsl(0, 100%, 80%); - step-10: hsl(0, 100%, 90%); - step-11: hsl(0, 100%, 100%); - } - - yellow { - step-1: hsl(60, 100%, 0%); - step-2: hsl(60, 100%, 10%); - step-3: hsl(60, 100%, 20%); - step-4: hsl(60, 100%, 30%); - step-5: hsl(60, 100%, 40%); - step-6: hsl(60, 100%, 50%); - step-7: hsl(60, 100%, 60%); - step-8: hsl(60, 100%, 70%); - step-9: hsl(60, 100%, 80%); - step-10: hsl(60, 100%, 90%); - step-11: hsl(60, 100%, 100%); - } - - green { - step-1: hsl(120, 100%, 0%); - step-2: hsl(120, 100%, 10%); - step-3: hsl(120, 100%, 20%); - step-4: hsl(120, 100%, 30%); - step-5: hsl(120, 100%, 40%); - step-6: hsl(120, 100%, 50%); - step-7: hsl(120, 100%, 60%); - step-8: hsl(120, 100%, 70%); - step-9: hsl(120, 100%, 80%); - step-10: hsl(120, 100%, 90%); - step-11: hsl(120, 100%, 100%); - } - - cyan { - step-1: hsl(180, 100%, 0%); - step-2: hsl(180, 100%, 10%); - step-3: hsl(180, 100%, 20%); - step-4: hsl(180, 100%, 30%); - step-5: hsl(180, 100%, 40%); - step-6: hsl(180, 100%, 50%); - step-7: hsl(180, 100%, 60%); - step-8: hsl(180, 100%, 70%); - step-9: hsl(180, 100%, 80%); - step-10: hsl(180, 100%, 90%); - step-11: hsl(180, 100%, 100%); - } - - blue { - step-1: hsl(240, 100%, 0%); - step-2: hsl(240, 100%, 10%); - step-3: hsl(240, 100%, 20%); - step-4: hsl(240, 100%, 30%); - step-5: hsl(240, 100%, 40%); - step-6: hsl(240, 100%, 50%); - step-7: hsl(240, 100%, 60%); - step-8: hsl(240, 100%, 70%); - step-9: hsl(240, 100%, 80%); - step-10: hsl(240, 100%, 90%); - step-11: hsl(240, 100%, 100%); - } - - purple { - step-1: hsl(300, 100%, 0%); - step-2: hsl(300, 100%, 10%); - step-3: hsl(300, 100%, 20%); - step-4: hsl(300, 100%, 30%); - step-5: hsl(300, 100%, 40%); - step-6: hsl(300, 100%, 50%); - step-7: hsl(300, 100%, 60%); - step-8: hsl(300, 100%, 70%); - step-9: hsl(300, 100%, 80%); - step-10: hsl(300, 100%, 90%); - step-11: hsl(300, 100%, 100%); - } -} - -// The W3C tests cover clamped hue, but not clamped saturation or lightness. -clamped { - saturation-above: hsl(0, 500%, 50%); - saturation-below: hsl(0, -100%, 50%); - lightness-above: hsl(0, 100%, 500%); - lightness-below: hsl(0, 100%, -100%); -} - -units { - hue-deg: hsl(0deg, 100%, 50%); - saturation-unitless: hsl(0, 50, 50%); - lightness-unitless: hsl(0, 100%, 50); -} - -named { - x: hsl($hue: 0, $saturation: 100%, $lightness: 50%); -} - -<===> output.css -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} -hue cyan { - hue-180: aqua; - hue--180: aqua; - hue-540: aqua; - hue--900: aqua; -} -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} -hue purple { - hue-300: fuchsia; - hue--60: fuchsia; - hue-660: fuchsia; - hue-2820: fuchsia; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: aqua; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: fuchsia; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: aqua; -} -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: fuchsia; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: aqua; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: fuchsia; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} - -<===> output-libsass.css -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} - -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} - -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} - -hue cyan { - hue-180: cyan; - hue--180: cyan; - hue-540: cyan; - hue--900: cyan; -} - -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} - -hue purple { - hue-300: magenta; - hue--60: magenta; - hue-660: magenta; - hue-2820: magenta; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: cyan; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: magenta; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} - -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} - -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} - -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: cyan; -} - -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} - -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: magenta; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} - -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} - -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} - -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: cyan; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} - -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} - -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: magenta; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsl/three_args/clamped.hrx b/spec/core_functions/color/hsl/three_args/clamped.hrx new file mode 100644 index 0000000000..0a408bcf84 --- /dev/null +++ b/spec/core_functions/color/hsl/three_args/clamped.hrx @@ -0,0 +1,42 @@ +<===> README.md +The W3C tests cover clamped hue, but not clamped saturation or lightness. + +<===> +================================================================================ +<===> saturation/above/input.scss +a {b: hsl(0, 500%, 50%)} + +<===> saturation/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> saturation/below/input.scss +a {b: hsl(0, -100%, 50%)} + +<===> saturation/below/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> lightness/above/input.scss +a {b: hsl(0, 100%, 500%)} + +<===> lightness/above/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> lightness/below/input.scss +a {b: hsl(0, 100%, -100%)} + +<===> lightness/below/output.css +a { + b: black; +} diff --git a/spec/core_functions/color/hsl/three_args/named.hrx b/spec/core_functions/color/hsl/three_args/named.hrx new file mode 100644 index 0000000000..adb0914b4e --- /dev/null +++ b/spec/core_functions/color/hsl/three_args/named.hrx @@ -0,0 +1,8 @@ +<===> input.scss +a {b: hsl($hue: 0, $saturation: 100%, $lightness: 50%)} + +<===> output.css +a { + b: red; +} + diff --git a/spec/core_functions/color/hsl/three_args/special_functions.hrx b/spec/core_functions/color/hsl/three_args/special_functions.hrx index 3e83d6650d..6866456e1b 100644 --- a/spec/core_functions/color/hsl/three_args/special_functions.hrx +++ b/spec/core_functions/color/hsl/three_args/special_functions.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 :ignore_for: <===> input.scss diff --git a/spec/core_functions/color/hsl/three_args/units.hrx b/spec/core_functions/color/hsl/three_args/units.hrx new file mode 100644 index 0000000000..7d7a0c2763 --- /dev/null +++ b/spec/core_functions/color/hsl/three_args/units.hrx @@ -0,0 +1,27 @@ +<===> hue/deg/input.scss +a {b: hsl(0deg, 100%, 50%)} + +<===> hue/deg/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> saturation/unitless/input.scss +a {b: hsl(0, 50, 50%)} + +<===> saturation/unitless/output.css +a { + b: #bf4040; +} + +<===> +================================================================================ +<===> lightness/unitless/input.scss +a {b: hsl(0, 100%, 50)} + +<===> lightness/unitless/output.css +a { + b: red; +} diff --git a/spec/core_functions/color/hsl/three_args/w3c.hrx b/spec/core_functions/color/hsl/three_args/w3c.hrx new file mode 100644 index 0000000000..00f024e794 --- /dev/null +++ b/spec/core_functions/color/hsl/three_args/w3c.hrx @@ -0,0 +1,571 @@ +<===> README.md +These test cases come from two official W3C test suites: + +* https://www.w3.org/Style/CSS/Test/CSS3/Color/20070927/html4/t040204-hsl-h-rotating-b.htm +* https://www.w3.org/Style/CSS/Test/CSS3/Color/current/html4/t040204-hsl-values-b.htm + +Because these spces have so many repetitive cases, they violate the normal +one-test-case-per-suite rule. + +<===> +================================================================================ +<===> hue/input.scss +@mixin test-hues($name, $hues...) { + #{$name} { + @each $hue in $hues { + hue-#{$hue}: hsl($hue, 100%, 50%); + } + } +} + +@include test-hues("red", 0, -360, 360, 6120); +@include test-hues("yellow", 60, -300, 420, -9660); +@include test-hues("green", 120, -240, 480, 99840); +@include test-hues("cyan", 180, -180, 540, -900); +@include test-hues("blue", 240, -120, 600, -104880); +@include test-hues("purple", 300, -60, 660, 2820); + +<===> hue/output.css +red { + hue-0: red; + hue--360: red; + hue-360: red; + hue-6120: red; +} + +yellow { + hue-60: yellow; + hue--300: yellow; + hue-420: yellow; + hue--9660: yellow; +} + +green { + hue-120: lime; + hue--240: lime; + hue-480: lime; + hue-99840: lime; +} + +cyan { + hue-180: aqua; + hue--180: aqua; + hue-540: aqua; + hue--900: aqua; +} + +blue { + hue-240: blue; + hue--120: blue; + hue-600: blue; + hue--104880: blue; +} + +purple { + hue-300: fuchsia; + hue--60: fuchsia; + hue-660: fuchsia; + hue-2820: fuchsia; +} + +<===> hue/output-libsass.css +red { + hue-0: red; + hue--360: red; + hue-360: red; + hue-6120: red; +} + +yellow { + hue-60: yellow; + hue--300: yellow; + hue-420: yellow; + hue--9660: yellow; +} + +green { + hue-120: lime; + hue--240: lime; + hue-480: lime; + hue-99840: lime; +} + +cyan { + hue-180: cyan; + hue--180: cyan; + hue-540: cyan; + hue--900: cyan; +} + +blue { + hue-240: blue; + hue--120: blue; + hue-600: blue; + hue--104880: blue; +} + +purple { + hue-300: magenta; + hue--60: magenta; + hue-660: magenta; + hue-2820: magenta; +} + +<===> +================================================================================ +<===> red_to_green/input.scss +a { + step-1: hsl(0, 100%, 50%); + step-2: hsl(12, 100%, 50%); + step-3: hsl(24, 100%, 50%); + step-4: hsl(36, 100%, 50%); + step-5: hsl(48, 100%, 50%); + step-6: hsl(60, 100%, 50%); + step-7: hsl(72, 100%, 50%); + step-8: hsl(84, 100%, 50%); + step-9: hsl(96, 100%, 50%); + step-10: hsl(108, 100%, 50%); + step-11: hsl(120, 100%, 50%); +} + +<===> red_to_green/output.css +a { + step-1: red; + step-2: #ff3300; + step-3: #ff6600; + step-4: #ff9900; + step-5: #ffcc00; + step-6: yellow; + step-7: #ccff00; + step-8: #99ff00; + step-9: #66ff00; + step-10: #33ff00; + step-11: lime; +} + +<===> +================================================================================ +<===> green_to_blue/input.scss +a { + step-1: hsl(120, 100%, 50%); + step-2: hsl(132, 100%, 50%); + step-3: hsl(144, 100%, 50%); + step-4: hsl(156, 100%, 50%); + step-5: hsl(168, 100%, 50%); + step-6: hsl(180, 100%, 50%); + step-7: hsl(192, 100%, 50%); + step-8: hsl(204, 100%, 50%); + step-9: hsl(216, 100%, 50%); + step-10: hsl(228, 100%, 50%); + step-11: hsl(240, 100%, 50%); +} + +<===> green_to_blue/output.css +a { + step-1: lime; + step-2: #00ff33; + step-3: #00ff66; + step-4: #00ff99; + step-5: #00ffcc; + step-6: aqua; + step-7: #00ccff; + step-8: #0099ff; + step-9: #0066ff; + step-10: #0033ff; + step-11: blue; +} + +<===> green_to_blue/output-libsass.css +a { + step-1: lime; + step-2: #00ff33; + step-3: #00ff66; + step-4: #00ff99; + step-5: #00ffcc; + step-6: cyan; + step-7: #00ccff; + step-8: #0099ff; + step-9: #0066ff; + step-10: #0033ff; + step-11: blue; +} + +<===> +================================================================================ +<===> blue_to_red/input.scss +a { + step-1: hsl(240, 100%, 50%); + step-2: hsl(252, 100%, 50%); + step-3: hsl(264, 100%, 50%); + step-4: hsl(276, 100%, 50%); + step-5: hsl(288, 100%, 50%); + step-6: hsl(300, 100%, 50%); + step-7: hsl(312, 100%, 50%); + step-8: hsl(324, 100%, 50%); + step-9: hsl(336, 100%, 50%); + step-10: hsl(348, 100%, 50%); + step-11: hsl(360, 100%, 50%); +} + +<===> blue_to_red/output.css +a { + step-1: blue; + step-2: #3300ff; + step-3: #6600ff; + step-4: #9900ff; + step-5: #cc00ff; + step-6: fuchsia; + step-7: #ff00cc; + step-8: #ff0099; + step-9: #ff0066; + step-10: #ff0033; + step-11: red; +} + +<===> blue_to_red/output-libsass.css +a { + step-1: blue; + step-2: #3300ff; + step-3: #6600ff; + step-4: #9900ff; + step-5: #cc00ff; + step-6: magenta; + step-7: #ff00cc; + step-8: #ff0099; + step-9: #ff0066; + step-10: #ff0033; + step-11: red; +} + +<===> +================================================================================ +<===> gray_to/red/input.scss +a { + step-1: hsl(0, 20%, 50%); + step-2: hsl(0, 60%, 50%); + step-3: hsl(0, 100%, 50%); +} + +<===> gray_to/red/output.css +a { + step-1: #996666; + step-2: #cc3333; + step-3: red; +} + +<===> +================================================================================ +<===> gray_to/yellow/input.scss +a { + step-1: hsl(60, 20%, 50%); + step-2: hsl(60, 60%, 50%); + step-3: hsl(60, 100%, 50%); +} + +<===> gray_to/yellow/output.css +a { + step-1: #999966; + step-2: #cccc33; + step-3: yellow; +} + +<===> +================================================================================ +<===> gray_to/green/input.scss +a { + step-1: hsl(120, 20%, 50%); + step-2: hsl(120, 60%, 50%); + step-3: hsl(120, 100%, 50%); +} + +<===> gray_to/green/output.css +a { + step-1: #669966; + step-2: #33cc33; + step-3: lime; +} + +<===> +================================================================================ +<===> gray_to/cyan/input.scss +a { + step-1: hsl(180, 20%, 50%); + step-2: hsl(180, 60%, 50%); + step-3: hsl(180, 100%, 50%); +} + +<===> gray_to/cyan/output.css +a { + step-1: #669999; + step-2: #33cccc; + step-3: aqua; +} + +<===> gray_to/cyan/output-libsass.css +a { + step-1: #669999; + step-2: #33cccc; + step-3: cyan; +} + +<===> +================================================================================ +<===> gray_to/blue/input.scss +a { + step-1: hsl(240, 20%, 50%); + step-2: hsl(240, 60%, 50%); + step-3: hsl(240, 100%, 50%); +} + +<===> gray_to/blue/output.css +a { + step-1: #666699; + step-2: #3333cc; + step-3: blue; +} + +<===> +================================================================================ +<===> gray_to/purple/input.scss +a { + step-1: hsl(300, 20%, 50%); + step-2: hsl(300, 60%, 50%); + step-3: hsl(300, 100%, 50%); +} + +<===> gray_to/purple/output.css +a { + step-1: #996699; + step-2: #cc33cc; + step-3: fuchsia; +} + +<===> gray_to/purple/output-libsass.css +a { + step-1: #996699; + step-2: #cc33cc; + step-3: magenta; +} + +<===> +================================================================================ +<===> black_to_white_through/red/input.scss +a { + step-1: hsl(0, 100%, 0%); + step-2: hsl(0, 100%, 10%); + step-3: hsl(0, 100%, 20%); + step-4: hsl(0, 100%, 30%); + step-5: hsl(0, 100%, 40%); + step-6: hsl(0, 100%, 50%); + step-7: hsl(0, 100%, 60%); + step-8: hsl(0, 100%, 70%); + step-9: hsl(0, 100%, 80%); + step-10: hsl(0, 100%, 90%); + step-11: hsl(0, 100%, 100%); +} + +<===> black_to_white_through/red/output.css +a { + step-1: black; + step-2: #330000; + step-3: #660000; + step-4: #990000; + step-5: #cc0000; + step-6: red; + step-7: #ff3333; + step-8: #ff6666; + step-9: #ff9999; + step-10: #ffcccc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/yellow/input.scss +a { + step-1: hsl(60, 100%, 0%); + step-2: hsl(60, 100%, 10%); + step-3: hsl(60, 100%, 20%); + step-4: hsl(60, 100%, 30%); + step-5: hsl(60, 100%, 40%); + step-6: hsl(60, 100%, 50%); + step-7: hsl(60, 100%, 60%); + step-8: hsl(60, 100%, 70%); + step-9: hsl(60, 100%, 80%); + step-10: hsl(60, 100%, 90%); + step-11: hsl(60, 100%, 100%); +} + +<===> black_to_white_through/yellow/output.css +a { + step-1: black; + step-2: #333300; + step-3: #666600; + step-4: #999900; + step-5: #cccc00; + step-6: yellow; + step-7: #ffff33; + step-8: #ffff66; + step-9: #ffff99; + step-10: #ffffcc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/green/input.scss +a { + step-1: hsl(120, 100%, 0%); + step-2: hsl(120, 100%, 10%); + step-3: hsl(120, 100%, 20%); + step-4: hsl(120, 100%, 30%); + step-5: hsl(120, 100%, 40%); + step-6: hsl(120, 100%, 50%); + step-7: hsl(120, 100%, 60%); + step-8: hsl(120, 100%, 70%); + step-9: hsl(120, 100%, 80%); + step-10: hsl(120, 100%, 90%); + step-11: hsl(120, 100%, 100%); +} + +<===> black_to_white_through/green/output.css +a { + step-1: black; + step-2: #003300; + step-3: #006600; + step-4: #009900; + step-5: #00cc00; + step-6: lime; + step-7: #33ff33; + step-8: #66ff66; + step-9: #99ff99; + step-10: #ccffcc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/cyan/input.scss +a { + step-1: hsl(180, 100%, 0%); + step-2: hsl(180, 100%, 10%); + step-3: hsl(180, 100%, 20%); + step-4: hsl(180, 100%, 30%); + step-5: hsl(180, 100%, 40%); + step-6: hsl(180, 100%, 50%); + step-7: hsl(180, 100%, 60%); + step-8: hsl(180, 100%, 70%); + step-9: hsl(180, 100%, 80%); + step-10: hsl(180, 100%, 90%); + step-11: hsl(180, 100%, 100%); +} + +<===> black_to_white_through/cyan/output.css +a { + step-1: black; + step-2: #003333; + step-3: #006666; + step-4: #009999; + step-5: #00cccc; + step-6: aqua; + step-7: #33ffff; + step-8: #66ffff; + step-9: #99ffff; + step-10: #ccffff; + step-11: white; +} + +<===> black_to_white_through/cyan/output-libsass.css +a { + step-1: black; + step-2: #003333; + step-3: #006666; + step-4: #009999; + step-5: #00cccc; + step-6: cyan; + step-7: #33ffff; + step-8: #66ffff; + step-9: #99ffff; + step-10: #ccffff; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/blue/input.scss +a { + step-1: hsl(240, 100%, 0%); + step-2: hsl(240, 100%, 10%); + step-3: hsl(240, 100%, 20%); + step-4: hsl(240, 100%, 30%); + step-5: hsl(240, 100%, 40%); + step-6: hsl(240, 100%, 50%); + step-7: hsl(240, 100%, 60%); + step-8: hsl(240, 100%, 70%); + step-9: hsl(240, 100%, 80%); + step-10: hsl(240, 100%, 90%); + step-11: hsl(240, 100%, 100%); +} + +<===> black_to_white_through/blue/output.css +a { + step-1: black; + step-2: #000033; + step-3: #000066; + step-4: #000099; + step-5: #0000cc; + step-6: blue; + step-7: #3333ff; + step-8: #6666ff; + step-9: #9999ff; + step-10: #ccccff; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/purple/input.scss +a { + step-1: hsl(300, 100%, 0%); + step-2: hsl(300, 100%, 10%); + step-3: hsl(300, 100%, 20%); + step-4: hsl(300, 100%, 30%); + step-5: hsl(300, 100%, 40%); + step-6: hsl(300, 100%, 50%); + step-7: hsl(300, 100%, 60%); + step-8: hsl(300, 100%, 70%); + step-9: hsl(300, 100%, 80%); + step-10: hsl(300, 100%, 90%); + step-11: hsl(300, 100%, 100%); +} + +<===> black_to_white_through/purple/output.css +a { + step-1: black; + step-2: #330033; + step-3: #660066; + step-4: #990099; + step-5: #cc00cc; + step-6: fuchsia; + step-7: #ff33ff; + step-8: #ff66ff; + step-9: #ff99ff; + step-10: #ffccff; + step-11: white; +} + + +<===> black_to_white_through/purple/output-libsass.css +a { + step-1: black; + step-2: #330033; + step-3: #660066; + step-4: #990099; + step-5: #cc00cc; + step-6: magenta; + step-7: #ff33ff; + step-8: #ff66ff; + step-9: #ff99ff; + step-10: #ffccff; + step-11: white; +} diff --git a/spec/core_functions/color/hsl/two_args.hrx b/spec/core_functions/color/hsl/two_args.hrx deleted file mode 100644 index 9f1bb1f4cb..0000000000 --- a/spec/core_functions/color/hsl/two_args.hrx +++ /dev/null @@ -1,41 +0,0 @@ -<===> options.yml ---- -:todo: -- libsass - -<===> input.scss -opaque-to { - opaque: hsl(#123, 1); - partial: hsl(#123, 0.5); - transparent: hsl(#123, 0); -} - -partial-to { - $color: hsl(0, 0, 255, 0.3); - opaque: hsl($color, 1); - partial: hsl($color, 0.5); - transparent: hsl($color, 0); -} - -transparent-to { - opaque: hsl(transparent, 1); - partial: hsl(transparent, 0.5); - transparent: hsl(transparent, 0); -} - -clamped { - opaque: hsl(#123, 1.1); - transparent: hsl(#123, -0.1); -} - -named { - x: hsl($color: #123, $alpha: 0.5); -} - -<===> error -Error: Missing argument $lightness. - , -2 | opaque: hsl(#123, 1); - | ^^^^^^^^^^^^ - ' - input.scss 2:11 root stylesheet diff --git a/spec/core_functions/color/hsla/error/one_arg.hrx b/spec/core_functions/color/hsla/error/one_arg.hrx index f7b63df973..8a44d62914 100644 --- a/spec/core_functions/color/hsla/error/one_arg.hrx +++ b/spec/core_functions/color/hsla/error/one_arg.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/hsla/error/three_args.hrx b/spec/core_functions/color/hsla/error/three_args.hrx index 8b850bfc47..28d785c4c9 100644 --- a/spec/core_functions/color/hsla/error/three_args.hrx +++ b/spec/core_functions/color/hsla/error/three_args.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/hsla/error/two_args.hrx b/spec/core_functions/color/hsla/error/two_args.hrx index 9bd5593acf..33241bddba 100644 --- a/spec/core_functions/color/hsla/error/two_args.hrx +++ b/spec/core_functions/color/hsla/error/two_args.hrx @@ -1,18 +1,17 @@ <===> input.scss -one-arg { - x: hsla(0, 100%); -} +a {b: hsla(#123, 0.5)} <===> error Error: Missing argument $lightness. , -2 | x: hsla(0, 100%); - | ^^^^^^^^^^^^^ +1 | a {b: hsla(#123, 0.5)} + | ^^^^^^^^^^^^^^^ ' - input.scss 2:6 root stylesheet + input.scss 1:7 root stylesheet <===> error-libsass Error: Function hsla is missing argument $lightness. - on line 2 of one_arg/input.scss ->> x: hsla(0, 100%); - -----^ + on line 1 of input.scss +>> a {b: hsla(#123, 0.5)} + + ------^ diff --git a/spec/core_functions/color/hsla/four_args/alpha.hrx b/spec/core_functions/color/hsla/four_args/alpha.hrx new file mode 100644 index 0000000000..78993442e3 --- /dev/null +++ b/spec/core_functions/color/hsla/four_args/alpha.hrx @@ -0,0 +1,105 @@ +<===> percent/options.yml +--- +:todo: +- sass/libsass#2719 + +<===> +================================================================================ +<===> percent/negative/input.scss +a {b: hsla(0, 0, 0, -10%)} + +<===> percent/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/min/input.scss +a {b: hsla(0, 0, 0, 0%)} + +<===> percent/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/positive/input.scss +a {b: hsla(0, 0, 0, 45.6%)} + +<===> percent/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> percent/max/input.scss +a {b: hsla(0, 0, 0, 100%)} + +<===> percent/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> percent/above_max/input.scss +a {b: hsla(0, 0, 0, 250%)} + +<===> percent/above_max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/negative/input.scss +a {b: hsla(0, 0, 0, -10)} + +<===> unitless/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/min/input.scss +a {b: hsla(0, 0, 0, 0)} + +<===> unitless/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/positive/input.scss +a {b: hsla(0, 0, 0, 0.456)} + +<===> unitless/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> unitless/max/input.scss +a {b: hsla(0, 0, 0, 1)} + +<===> unitless/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/above_max/input.scss +a {b: hsla(0, 0, 0, 250)} + +<===> unitless/above_max/output.css +a { + b: black; +} + diff --git a/spec/core_functions/color/hsla/four_args/alpha_percent.hrx b/spec/core_functions/color/hsla/four_args/alpha_percent.hrx deleted file mode 100644 index b4a5b2faaa..0000000000 --- a/spec/core_functions/color/hsla/four_args/alpha_percent.hrx +++ /dev/null @@ -1,22 +0,0 @@ -<===> options.yml ---- -:todo: -- libsass # sass/libsass#2719 - -<===> input.scss -.alpha-percent { - negative: hsla(0, 0, 0, -10%); - min: hsla(0, 0, 0, 0%); - positive: hsla(0, 0, 0, 45.6%); - max: hsla(0, 0, 0, 100%); - above-max: hsla(0, 0, 0, 250%); -} - -<===> output.css -.alpha-percent { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/hsla/four_args/alpha_unitless.hrx b/spec/core_functions/color/hsla/four_args/alpha_unitless.hrx deleted file mode 100644 index 35430ee7e7..0000000000 --- a/spec/core_functions/color/hsla/four_args/alpha_unitless.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-unitless { - negative: hsla(0, 0, 0, -10); - min: hsla(0, 0, 0, 0); - positive: hsla(0, 0, 0, 0.456); - max: hsla(0, 0, 0, 1); - above-max: hsla(0, 0, 0, 250); -} - -<===> output.css -.alpha-unitless { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/hsla/four_args/basic.hrx b/spec/core_functions/color/hsla/four_args/basic.hrx deleted file mode 100644 index a5543d889d..0000000000 --- a/spec/core_functions/color/hsla/four_args/basic.hrx +++ /dev/null @@ -1,30 +0,0 @@ -<===> input.scss -basic { - transparent: hsla(180, 60%, 50%, 0); - opaque: hsla(180, 60%, 50%, 1); - partial: hsla(180, 60%, 50%, 0.5); - named: hsla($hue: 180, $saturation: 60%, $lightness: 50%, $alpha: 0.4); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - saturation: hsla(0, -0.1%, 50%, 0.5); - blue: hsla(0, 100%, 9999%, 0.5); - alpha-above: hsla(0, 100%, 50%, 1.1); - alpha-below: rgba(0, 100%, 50%, -0.1); -} - -<===> output.css -basic { - transparent: rgba(51, 204, 204, 0); - opaque: #33cccc; - partial: rgba(51, 204, 204, 0.5); - named: rgba(51, 204, 204, 0.4); -} - -clamped { - saturation: rgba(128, 128, 128, 0.5); - blue: rgba(255, 255, 255, 0.5); - alpha-above: red; - alpha-below: rgba(0, 255, 128, 0); -} diff --git a/spec/core_functions/color/hsla/four_args/clamped.hrx b/spec/core_functions/color/hsla/four_args/clamped.hrx new file mode 100644 index 0000000000..4b651628ef --- /dev/null +++ b/spec/core_functions/color/hsla/four_args/clamped.hrx @@ -0,0 +1,43 @@ +<===> README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> saturation/input.scss +a {b: hsla(0, -0.1%, 50%, 0.5)} + +<===> saturation/output.css +a { + b: rgba(128, 128, 128, 0.5); +} + +<===> +================================================================================ +<===> lightness/input.scss +a {b: hsla(0, 100%, 9999%, 0.5)} + +<===> lightness/output.css +a { + b: rgba(255, 255, 255, 0.5); +} + +<===> +================================================================================ +<===> alpha/above/input.scss +a {b: hsla(0, 100%, 50%, 1.1)} + +<===> alpha/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> alpha/below/input.scss +a {b: rgba(0, 100%, 50%, -0.1)} + +<===> alpha/below/output.css +a { + b: rgba(0, 255, 128, 0); +} + diff --git a/spec/core_functions/color/hsla/four_args/in_gamut.hrx b/spec/core_functions/color/hsla/four_args/in_gamut.hrx new file mode 100644 index 0000000000..39d0533a16 --- /dev/null +++ b/spec/core_functions/color/hsla/four_args/in_gamut.hrx @@ -0,0 +1,37 @@ +<===> transparent/input.scss +a {b: hsla(180, 60%, 50%, 0)} + +<===> transparent/output.css +a { + b: rgba(51, 204, 204, 0); +} + +<===> +================================================================================ +<===> opaque/input.scss +a {b: hsla(180, 60%, 50%, 1)} + +<===> opaque/output.css +a { + b: #33cccc; +} + +<===> +================================================================================ +<===> partial/input.scss +a {b: hsla(180, 60%, 50%, 0.5)} + +<===> partial/output.css +a { + b: rgba(51, 204, 204, 0.5); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: hsla($hue: 180, $saturation: 60%, $lightness: 50%, $alpha: 0.4)} + +<===> named/output.css +a { + b: rgba(51, 204, 204, 0.4); +} diff --git a/spec/core_functions/color/hsla/four_args/special_functions.hrx b/spec/core_functions/color/hsla/four_args/special_functions.hrx index 2fccd9c8bb..c707eddb3f 100644 --- a/spec/core_functions/color/hsla/four_args/special_functions.hrx +++ b/spec/core_functions/color/hsla/four_args/special_functions.hrx @@ -1,56 +1,205 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -a { - calc-1: hsla(calc(1), 2%, 3%, 0.4); - calc-2: hsla(1, calc(2%), 3%, 0.4); - calc-3: hsla(1, 2%, calc(3%), 0.4); - calc-4: hsla(1, 2%, 3%, calc(0.4)); - - var-1: hsla(var(--foo), 2%, 3%, 0.4); - var-2: hsla(1, var(--foo), 3%, 0.4); - var-3: hsla(1, 2%, var(--foo), 0.4); - var-4: hsla(1, 2%, 3%, var(--foo)); - - env-1: hsla(env(--foo), 2%, 3%, 0.4); - env-2: hsla(1, env(--foo), 3%, 0.4); - env-3: hsla(1, 2%, env(--foo), 0.4); - env-4: hsla(1, 2%, 3%, env(--foo)); - - min-1: hsla(min(1), 2%, 3%, 0.4); - min-2: hsla(1, min(2%), 3%, 0.4); - min-3: hsla(1, 2%, min(3%), 0.4); - min-4: hsla(1, 2%, 3%, min(0.4)); - - max-1: hsla(max(1), 2%, 3%, 0.4); - max-2: hsla(1, max(2%), 3%, 0.4); - max-3: hsla(1, 2%, max(3%), 0.4); - max-4: hsla(1, 2%, 3%, max(0.4)); -} - -<===> output.css -a { - calc-1: hsla(calc(1), 2%, 3%, 0.4); - calc-2: hsla(1, calc(2%), 3%, 0.4); - calc-3: hsla(1, 2%, calc(3%), 0.4); - calc-4: hsla(1, 2%, 3%, calc(0.4)); - var-1: hsla(var(--foo), 2%, 3%, 0.4); - var-2: hsla(1, var(--foo), 3%, 0.4); - var-3: hsla(1, 2%, var(--foo), 0.4); - var-4: hsla(1, 2%, 3%, var(--foo)); - env-1: hsla(env(--foo), 2%, 3%, 0.4); - env-2: hsla(1, env(--foo), 3%, 0.4); - env-3: hsla(1, 2%, env(--foo), 0.4); - env-4: hsla(1, 2%, 3%, env(--foo)); - min-1: hsla(min(1), 2%, 3%, 0.4); - min-2: hsla(1, min(2%), 3%, 0.4); - min-3: hsla(1, 2%, min(3%), 0.4); - min-4: hsla(1, 2%, 3%, min(0.4)); - max-1: hsla(max(1), 2%, 3%, 0.4); - max-2: hsla(1, max(2%), 3%, 0.4); - max-3: hsla(1, 2%, max(3%), 0.4); - max-4: hsla(1, 2%, 3%, max(0.4)); +- sass/libsass#2726 + +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: hsla(calc(1), 2%, 3%, 0.4)} + +<===> calc/arg_1/output.css +a { + b: hsla(calc(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: hsla(1, calc(2%), 3%, 0.4)} + +<===> calc/arg_2/output.css +a { + b: hsla(1, calc(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: hsla(1, 2%, calc(3%), 0.4)} + +<===> calc/arg_3/output.css +a { + b: hsla(1, 2%, calc(3%), 0.4); +} + +<===> +================================================================================ +<===> calc/arg_4/input.scss +a {b: hsla(1, 2%, 3%, calc(0.4))} + +<===> calc/arg_4/output.css +a { + b: hsla(1, 2%, 3%, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: hsla(var(--foo), 2%, 3%, 0.4)} + +<===> var/arg_1/output.css +a { + b: hsla(var(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: hsla(1, var(--foo), 3%, 0.4)} + +<===> var/arg_2/output.css +a { + b: hsla(1, var(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: hsla(1, 2%, var(--foo), 0.4)} + +<===> var/arg_3/output.css +a { + b: hsla(1, 2%, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_4/input.scss +a {b: hsla(1, 2%, 3%, var(--foo))} + +<===> var/arg_4/output.css +a { + b: hsla(1, 2%, 3%, var(--foo)); +} + +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: hsla(env(--foo), 2%, 3%, 0.4)} + +<===> env/arg_1/output.css +a { + b: hsla(env(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: hsla(1, env(--foo), 3%, 0.4)} + +<===> env/arg_2/output.css +a { + b: hsla(1, env(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: hsla(1, 2%, env(--foo), 0.4)} + +<===> env/arg_3/output.css +a { + b: hsla(1, 2%, env(--foo), 0.4); +} + +<===> +================================================================================ +<===> env/arg_4/input.scss +a {b: hsla(1, 2%, 3%, env(--foo))} + +<===> env/arg_4/output.css +a { + b: hsla(1, 2%, 3%, env(--foo)); +} + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: hsla(min(1), 2%, 3%, 0.4)} + +<===> min/arg_1/output.css +a { + b: hsla(min(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: hsla(1, min(2%), 3%, 0.4)} + +<===> min/arg_2/output.css +a { + b: hsla(1, min(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: hsla(1, 2%, min(3%), 0.4)} + +<===> min/arg_3/output.css +a { + b: hsla(1, 2%, min(3%), 0.4); +} + +<===> +================================================================================ +<===> min/arg_4/input.scss +a {b: hsla(1, 2%, 3%, min(0.4))} + +<===> min/arg_4/output.css +a { + b: hsla(1, 2%, 3%, min(0.4)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: hsla(max(1), 2%, 3%, 0.4)} + +<===> max/arg_1/output.css +a { + b: hsla(max(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: hsla(1, max(2%), 3%, 0.4)} + +<===> max/arg_2/output.css +a { + b: hsla(1, max(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: hsla(1, 2%, max(3%), 0.4)} + +<===> max/arg_3/output.css +a { + b: hsla(1, 2%, max(3%), 0.4); } + +<===> +================================================================================ +<===> max/arg_4/input.scss +a {b: hsla(1, 2%, 3%, max(0.4))} + +<===> max/arg_4/output.css +a { + b: hsla(1, 2%, 3%, max(0.4)); +} + diff --git a/spec/core_functions/color/hsla/multi_argument_var.hrx b/spec/core_functions/color/hsla/multi_argument_var.hrx index 91b69a46bd..5dca1e0706 100644 --- a/spec/core_functions/color/hsla/multi_argument_var.hrx +++ b/spec/core_functions/color/hsla/multi_argument_var.hrx @@ -3,23 +3,64 @@ :todo: - libsass -<===> input.scss +<===> +================================================================================ +<===> 1_of_3/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsla(var(--foo), 3%, 0.4)} + +<===> 1_of_3/output.css a { - // var() is substituted before parsing, so it may contain multiple arguments. b: hsla(var(--foo), 3%, 0.4); - b: hsla(1, var(--foo), 0.4); - b: hsla(1, 2%, var(--foo)); - b: hsla(var(--foo), 0.4); - b: hsla(1, var(--foo)); - b: hsla(var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> 2_of_3/input.scss +a {b: hsla(1, var(--foo), 0.4)} + +<===> 2_of_3/output.css a { - b: hsla(var(--foo), 3%, 0.4); b: hsla(1, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 3_of_3/input.scss +a {b: hsla(1, 2%, var(--foo))} + +<===> 3_of_3/output.css +a { b: hsla(1, 2%, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_2/input.scss +a {b: hsla(var(--foo), 0.4)} + +<===> 1_of_2/output.css +a { b: hsla(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 2_of_2/input.scss +a {b: hsla(1, var(--foo))} + +<===> 2_of_2/output.css +a { b: hsla(1, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_1/input.scss +a {b: hsla(var(--foo))} + +<===> 1_of_1/output.css +a { b: hsla(var(--foo)); } + diff --git a/spec/core_functions/color/hsla/one_arg/alpha.hrx b/spec/core_functions/color/hsla/one_arg/alpha.hrx index 9bb3ecc368..b8c6f16346 100644 --- a/spec/core_functions/color/hsla/one_arg/alpha.hrx +++ b/spec/core_functions/color/hsla/one_arg/alpha.hrx @@ -1,33 +1,89 @@ -<===> input.scss -basic { - transparent: hsla(180 60% 50% / 0); - opaque: hsla(180 60% 50% / 1); - partial: hsla(180 60% 50% / 0.5); - named: hsla($channels: 180 60% 50% / 0.4); +<===> in_gamut/transparent/input.scss +a {b: hsla(180 60% 50% / 0)} - // Extra parens shouldn't cause the slash to be forced into division. - parenthesized: (hsl(180 60% 50% / 0.4)); +<===> in_gamut/transparent/output.css +a { + b: rgba(51, 204, 204, 0); } -clamped { - saturation: hsla(0 -0.1% 50% / 0.5); - lightness: hsla(0 100% 9999% / 0.5); - alpha-above: hsla(0 100% 50% / 1.1); - alpha-below: hsla(0 100% 50% / -0.1); +<===> +================================================================================ +<===> in_gamut/opaque/input.scss +a {b: hsla(180 60% 50% / 1)} + +<===> in_gamut/opaque/output.css +a { + b: #33cccc; +} + +<===> +================================================================================ +<===> in_gamut/partial/input.scss +a {b: hsla(180 60% 50% / 0.5)} + +<===> in_gamut/partial/output.css +a { + b: rgba(51, 204, 204, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/named/input.scss +a {b: hsla($channels: 180 60% 50% / 0.4)} + +<===> in_gamut/named/output.css +a { + b: rgba(51, 204, 204, 0.4); } -<===> output.css -basic { - transparent: rgba(51, 204, 204, 0); - opaque: #33cccc; - partial: rgba(51, 204, 204, 0.5); - named: rgba(51, 204, 204, 0.4); - parenthesized: rgba(51, 204, 204, 0.4); +<===> +================================================================================ +<===> in_gamut/parenthesized/input.scss +// Extra parens shouldn't cause the slash to be forced into division. +a {b: hsl(180 60% 50% / 0.4)} + +<===> in_gamut/parenthesized/output.css +a { + b: rgba(51, 204, 204, 0.4); } -clamped { - saturation: rgba(128, 128, 128, 0.5); - lightness: rgba(255, 255, 255, 0.5); - alpha-above: red; - alpha-below: rgba(255, 0, 0, 0); +<===> +================================================================================ +<===> clamped/saturation/input.scss +a {b: hsla(0 -0.1% 50% / 0.5)} + +<===> clamped/saturation/output.css +a { + b: rgba(128, 128, 128, 0.5); } + +<===> +================================================================================ +<===> clamped/lightness/input.scss +a {b: hsla(0 100% 9999% / 0.5)} + +<===> clamped/lightness/output.css +a { + b: rgba(255, 255, 255, 0.5); +} + +<===> +================================================================================ +<===> clamped/alpha/above/input.scss +a {b: hsla(0 100% 50% / 1.1)} + +<===> clamped/alpha/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/alpha/below/input.scss +a {b: hsla(0 100% 50% / -0.1)} + +<===> clamped/alpha/below/output.css +a { + b: rgba(255, 0, 0, 0); +} + diff --git a/spec/core_functions/color/hsla/one_arg/basic.hrx b/spec/core_functions/color/hsla/one_arg/basic.hrx deleted file mode 100644 index ff4ec87339..0000000000 --- a/spec/core_functions/color/hsla/one_arg/basic.hrx +++ /dev/null @@ -1,48 +0,0 @@ -<===> input.scss -basic { - red: hsla(0 100% 50%); - blue: hsla(240 100% 50%); - grayish-yellow: hsla(60 60% 50%); -} - -clamped { - saturation-above: hsla(0 500% 50%); - saturation-below: hsla(0 -100% 50%); - lightness-above: hsla(0 100% 500%); - lightness-below: hsla(0 100% -100%); -} - -units { - hue-deg: hsla(0deg 100% 50%); - saturation-unitless: hsla(0 50 50%); - lightness-unitless: hsla(0 100% 50); -} - -named { - x: hsla($channels: 0 100% 50%); -} - -<===> output.css -basic { - red: red; - blue: blue; - grayish-yellow: #cccc33; -} - - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsla/one_arg/no_alpha.hrx b/spec/core_functions/color/hsla/one_arg/no_alpha.hrx new file mode 100644 index 0000000000..4a4eecfb97 --- /dev/null +++ b/spec/core_functions/color/hsla/one_arg/no_alpha.hrx @@ -0,0 +1,108 @@ +<===> in_gamut/red/input.scss +a {b: hsla(0 100% 50%)} + +<===> in_gamut/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> in_gamut/blue/input.scss +a {b: hsla(240 100% 50%)} + +<===> in_gamut/blue/output.css +a { + b: blue; +} + +<===> +================================================================================ +<===> in_gamut/grayish/yellow/input.scss +a {b: hsla(60 60% 50%)} + +<===> in_gamut/grayish/yellow/output.css +a { + b: #cccc33; +} + +<===> +================================================================================ +<===> clamped/saturation/above/input.scss +a {b: hsla(0 500% 50%)} + +<===> clamped/saturation/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/saturation/below/input.scss +a {b: hsla(0 -100% 50%)} + +<===> clamped/saturation/below/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> clamped/lightness/above/input.scss +a {b: hsla(0 100% 500%)} + +<===> clamped/lightness/above/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> clamped/lightness/below/input.scss +a {b: hsla(0 100% -100%)} + +<===> clamped/lightness/below/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> units/hue/deg/input.scss +a {b: hsla(0deg 100% 50%)} + +<===> units/hue/deg/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> units/saturation/unitless/input.scss +a {b: hsla(0 50 50%)} + +<===> units/saturation/unitless/output.css +a { + b: #bf4040; +} + +<===> +================================================================================ +<===> units/lightness/unitless/input.scss +a {b: hsla(0 100% 50)} + +<===> units/lightness/unitless/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: hsla($channels: 0 100% 50%)} + +<===> named/output.css +a { + b: red; +} + diff --git a/spec/core_functions/color/hsla/one_arg/options.yml b/spec/core_functions/color/hsla/one_arg/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/hsla/one_arg/options.yml +++ b/spec/core_functions/color/hsla/one_arg/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/hsla/one_arg/special_functions.hrx b/spec/core_functions/color/hsla/one_arg/special_functions.hrx index eb264e637e..eb84858bbd 100644 --- a/spec/core_functions/color/hsla/one_arg/special_functions.hrx +++ b/spec/core_functions/color/hsla/one_arg/special_functions.hrx @@ -1,112 +1,416 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -no-alpha { - calc-1: hsla(calc(1) 2% 3%); - calc-2: hsla(1 calc(2%) 3%); - calc-3: hsla(1 2% calc(3%)); - - var-1: hsla(var(--foo) 2% 3%); - var-2: hsla(1 var(--foo) 3%); - var-3: hsla(1 2% var(--foo)); - - env-1: hsla(env(--foo) 2% 3%); - env-2: hsla(1 env(--foo) 3%); - env-3: hsla(1 2% env(--foo)); - - min-1: hsla(min(1) 2% 3%); - min-2: hsla(1 min(2%) 3%); - min-3: hsla(1 2% min(3%)); - - max-1: hsla(max(1) 2% 3%); - max-2: hsla(1 max(2%) 3%); - max-3: hsla(1 2% max(3%)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: hsla(var(--foo) 50%); - multi-argument-var-2-of-2: hsla(0 var(--foo)); - multi-argument-var-1-of-1: hsla(var(--foo)); -} - -alpha { - calc-1: hsla(calc(1) 2% 3% / 0.4); - calc-2: hsla(1 calc(2%) 3% / 0.4); - calc-3: hsla(1 2% calc(3%) / 0.4); - calc-4: hsla(1 2% 3% / calc(0.4)); - - var-1: hsla(var(--foo) 2% 3% / 0.4); - var-2: hsla(1 var(--foo) 3% / 0.4); - var-3: hsla(1 2% var(--foo) / 0.4); - var-4: hsla(1 2% 3% / var(--foo)); - - env-1: hsla(env(--foo) 2% 3% / 0.4); - env-2: hsla(1 env(--foo) 3% / 0.4); - env-3: hsla(1 2% env(--foo) / 0.4); - env-4: hsla(1 2% 3% / env(--foo)); - - min-1: hsla(min(1) 2% 3% / 0.4); - min-2: hsla(1 min(2%) 3% / 0.4); - min-3: hsla(1 2% min(3%) / 0.4); - min-4: hsla(1 2% 3% / min(0.4)); - - max-1: hsla(max(1) 2% 3% / 0.4); - max-2: hsla(1 max(2%) 3% / 0.4); - max-3: hsla(1 2% max(3%) / 0.4); - max-4: hsla(1 2% 3% / max(0.4)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: hsla(var(--foo) 50% / 0.4); - multi-argument-var-2-of-2: hsla(0 var(--foo) / 0.4); - multi-argument-var-1-of-1: hsla(var(--foo) / 0.4); -} - -<===> output.css -no-alpha { - calc-1: hsla(calc(1), 2%, 3%); - calc-2: hsla(1, calc(2%), 3%); - calc-3: hsla(1, 2%, calc(3%)); - var-1: hsla(var(--foo), 2%, 3%); - var-2: hsla(1, var(--foo), 3%); - var-3: hsla(1, 2%, var(--foo)); - env-1: hsla(env(--foo), 2%, 3%); - env-2: hsla(1, env(--foo), 3%); - env-3: hsla(1, 2%, env(--foo)); - min-1: hsla(min(1), 2%, 3%); - min-2: hsla(1, min(2%), 3%); - min-3: hsla(1, 2%, min(3%)); - max-1: hsla(max(1), 2%, 3%); - max-2: hsla(1, max(2%), 3%); - max-3: hsla(1, 2%, max(3%)); - multi-argument-var-1-of-2: hsla(var(--foo) 50%); - multi-argument-var-2-of-2: hsla(0 var(--foo)); - multi-argument-var-1-of-1: hsla(var(--foo)); -} - -alpha { - calc-1: hsla(calc(1), 2%, 3%, 0.4); - calc-2: hsla(1, calc(2%), 3%, 0.4); - calc-3: hsla(1 2% calc(3%)/0.4); - calc-4: hsla(1 2% 3%/calc(0.4)); - var-1: hsla(var(--foo), 2%, 3%, 0.4); - var-2: hsla(1, var(--foo), 3%, 0.4); - var-3: hsla(1 2% var(--foo)/0.4); - var-4: hsla(1 2% 3%/var(--foo)); - env-1: hsla(env(--foo), 2%, 3%, 0.4); - env-2: hsla(1, env(--foo), 3%, 0.4); - env-3: hsla(1 2% env(--foo)/0.4); - env-4: hsla(1 2% 3%/env(--foo)); - min-1: hsla(min(1), 2%, 3%, 0.4); - min-2: hsla(1, min(2%), 3%, 0.4); - min-3: hsla(1 2% min(3%)/0.4); - min-4: hsla(1 2% 3%/min(0.4)); - max-1: hsla(max(1), 2%, 3%, 0.4); - max-2: hsla(1, max(2%), 3%, 0.4); - max-3: hsla(1 2% max(3%)/0.4); - max-4: hsla(1 2% 3%/max(0.4)); - multi-argument-var-1-of-2: hsla(var(--foo) 50%/0.4); - multi-argument-var-2-of-2: hsla(0 var(--foo)/0.4); - multi-argument-var-1-of-1: hsla(var(--foo)/0.4); +- sass/libsass#2726 + +<===> +================================================================================ +<===> no_alpha/calc/arg_1/input.scss +a {b: hsla(calc(1) 2% 3%)} + +<===> no_alpha/calc/arg_1/output.css +a { + b: hsla(calc(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_2/input.scss +a {b: hsla(1 calc(2%) 3%)} + +<===> no_alpha/calc/arg_2/output.css +a { + b: hsla(1, calc(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_3/input.scss +a {b: hsla(1 2% calc(3%))} + +<===> no_alpha/calc/arg_3/output.css +a { + b: hsla(1, 2%, calc(3%)); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_1/input.scss +a {b: hsla(var(--foo) 2% 3%)} + +<===> no_alpha/var/arg_1/output.css +a { + b: hsla(var(--foo), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_2/input.scss +a {b: hsla(1 var(--foo) 3%)} + +<===> no_alpha/var/arg_2/output.css +a { + b: hsla(1, var(--foo), 3%); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_3/input.scss +a {b: hsla(1 2% var(--foo))} + +<===> no_alpha/var/arg_3/output.css +a { + b: hsla(1, 2%, var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_1/input.scss +a {b: hsla(env(--foo) 2% 3%)} + +<===> no_alpha/env/arg_1/output.css +a { + b: hsla(env(--foo), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_2/input.scss +a {b: hsla(1 env(--foo) 3%)} + +<===> no_alpha/env/arg_2/output.css +a { + b: hsla(1, env(--foo), 3%); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_3/input.scss +a {b: hsla(1 2% env(--foo))} + +<===> no_alpha/env/arg_3/output.css +a { + b: hsla(1, 2%, env(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_1/input.scss +a {b: hsla(min(1) 2% 3%)} + +<===> no_alpha/min/arg_1/output.css +a { + b: hsla(min(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_2/input.scss +a {b: hsla(1 min(2%) 3%)} + +<===> no_alpha/min/arg_2/output.css +a { + b: hsla(1, min(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_3/input.scss +a {b: hsla(1 2% min(3%))} + +<===> no_alpha/min/arg_3/output.css +a { + b: hsla(1, 2%, min(3%)); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_1/input.scss +a {b: hsla(max(1) 2% 3%)} + +<===> no_alpha/max/arg_1/output.css +a { + b: hsla(max(1), 2%, 3%); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_2/input.scss +a {b: hsla(1 max(2%) 3%)} + +<===> no_alpha/max/arg_2/output.css +a { + b: hsla(1, max(2%), 3%); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_3/input.scss +a {b: hsla(1 2% max(3%))} + +<===> no_alpha/max/arg_3/output.css +a { + b: hsla(1, 2%, max(3%)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsla(var(--foo) 50%)} + +<===> no_alpha/multi_argument_var/1_of_2/output.css +a { + b: hsla(var(--foo) 50%); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/2_of_2/input.scss +a {b: hsla(0 var(--foo))} + +<===> no_alpha/multi_argument_var/2_of_2/output.css +a { + b: hsla(0 var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_1/input.scss +a {b: hsla(var(--foo))} + +<===> no_alpha/multi_argument_var/1_of_1/output.css +a { + b: hsla(var(--foo)); +} + +<===> +================================================================================ +<===> alpha/calc/arg_1/input.scss +a {b: hsla(calc(1) 2% 3% / 0.4)} + +<===> alpha/calc/arg_1/output.css +a { + b: hsla(calc(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_2/input.scss +a {b: hsla(1 calc(2%) 3% / 0.4)} + +<===> alpha/calc/arg_2/output.css +a { + b: hsla(1, calc(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_3/input.scss +a {b: hsla(1 2% calc(3%) / 0.4)} + +<===> alpha/calc/arg_3/output.css +a { + b: hsla(1 2% calc(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_4/input.scss +a {b: hsla(1 2% 3% / calc(0.4))} + +<===> alpha/calc/arg_4/output.css +a { + b: hsla(1 2% 3%/calc(0.4)); +} + +<===> +================================================================================ +<===> alpha/var/arg_1/input.scss +a {b: hsla(var(--foo) 2% 3% / 0.4)} + +<===> alpha/var/arg_1/output.css +a { + b: hsla(var(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_2/input.scss +a {b: hsla(1 var(--foo) 3% / 0.4)} + +<===> alpha/var/arg_2/output.css +a { + b: hsla(1, var(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_3/input.scss +a {b: hsla(1 2% var(--foo) / 0.4)} + +<===> alpha/var/arg_3/output.css +a { + b: hsla(1 2% var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_4/input.scss +a {b: hsla(1 2% 3% / var(--foo))} + +<===> alpha/var/arg_4/output.css +a { + b: hsla(1 2% 3%/var(--foo)); +} + +<===> +================================================================================ +<===> alpha/env/arg_1/input.scss +a {b: hsla(env(--foo) 2% 3% / 0.4)} + +<===> alpha/env/arg_1/output.css +a { + b: hsla(env(--foo), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_2/input.scss +a {b: hsla(1 env(--foo) 3% / 0.4)} + +<===> alpha/env/arg_2/output.css +a { + b: hsla(1, env(--foo), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_3/input.scss +a {b: hsla(1 2% env(--foo) / 0.4)} + +<===> alpha/env/arg_3/output.css +a { + b: hsla(1 2% env(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_4/input.scss +a {b: hsla(1 2% 3% / env(--foo))} + +<===> alpha/env/arg_4/output.css +a { + b: hsla(1 2% 3%/env(--foo)); +} + +<===> +================================================================================ +<===> alpha/min/arg_1/input.scss +a {b: hsla(min(1) 2% 3% / 0.4)} + +<===> alpha/min/arg_1/output.css +a { + b: hsla(min(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_2/input.scss +a {b: hsla(1 min(2%) 3% / 0.4)} + +<===> alpha/min/arg_2/output.css +a { + b: hsla(1, min(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_3/input.scss +a {b: hsla(1 2% min(3%) / 0.4)} + +<===> alpha/min/arg_3/output.css +a { + b: hsla(1 2% min(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_4/input.scss +a {b: hsla(1 2% 3% / min(0.4))} + +<===> alpha/min/arg_4/output.css +a { + b: hsla(1 2% 3%/min(0.4)); +} + +<===> +================================================================================ +<===> alpha/max/arg_1/input.scss +a {b: hsla(max(1) 2% 3% / 0.4)} + +<===> alpha/max/arg_1/output.css +a { + b: hsla(max(1), 2%, 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_2/input.scss +a {b: hsla(1 max(2%) 3% / 0.4)} + +<===> alpha/max/arg_2/output.css +a { + b: hsla(1, max(2%), 3%, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_3/input.scss +a {b: hsla(1 2% max(3%) / 0.4)} + +<===> alpha/max/arg_3/output.css +a { + b: hsla(1 2% max(3%)/0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_4/input.scss +a {b: hsla(1 2% 3% / max(0.4))} + +<===> alpha/max/arg_4/output.css +a { + b: hsla(1 2% 3%/max(0.4)); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: hsla(var(--foo) 50% / 0.4)} + +<===> alpha/multi_argument_var/1_of_2/output.css +a { + b: hsla(var(--foo) 50%/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/2_of_2/input.scss +a {b: hsla(0 var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/2_of_2/output.css +a { + b: hsla(0 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_1/input.scss +a {b: hsla(var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/1_of_1/output.css +a { + b: hsla(var(--foo)/0.4); } diff --git a/spec/core_functions/color/hsla/three_args/basic.hrx b/spec/core_functions/color/hsla/three_args/basic.hrx deleted file mode 100644 index 462f47878d..0000000000 --- a/spec/core_functions/color/hsla/three_args/basic.hrx +++ /dev/null @@ -1,635 +0,0 @@ -<===> input.scss -// These test cases come from two official W3C test suites: -// -// * https://www.w3.org/Style/CSS/Test/CSS3/Color/20070927/html4/t040204-hsl-h-rotating-b.htm -// * https://www.w3.org/Style/CSS/Test/CSS3/Color/current/html4/t040204-hsl-values-b.htm - -hue { - @mixin test-hues($name, $hues...) { - #{$name} { - @each $hue in $hues { - hue-#{$hue}: hsla($hue, 100%, 50%); - } - } - } - - @include test-hues("red", 0, -360, 260, 6120); - @include test-hues("yellow", 60, -300, 420, -9660); - @include test-hues("green", 120, -240, 480, 99840); - @include test-hues("cyan", 180, -180, 540, -900); - @include test-hues("blue", 240, -120, 600, -104880); - @include test-hues("purple", 300, -60, 660, 2820); -} - -red-to-green { - step-1: hsla(0, 100%, 50%); - step-2: hsla(12, 100%, 50%); - step-3: hsla(24, 100%, 50%); - step-4: hsla(36, 100%, 50%); - step-5: hsla(48, 100%, 50%); - step-6: hsla(60, 100%, 50%); - step-7: hsla(72, 100%, 50%); - step-8: hsla(84, 100%, 50%); - step-9: hsla(96, 100%, 50%); - step-10: hsla(108, 100%, 50%); - step-11: hsla(120, 100%, 50%); -} - -green-to-blue { - step-1: hsla(120, 100%, 50%); - step-2: hsla(132, 100%, 50%); - step-3: hsla(144, 100%, 50%); - step-4: hsla(156, 100%, 50%); - step-5: hsla(168, 100%, 50%); - step-6: hsla(180, 100%, 50%); - step-7: hsla(192, 100%, 50%); - step-8: hsla(204, 100%, 50%); - step-9: hsla(216, 100%, 50%); - step-10: hsla(228, 100%, 50%); - step-11: hsla(240, 100%, 50%); -} - -blue-to-red { - step-1: hsla(240, 100%, 50%); - step-2: hsla(252, 100%, 50%); - step-3: hsla(264, 100%, 50%); - step-4: hsla(276, 100%, 50%); - step-5: hsla(288, 100%, 50%); - step-6: hsla(300, 100%, 50%); - step-7: hsla(312, 100%, 50%); - step-8: hsla(324, 100%, 50%); - step-9: hsla(336, 100%, 50%); - step-10: hsla(348, 100%, 50%); - step-11: hsla(360, 100%, 50%); -} - -gray-to { - red { - step-1: hsla(0, 20%, 50%); - step-2: hsla(0, 60%, 50%); - step-3: hsla(0, 100%, 50%); - } - - yellow { - step-1: hsla(60, 20%, 50%); - step-2: hsla(60, 60%, 50%); - step-3: hsla(60, 100%, 50%); - } - - green { - step-1: hsla(120, 20%, 50%); - step-2: hsla(120, 60%, 50%); - step-3: hsla(120, 100%, 50%); - } - - cyan { - step-1: hsla(180, 20%, 50%); - step-2: hsla(180, 60%, 50%); - step-3: hsla(180, 100%, 50%); - } - - blue { - step-1: hsla(240, 20%, 50%); - step-2: hsla(240, 60%, 50%); - step-3: hsla(240, 100%, 50%); - } - - purple { - step-1: hsla(300, 20%, 50%); - step-2: hsla(300, 60%, 50%); - step-3: hsla(300, 100%, 50%); - } -} - -black-to-white-through { - red { - step-1: hsla(0, 100%, 0%); - step-2: hsla(0, 100%, 10%); - step-3: hsla(0, 100%, 20%); - step-4: hsla(0, 100%, 30%); - step-5: hsla(0, 100%, 40%); - step-6: hsla(0, 100%, 50%); - step-7: hsla(0, 100%, 60%); - step-8: hsla(0, 100%, 70%); - step-9: hsla(0, 100%, 80%); - step-10: hsla(0, 100%, 90%); - step-11: hsla(0, 100%, 100%); - } - - yellow { - step-1: hsla(60, 100%, 0%); - step-2: hsla(60, 100%, 10%); - step-3: hsla(60, 100%, 20%); - step-4: hsla(60, 100%, 30%); - step-5: hsla(60, 100%, 40%); - step-6: hsla(60, 100%, 50%); - step-7: hsla(60, 100%, 60%); - step-8: hsla(60, 100%, 70%); - step-9: hsla(60, 100%, 80%); - step-10: hsla(60, 100%, 90%); - step-11: hsla(60, 100%, 100%); - } - - green { - step-1: hsla(120, 100%, 0%); - step-2: hsla(120, 100%, 10%); - step-3: hsla(120, 100%, 20%); - step-4: hsla(120, 100%, 30%); - step-5: hsla(120, 100%, 40%); - step-6: hsla(120, 100%, 50%); - step-7: hsla(120, 100%, 60%); - step-8: hsla(120, 100%, 70%); - step-9: hsla(120, 100%, 80%); - step-10: hsla(120, 100%, 90%); - step-11: hsla(120, 100%, 100%); - } - - cyan { - step-1: hsla(180, 100%, 0%); - step-2: hsla(180, 100%, 10%); - step-3: hsla(180, 100%, 20%); - step-4: hsla(180, 100%, 30%); - step-5: hsla(180, 100%, 40%); - step-6: hsla(180, 100%, 50%); - step-7: hsla(180, 100%, 60%); - step-8: hsla(180, 100%, 70%); - step-9: hsla(180, 100%, 80%); - step-10: hsla(180, 100%, 90%); - step-11: hsla(180, 100%, 100%); - } - - blue { - step-1: hsla(240, 100%, 0%); - step-2: hsla(240, 100%, 10%); - step-3: hsla(240, 100%, 20%); - step-4: hsla(240, 100%, 30%); - step-5: hsla(240, 100%, 40%); - step-6: hsla(240, 100%, 50%); - step-7: hsla(240, 100%, 60%); - step-8: hsla(240, 100%, 70%); - step-9: hsla(240, 100%, 80%); - step-10: hsla(240, 100%, 90%); - step-11: hsla(240, 100%, 100%); - } - - purple { - step-1: hsla(300, 100%, 0%); - step-2: hsla(300, 100%, 10%); - step-3: hsla(300, 100%, 20%); - step-4: hsla(300, 100%, 30%); - step-5: hsla(300, 100%, 40%); - step-6: hsla(300, 100%, 50%); - step-7: hsla(300, 100%, 60%); - step-8: hsla(300, 100%, 70%); - step-9: hsla(300, 100%, 80%); - step-10: hsla(300, 100%, 90%); - step-11: hsla(300, 100%, 100%); - } -} - -// The W3C tests cover clamped hue, but not clamped saturation or lightness. -clamped { - saturation-above: hsla(0, 500%, 50%); - saturation-below: hsla(0, -100%, 50%); - lightness-above: hsla(0, 100%, 500%); - lightness-below: hsla(0, 100%, -100%); -} - -units { - hue-deg: hsla(0deg, 100%, 50%); - saturation-unitless: hsla(0, 50, 50%); - lightness-unitless: hsla(0, 100%, 50); -} - -named { - x: hsla($hue: 0, $saturation: 100%, $lightness: 50%); -} - -<===> output.css -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} -hue cyan { - hue-180: aqua; - hue--180: aqua; - hue-540: aqua; - hue--900: aqua; -} -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} -hue purple { - hue-300: fuchsia; - hue--60: fuchsia; - hue-660: fuchsia; - hue-2820: fuchsia; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: aqua; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: fuchsia; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: aqua; -} -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: fuchsia; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: aqua; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: fuchsia; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} - -<===> output-libsass.css -hue red { - hue-0: red; - hue--360: red; - hue-260: #5500ff; - hue-6120: red; -} - -hue yellow { - hue-60: yellow; - hue--300: yellow; - hue-420: yellow; - hue--9660: yellow; -} - -hue green { - hue-120: lime; - hue--240: lime; - hue-480: lime; - hue-99840: lime; -} - -hue cyan { - hue-180: cyan; - hue--180: cyan; - hue-540: cyan; - hue--900: cyan; -} - -hue blue { - hue-240: blue; - hue--120: blue; - hue-600: blue; - hue--104880: blue; -} - -hue purple { - hue-300: magenta; - hue--60: magenta; - hue-660: magenta; - hue-2820: magenta; -} - -red-to-green { - step-1: red; - step-2: #ff3300; - step-3: #ff6600; - step-4: #ff9900; - step-5: #ffcc00; - step-6: yellow; - step-7: #ccff00; - step-8: #99ff00; - step-9: #66ff00; - step-10: #33ff00; - step-11: lime; -} - -green-to-blue { - step-1: lime; - step-2: #00ff33; - step-3: #00ff66; - step-4: #00ff99; - step-5: #00ffcc; - step-6: cyan; - step-7: #00ccff; - step-8: #0099ff; - step-9: #0066ff; - step-10: #0033ff; - step-11: blue; -} - -blue-to-red { - step-1: blue; - step-2: #3300ff; - step-3: #6600ff; - step-4: #9900ff; - step-5: #cc00ff; - step-6: magenta; - step-7: #ff00cc; - step-8: #ff0099; - step-9: #ff0066; - step-10: #ff0033; - step-11: red; -} - -gray-to red { - step-1: #996666; - step-2: #cc3333; - step-3: red; -} - -gray-to yellow { - step-1: #999966; - step-2: #cccc33; - step-3: yellow; -} - -gray-to green { - step-1: #669966; - step-2: #33cc33; - step-3: lime; -} - -gray-to cyan { - step-1: #669999; - step-2: #33cccc; - step-3: cyan; -} - -gray-to blue { - step-1: #666699; - step-2: #3333cc; - step-3: blue; -} - -gray-to purple { - step-1: #996699; - step-2: #cc33cc; - step-3: magenta; -} - -black-to-white-through red { - step-1: black; - step-2: #330000; - step-3: #660000; - step-4: #990000; - step-5: #cc0000; - step-6: red; - step-7: #ff3333; - step-8: #ff6666; - step-9: #ff9999; - step-10: #ffcccc; - step-11: white; -} - -black-to-white-through yellow { - step-1: black; - step-2: #333300; - step-3: #666600; - step-4: #999900; - step-5: #cccc00; - step-6: yellow; - step-7: #ffff33; - step-8: #ffff66; - step-9: #ffff99; - step-10: #ffffcc; - step-11: white; -} - -black-to-white-through green { - step-1: black; - step-2: #003300; - step-3: #006600; - step-4: #009900; - step-5: #00cc00; - step-6: lime; - step-7: #33ff33; - step-8: #66ff66; - step-9: #99ff99; - step-10: #ccffcc; - step-11: white; -} - -black-to-white-through cyan { - step-1: black; - step-2: #003333; - step-3: #006666; - step-4: #009999; - step-5: #00cccc; - step-6: cyan; - step-7: #33ffff; - step-8: #66ffff; - step-9: #99ffff; - step-10: #ccffff; - step-11: white; -} - -black-to-white-through blue { - step-1: black; - step-2: #000033; - step-3: #000066; - step-4: #000099; - step-5: #0000cc; - step-6: blue; - step-7: #3333ff; - step-8: #6666ff; - step-9: #9999ff; - step-10: #ccccff; - step-11: white; -} - -black-to-white-through purple { - step-1: black; - step-2: #330033; - step-3: #660066; - step-4: #990099; - step-5: #cc00cc; - step-6: magenta; - step-7: #ff33ff; - step-8: #ff66ff; - step-9: #ff99ff; - step-10: #ffccff; - step-11: white; -} - -clamped { - saturation-above: red; - saturation-below: gray; - lightness-above: white; - lightness-below: black; -} - -units { - hue-deg: red; - saturation-unitless: #bf4040; - lightness-unitless: red; -} - -named { - x: red; -} diff --git a/spec/core_functions/color/hsla/three_args/clamped.hrx b/spec/core_functions/color/hsla/three_args/clamped.hrx new file mode 100644 index 0000000000..dc638d6820 --- /dev/null +++ b/spec/core_functions/color/hsla/three_args/clamped.hrx @@ -0,0 +1,42 @@ +<===> README.md +The W3C tests cover clamped hue, but not clamped saturation or lightness. + +<===> +================================================================================ +<===> saturation/above/input.scss +a {b: hsla(0, 500%, 50%)} + +<===> saturation/above/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> saturation/below/input.scss +a {b: hsla(0, -100%, 50%)} + +<===> saturation/below/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> lightness/above/input.scss +a {b: hsla(0, 100%, 500%)} + +<===> lightness/above/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> lightness/below/input.scss +a {b: hsla(0, 100%, -100%)} + +<===> lightness/below/output.css +a { + b: black; +} diff --git a/spec/core_functions/color/hsla/three_args/named.hrx b/spec/core_functions/color/hsla/three_args/named.hrx new file mode 100644 index 0000000000..33d0fa15ab --- /dev/null +++ b/spec/core_functions/color/hsla/three_args/named.hrx @@ -0,0 +1,10 @@ +<===> +================================================================================ +<===> input.scss +a {b: hsla($hue: 0, $saturation: 100%, $lightness: 50%)} + +<===> output.css +a { + b: red; +} + diff --git a/spec/core_functions/color/hsla/three_args/options.yml b/spec/core_functions/color/hsla/three_args/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/hsla/three_args/options.yml +++ b/spec/core_functions/color/hsla/three_args/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/hsla/three_args/special_functions.hrx b/spec/core_functions/color/hsla/three_args/special_functions.hrx index 0952fb483c..fb5ea518dc 100644 --- a/spec/core_functions/color/hsla/three_args/special_functions.hrx +++ b/spec/core_functions/color/hsla/three_args/special_functions.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 <===> input.scss a { diff --git a/spec/core_functions/color/hsla/three_args/units.hrx b/spec/core_functions/color/hsla/three_args/units.hrx new file mode 100644 index 0000000000..72dd178790 --- /dev/null +++ b/spec/core_functions/color/hsla/three_args/units.hrx @@ -0,0 +1,29 @@ +<===> +================================================================================ +<===> hue/deg/input.scss +a {b: hsla(0deg, 100%, 50%)} + +<===> hue/deg/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> saturation/unitless/input.scss +a {b: hsla(0, 50, 50%)} + +<===> saturation/unitless/output.css +a { + b: #bf4040; +} + +<===> +================================================================================ +<===> lightness/unitless/input.scss +a {b: hsla(0, 100%, 50)} + +<===> lightness/unitless/output.css +a { + b: red; +} diff --git a/spec/core_functions/color/hsla/three_args/w3c.hrx b/spec/core_functions/color/hsla/three_args/w3c.hrx new file mode 100644 index 0000000000..b188635710 --- /dev/null +++ b/spec/core_functions/color/hsla/three_args/w3c.hrx @@ -0,0 +1,454 @@ +<===> README.md +These test cases come from two official W3C test suites: + +* https://www.w3.org/Style/CSS/Test/CSS3/Color/20070927/html4/t040204-hsl-h-rotating-b.htm +* https://www.w3.org/Style/CSS/Test/CSS3/Color/current/html4/t040204-hsl-values-b.htm + +Because these spces have so many repetitive cases, they violate the normal +one-test-case-per-suite rule. + +<===> +================================================================================ +<===> hue/input.scss +@mixin test-hues($name, $hues...) { + #{$name} { + @each $hue in $hues { + hue-#{$hue}: hsla($hue, 100%, 50%); + } + } +} + +@include test-hues("red", 0, -360, 360, 6120); +@include test-hues("yellow", 60, -300, 420, -9660); +@include test-hues("green", 120, -240, 480, 99840); +@include test-hues("cyan", 180, -180, 540, -900); +@include test-hues("blue", 240, -120, 600, -104880); +@include test-hues("purple", 300, -60, 660, 2820); + +<===> hue/output.css +red { + hue-0: red; + hue--360: red; + hue-360: red; + hue-6120: red; +} + +yellow { + hue-60: yellow; + hue--300: yellow; + hue-420: yellow; + hue--9660: yellow; +} + +green { + hue-120: lime; + hue--240: lime; + hue-480: lime; + hue-99840: lime; +} + +cyan { + hue-180: aqua; + hue--180: aqua; + hue-540: aqua; + hue--900: aqua; +} + +blue { + hue-240: blue; + hue--120: blue; + hue-600: blue; + hue--104880: blue; +} + +purple { + hue-300: fuchsia; + hue--60: fuchsia; + hue-660: fuchsia; + hue-2820: fuchsia; +} + +<===> +================================================================================ +<===> red_to_green/input.scss +a { + step-1: hsla(0, 100%, 50%); + step-2: hsla(12, 100%, 50%); + step-3: hsla(24, 100%, 50%); + step-4: hsla(36, 100%, 50%); + step-5: hsla(48, 100%, 50%); + step-6: hsla(60, 100%, 50%); + step-7: hsla(72, 100%, 50%); + step-8: hsla(84, 100%, 50%); + step-9: hsla(96, 100%, 50%); + step-10: hsla(108, 100%, 50%); + step-11: hsla(120, 100%, 50%); +} + +<===> red_to_green/output.css +a { + step-1: red; + step-2: #ff3300; + step-3: #ff6600; + step-4: #ff9900; + step-5: #ffcc00; + step-6: yellow; + step-7: #ccff00; + step-8: #99ff00; + step-9: #66ff00; + step-10: #33ff00; + step-11: lime; +} + +<===> +================================================================================ +<===> green_to_blue/input.scss +a { + step-1: hsla(120, 100%, 50%); + step-2: hsla(132, 100%, 50%); + step-3: hsla(144, 100%, 50%); + step-4: hsla(156, 100%, 50%); + step-5: hsla(168, 100%, 50%); + step-6: hsla(180, 100%, 50%); + step-7: hsla(192, 100%, 50%); + step-8: hsla(204, 100%, 50%); + step-9: hsla(216, 100%, 50%); + step-10: hsla(228, 100%, 50%); + step-11: hsla(240, 100%, 50%); +} + +<===> green_to_blue/output.css +a { + step-1: lime; + step-2: #00ff33; + step-3: #00ff66; + step-4: #00ff99; + step-5: #00ffcc; + step-6: aqua; + step-7: #00ccff; + step-8: #0099ff; + step-9: #0066ff; + step-10: #0033ff; + step-11: blue; +} + +<===> +================================================================================ +<===> blue_to_red/input.scss +a { + step-1: hsla(240, 100%, 50%); + step-2: hsla(252, 100%, 50%); + step-3: hsla(264, 100%, 50%); + step-4: hsla(276, 100%, 50%); + step-5: hsla(288, 100%, 50%); + step-6: hsla(300, 100%, 50%); + step-7: hsla(312, 100%, 50%); + step-8: hsla(324, 100%, 50%); + step-9: hsla(336, 100%, 50%); + step-10: hsla(348, 100%, 50%); + step-11: hsla(360, 100%, 50%); +} + +<===> blue_to_red/output.css +a { + step-1: blue; + step-2: #3300ff; + step-3: #6600ff; + step-4: #9900ff; + step-5: #cc00ff; + step-6: fuchsia; + step-7: #ff00cc; + step-8: #ff0099; + step-9: #ff0066; + step-10: #ff0033; + step-11: red; +} + +<===> +================================================================================ +<===> gray_to/red/input.scss +a { + step-1: hsla(0, 20%, 50%); + step-2: hsla(0, 60%, 50%); + step-3: hsla(0, 100%, 50%); +} + +<===> gray_to/red/output.css +a { + step-1: #996666; + step-2: #cc3333; + step-3: red; +} + +<===> +================================================================================ +<===> gray_to/yellow/input.scss +a { + step-1: hsla(60, 20%, 50%); + step-2: hsla(60, 60%, 50%); + step-3: hsla(60, 100%, 50%); +} + +<===> gray_to/yellow/output.css +a { + step-1: #999966; + step-2: #cccc33; + step-3: yellow; +} + +<===> +================================================================================ +<===> gray_to/green/input.scss +a { + step-1: hsla(120, 20%, 50%); + step-2: hsla(120, 60%, 50%); + step-3: hsla(120, 100%, 50%); +} + +<===> gray_to/green/output.css +a { + step-1: #669966; + step-2: #33cc33; + step-3: lime; +} + +<===> +================================================================================ +<===> gray_to/cyan/input.scss +a { + step-1: hsla(180, 20%, 50%); + step-2: hsla(180, 60%, 50%); + step-3: hsla(180, 100%, 50%); +} + +<===> gray_to/cyan/output.css +a { + step-1: #669999; + step-2: #33cccc; + step-3: aqua; +} + +<===> +================================================================================ +<===> gray_to/blue/input.scss +a { + step-1: hsla(240, 20%, 50%); + step-2: hsla(240, 60%, 50%); + step-3: hsla(240, 100%, 50%); +} + +<===> gray_to/blue/output.css +a { + step-1: #666699; + step-2: #3333cc; + step-3: blue; +} + +<===> +================================================================================ +<===> gray_to/purple/input.scss +a { + step-1: hsla(300, 20%, 50%); + step-2: hsla(300, 60%, 50%); + step-3: hsla(300, 100%, 50%); +} + +<===> gray_to/purple/output.css +a { + step-1: #996699; + step-2: #cc33cc; + step-3: fuchsia; +} + +<===> +================================================================================ +<===> black_to_white_through/red/input.scss +a { + step-1: hsla(0, 100%, 0%); + step-2: hsla(0, 100%, 10%); + step-3: hsla(0, 100%, 20%); + step-4: hsla(0, 100%, 30%); + step-5: hsla(0, 100%, 40%); + step-6: hsla(0, 100%, 50%); + step-7: hsla(0, 100%, 60%); + step-8: hsla(0, 100%, 70%); + step-9: hsla(0, 100%, 80%); + step-10: hsla(0, 100%, 90%); + step-11: hsla(0, 100%, 100%); +} + +<===> black_to_white_through/red/output.css +a { + step-1: black; + step-2: #330000; + step-3: #660000; + step-4: #990000; + step-5: #cc0000; + step-6: red; + step-7: #ff3333; + step-8: #ff6666; + step-9: #ff9999; + step-10: #ffcccc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/yellow/input.scss +a { + step-1: hsla(60, 100%, 0%); + step-2: hsla(60, 100%, 10%); + step-3: hsla(60, 100%, 20%); + step-4: hsla(60, 100%, 30%); + step-5: hsla(60, 100%, 40%); + step-6: hsla(60, 100%, 50%); + step-7: hsla(60, 100%, 60%); + step-8: hsla(60, 100%, 70%); + step-9: hsla(60, 100%, 80%); + step-10: hsla(60, 100%, 90%); + step-11: hsla(60, 100%, 100%); +} + +<===> black_to_white_through/yellow/output.css +a { + step-1: black; + step-2: #333300; + step-3: #666600; + step-4: #999900; + step-5: #cccc00; + step-6: yellow; + step-7: #ffff33; + step-8: #ffff66; + step-9: #ffff99; + step-10: #ffffcc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/green/input.scss +a { + step-1: hsla(120, 100%, 0%); + step-2: hsla(120, 100%, 10%); + step-3: hsla(120, 100%, 20%); + step-4: hsla(120, 100%, 30%); + step-5: hsla(120, 100%, 40%); + step-6: hsla(120, 100%, 50%); + step-7: hsla(120, 100%, 60%); + step-8: hsla(120, 100%, 70%); + step-9: hsla(120, 100%, 80%); + step-10: hsla(120, 100%, 90%); + step-11: hsla(120, 100%, 100%); +} + +<===> black_to_white_through/green/output.css +a { + step-1: black; + step-2: #003300; + step-3: #006600; + step-4: #009900; + step-5: #00cc00; + step-6: lime; + step-7: #33ff33; + step-8: #66ff66; + step-9: #99ff99; + step-10: #ccffcc; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/cyan/input.scss +a { + step-1: hsla(180, 100%, 0%); + step-2: hsla(180, 100%, 10%); + step-3: hsla(180, 100%, 20%); + step-4: hsla(180, 100%, 30%); + step-5: hsla(180, 100%, 40%); + step-6: hsla(180, 100%, 50%); + step-7: hsla(180, 100%, 60%); + step-8: hsla(180, 100%, 70%); + step-9: hsla(180, 100%, 80%); + step-10: hsla(180, 100%, 90%); + step-11: hsla(180, 100%, 100%); +} + +<===> black_to_white_through/cyan/output.css +a { + step-1: black; + step-2: #003333; + step-3: #006666; + step-4: #009999; + step-5: #00cccc; + step-6: aqua; + step-7: #33ffff; + step-8: #66ffff; + step-9: #99ffff; + step-10: #ccffff; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/blue/input.scss +a { + step-1: hsla(240, 100%, 0%); + step-2: hsla(240, 100%, 10%); + step-3: hsla(240, 100%, 20%); + step-4: hsla(240, 100%, 30%); + step-5: hsla(240, 100%, 40%); + step-6: hsla(240, 100%, 50%); + step-7: hsla(240, 100%, 60%); + step-8: hsla(240, 100%, 70%); + step-9: hsla(240, 100%, 80%); + step-10: hsla(240, 100%, 90%); + step-11: hsla(240, 100%, 100%); +} + +<===> black_to_white_through/blue/output.css +a { + step-1: black; + step-2: #000033; + step-3: #000066; + step-4: #000099; + step-5: #0000cc; + step-6: blue; + step-7: #3333ff; + step-8: #6666ff; + step-9: #9999ff; + step-10: #ccccff; + step-11: white; +} + +<===> +================================================================================ +<===> black_to_white_through/purple/input.scss +a { + step-1: hsla(300, 100%, 0%); + step-2: hsla(300, 100%, 10%); + step-3: hsla(300, 100%, 20%); + step-4: hsla(300, 100%, 30%); + step-5: hsla(300, 100%, 40%); + step-6: hsla(300, 100%, 50%); + step-7: hsla(300, 100%, 60%); + step-8: hsla(300, 100%, 70%); + step-9: hsla(300, 100%, 80%); + step-10: hsla(300, 100%, 90%); + step-11: hsla(300, 100%, 100%); +} + +<===> black_to_white_through/purple/output.css +a { + step-1: black; + step-2: #330033; + step-3: #660066; + step-4: #990099; + step-5: #cc00cc; + step-6: fuchsia; + step-7: #ff33ff; + step-8: #ff66ff; + step-9: #ff99ff; + step-10: #ffccff; + step-11: white; +} + diff --git a/spec/core_functions/color/hsla/two_args.hrx b/spec/core_functions/color/hsla/two_args.hrx deleted file mode 100644 index cc2e3b48d7..0000000000 --- a/spec/core_functions/color/hsla/two_args.hrx +++ /dev/null @@ -1,43 +0,0 @@ -<===> input.scss -opaque-to { - opaque: hsla(#123, 1); - partial: hsla(#123, 0.5); - transparent: hsla(#123, 0); -} - -partial-to { - $color: hsla(0, 0, 255, 0.3); - opaque: hsla($color, 1); - partial: hsla($color, 0.5); - transparent: hsla($color, 0); -} - -transparent-to { - opaque: hsla(transparent, 1); - partial: hsla(transparent, 0.5); - transparent: hsla(transparent, 0); -} - -clamped { - opaque: hsla(#123, 1.1); - transparent: hsla(#123, -0.1); -} - -named { - x: hsla($color: #123, $alpha: 0.5); -} - -<===> error -Error: Missing argument $lightness. - , -2 | opaque: hsla(#123, 1); - | ^^^^^^^^^^^^^ - ' - input.scss 2:11 root stylesheet - -<===> error-libsass -Error: Function hsla is missing argument $lightness. - on line 2 of /sass/spec/core_functions/color/hsla/with_color/input.scss ->> opaque: hsla(#123, 1); - - ----------^ diff --git a/spec/core_functions/color/hue.hrx b/spec/core_functions/color/hue.hrx new file mode 100644 index 0000000000..3c890ef071 --- /dev/null +++ b/spec/core_functions/color/hue.hrx @@ -0,0 +1,128 @@ +<===> max/input.scss +a {b: hue(hsl(359, 100%, 100%))} + +<===> max/output.css +a { + b: 359deg; +} + +<===> +================================================================================ +<===> above_max/input.scss +a {b: hue(hsl(540, 100%, 100%))} + +<===> above_max/output.css +a { + b: 180deg; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: hue(hsl(0, 100%, 100%))} + +<===> min/output.css +a { + b: 0deg; +} + +<===> +================================================================================ +<===> negative/input.scss +a {b: hue(hsl(-180, 100%, 100%))} + +<===> negative/output.css +a { + b: 180deg; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: hue(hsl(123, 100%, 100%))} + +<===> middle/output.css +a { + b: 123deg; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: hue(hsl(0.5, 100%, 100%))} + +<===> fraction/output.css +a { + b: 0.5deg; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: hue($color: hsl(234, 100%, 100%))} + +<===> named/output.css +a { + b: 234deg; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: hue()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: hue()} + | ^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function hue is missing argument $color. + on line 1 of input.scss +>> a {b: hue()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: hue(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: hue(red, green)} + | ^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `hue' + on line 1:7 of input.scss +>> a {b: hue(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: hue(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: hue(1)} + | ^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `hue($color)` must be a color + on line 1:7 of input.scss, in function `hue` + from line 1:7 of input.scss +>> a {b: hue(1)} + + ------^ diff --git a/spec/core_functions/color/invert.hrx b/spec/core_functions/color/invert.hrx new file mode 100644 index 0000000000..b2da723556 --- /dev/null +++ b/spec/core_functions/color/invert.hrx @@ -0,0 +1,259 @@ +<===> white/input.scss +a {b: invert(white)} + +<===> white/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> black/input.scss +a {b: invert(black)} + +<===> black/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> gray/input.scss +a {b: invert(gray)} + +<===> gray/output.css +a { + b: #7f7f7f; +} + +<===> +================================================================================ +<===> turquoise/input.scss +a {b: invert(turquoise)} + +<===> turquoise/output.css +a { + b: #bf1f2f; +} + +<===> +================================================================================ +<===> weighted/min/input.scss +a {b: invert(turquoise, 0%)} + +<===> weighted/min/output.css +a { + b: turquoise; +} + +<===> +================================================================================ +<===> weighted/max/input.scss +a {b: invert(turquoise, 100%)} + +<===> weighted/max/output.css +a { + b: #bf1f2f; +} + +<===> +================================================================================ +<===> weighted/middle/options.yml +--- +:todo: +- sass/dart-sass#704 + +<===> weighted/middle/input.scss +a {b: invert(turquoise, 50%)} + +<===> weighted/middle/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> weighted/low/input.scss +a {b: invert(turquoise, 23%)} + +<===> weighted/low/output.css +a { + b: #5db4ab; +} + +<===> +================================================================================ +<===> weighted/high/input.scss +a {b: invert(turquoise, 92%)} + +<===> weighted/high/output.css +a { + b: #b52e3c; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: invert(rgba(turquoise, 0.4))} + +<===> alpha/output.css +a { + b: rgba(191, 31, 47, 0.4); +} + +<===> +================================================================================ +<===> number/input.scss +a {b: invert(10%)} + +<===> number/output.css +a { + b: invert(10%); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: invert($color: turquoise, $weight: 0%)} + +<===> named/output.css +a { + b: turquoise; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: invert()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: invert()} + | ^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function invert is missing argument $color. + on line 1 of input.scss +>> a {b: invert()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: invert(turquoise, 0%, 1)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: invert(turquoise, 0%, 1)} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `invert' + on line 1:7 of input.scss +>> a {b: invert(turquoise, 0%, 1)} + + ------^ + +<===> +================================================================================ +<===> error/number_with_weight/options.yml +--- +:todo: +- sass/dart-sass#705 +- sass/libsass#2899 + +<===> error/number_with_weight/input.scss +a {b: invert(1, 50%)} + +<===> error/number_with_weight/error + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: invert(c)} + +<===> error/type/color/error +Error: $color: c is not a color. + , +1 | a {b: invert(c)} + | ^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `invert($color, $weight: 100%)` must be a color + on line 1:7 of input.scss, in function `invert` + from line 1:7 of input.scss +>> a {b: invert(c)} + + ------^ + +<===> +================================================================================ +<===> error/type/weight/input.scss +a {b: invert(red, c)} + +<===> error/type/weight/error +Error: $weight: c is not a number. + , +1 | a {b: invert(red, c)} + | ^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/weight/error-libsass +Error: argument `$weight` of `invert($color, $weight: 100%)` must be a number + on line 1:7 of input.scss, in function `invert` + from line 1:7 of input.scss +>> a {b: invert(red, c)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: invert(red, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: invert(red, -0.001)} + | ^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$weight` of `invert($color, $weight: 100%)` must be between -0 and 100 + on line 1:7 of input.scss, in function `invert` + from line 1:7 of input.scss +>> a {b: invert(red, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: invert(red, 100.001)} + +<===> error/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: invert(red, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$weight` of `invert($color, $weight: 100%)` must be between -0 and 100 + on line 1:7 of input.scss, in function `invert` + from line 1:7 of input.scss +>> a {b: invert(red, 100.001)} + + ------^ diff --git a/spec/core_functions/color/lighten.hrx b/spec/core_functions/color/lighten.hrx new file mode 100644 index 0000000000..816ab407bd --- /dev/null +++ b/spec/core_functions/color/lighten.hrx @@ -0,0 +1,191 @@ +<===> max/input.scss +a {b: lighten(red, 100%)} + +<===> max/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> max_remaining/input.scss +a {b: lighten(red, 50%)} + +<===> max_remaining/output.css +a { + b: white; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: lighten(red, 0%)} + +<===> min/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: lighten(red, 14%)} + +<===> middle/output.css +a { + b: #ff4747; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: lighten(red, 0.5%)} + +<===> fraction/output.css +a { + b: #ff0303; +} + +<===> +================================================================================ +<===> alpha/input.scss +a {b: lighten(rgba(red, 0.4), 100%)} + +<===> alpha/output.css +a { + b: rgba(255, 255, 255, 0.4); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: lighten($color: red, $amount: 14%)} + +<===> named/output.css +a { + b: #ff4747; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: lighten(red)} + +<===> error/too_few_args/error +Error: Missing argument $amount. + , +1 | a {b: lighten(red)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function lighten is missing argument $amount. + on line 1 of input.scss +>> a {b: lighten(red)} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: lighten(red, 1%, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: lighten(red, 1%, 2)} + | ^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `lighten' + on line 1:7 of input.scss +>> a {b: lighten(red, 1%, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/color/input.scss +a {b: lighten(1, 2)} + +<===> error/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: lighten(1, 2)} + | ^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color/error-libsass +Error: argument `$color` of `lighten($color, $amount)` must be a color + on line 1:7 of input.scss, in function `lighten` + from line 1:7 of input.scss +>> a {b: lighten(1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/type/lightness/input.scss +a {b: lighten(red, blue)} + +<===> error/type/lightness/error +Error: $amount: blue is not a number. + , +1 | a {b: lighten(red, blue)} + | ^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/lightness/error-libsass +Error: argument `$amount` of `lighten($color, $amount)` must be a number + on line 1:7 of input.scss, in function `lighten` + from line 1:7 of input.scss +>> a {b: lighten(red, blue)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: lighten(red, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: lighten(red, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$amount` of `lighten($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `lighten` + from line 1:7 of input.scss +>> a {b: lighten(red, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: lighten(red, 100.001)} + +<===> error/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: lighten(red, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$amount` of `lighten($color, $amount)` must be between -0 and 100 + on line 1:7 of input.scss, in function `lighten` + from line 1:7 of input.scss +>> a {b: lighten(red, 100.001)} + + ------^ diff --git a/spec/core_functions/color/lightness.hrx b/spec/core_functions/color/lightness.hrx new file mode 100644 index 0000000000..d6958a8c3c --- /dev/null +++ b/spec/core_functions/color/lightness.hrx @@ -0,0 +1,108 @@ +<===> max/input.scss +a {b: lightness(hsl(0, 100%, 100%))} + +<===> max/output.css +a { + b: 100%; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: lightness(hsl(0, 100%, 0%))} + +<===> min/output.css +a { + b: 0%; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: lightness(hsl(0, 100%, 50%))} + +<===> middle/output.css +a { + b: 50%; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: lightness(hsl(0, 100%, 0.5%))} + +<===> fraction/output.css +a { + b: 0.5%; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: lightness($color: hsl(0, 100%, 42%))} + +<===> named/output.css +a { + b: 42%; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: lightness()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: lightness()} + | ^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function lightness is missing argument $color. + on line 1 of input.scss +>> a {b: lightness()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: lightness(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: lightness(red, green)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `lightness' + on line 1:7 of input.scss +>> a {b: lightness(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: lightness(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: lightness(1)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `lightness($color)` must be a color + on line 1:7 of input.scss, in function `lightness` + from line 1:7 of input.scss +>> a {b: lightness(1)} + + ------^ diff --git a/spec/core_functions/color/mix.hrx b/spec/core_functions/color/mix.hrx new file mode 100644 index 0000000000..b9cbe079c4 --- /dev/null +++ b/spec/core_functions/color/mix.hrx @@ -0,0 +1,363 @@ +<===> unweighted/min_and_max/input.scss +// Each channel becomes the average of 255 and 0, which is 128 = 0xAA. +a {b: mix(#ff00ff, #00ff00)} + +<===> unweighted/min_and_max/output.css +a { + b: gray; +} + +<===> +================================================================================ +<===> unweighted/identical/input.scss +// If two channels have the same values, they should be the same in the output. +a {b: mix(#123456, #123456)} + +<===> unweighted/identical/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> unweighted/average/input.scss +// All channels should be averaged across the two colors. +a {b: mix(#91e16f, #0144bf)} + +<===> unweighted/average/output.css +a { + b: #499397; +} + +<===> +================================================================================ +<===> explicit_weight/even/input.scss +a {b: mix(#91e16f, #0144bf, 50%)} + +<===> explicit_weight/even/output.css +a { + b: #499397; +} + +<===> +================================================================================ +<===> explicit_weight/first/input.scss +a {b: mix(#91e16f, #0144bf, 100%)} + +<===> explicit_weight/first/output.css +a { + b: #91e16f; +} + +<===> +================================================================================ +<===> explicit_weight/last/input.scss +a {b: mix(#91e16f, #0144bf, 0%)} + +<===> explicit_weight/last/output.css +a { + b: #0144bf; +} + +<===> +================================================================================ +<===> explicit_weight/firstwards/input.scss +a {b: mix(#91e16f, #0144bf, 92%)} + +<===> explicit_weight/firstwards/output.css +a { + b: #85d475; +} + +<===> +================================================================================ +<===> explicit_weight/lastwards/input.scss +a {b: mix(#91e16f, #0144bf, 43%)} + +<===> explicit_weight/lastwards/output.css +a { + b: #3f889d; +} + +<===> +================================================================================ +<===> alpha/even/input.scss +a {b: mix(rgba(#91e16f, 0.3), rgba(#0144bf, 0.3))} + +<===> alpha/even/output.css +a { + b: rgba(73, 147, 151, 0.3); +} + +<===> +================================================================================ +<===> alpha/first/input.scss +a {b: mix(#91e16f, transparent)} + +<===> alpha/first/output.css +a { + b: rgba(145, 225, 111, 0.5); +} + +<===> +================================================================================ +<===> alpha/last/input.scss +a {b: mix(transparent, #0144bf)} + +<===> alpha/last/output.css +a { + b: rgba(1, 68, 191, 0.5); +} + +<===> +================================================================================ +<===> alpha/firstwards/input.scss +a {b: mix(rgba(#91e16f, 0.8), rgba(#0144bf, 0.3))} + +<===> alpha/firstwards/output.css +a { + b: rgba(109, 186, 131, 0.55); +} + +<===> +================================================================================ +<===> alpha/lastwards/input.scss +a {b: mix(rgba(#91e16f, 0.4), rgba(#0144bf, 0.9))} + +<===> alpha/lastwards/output.css +a { + b: rgba(37, 107, 171, 0.65); +} + +<===> +================================================================================ +<===> both_weights/transparent/first/input.scss +a {b: mix(transparent, #0144bf, 70%)} + +<===> both_weights/transparent/first/output.css +a { + b: rgba(1, 68, 191, 0.3); +} + +<===> +================================================================================ +<===> both_weights/transparent/last/input.scss +a {b: mix(#91e16f, transparent, 70%)} + +<===> both_weights/transparent/last/output.css +a { + b: rgba(145, 225, 111, 0.7); +} + +<===> +================================================================================ +<===> both_weights/weighted/first/input.scss +a {b: mix(rgba(#91e16f, 0.2), rgba(#0144bf, 0.7), 100%)} + +<===> both_weights/weighted/first/output.css +a { + b: rgba(145, 225, 111, 0.2); +} + +<===> +================================================================================ +<===> both_weights/weighted/last/input.scss +a {b: mix(rgba(#91e16f, 0.2), rgba(#0144bf, 0.7), 0%)} + +<===> both_weights/weighted/last/output.css +a { + b: rgba(1, 68, 191, 0.7); +} + +<===> +================================================================================ +<===> both_weights/mixed/firstwards/input.scss +a {b: mix(rgba(#91e16f, 0.8), rgba(#0144bf, 0.3), 63%)} + +<===> both_weights/mixed/firstwards/output.css +a { + b: rgba(121, 199, 124, 0.615); +} + +<===> +================================================================================ +<===> both_weights/mixed/lastwards/input.scss +a {b: mix(rgba(#91e16f, 0.2), rgba(#0144bf, 0.7), 42%)} + +<===> both_weights/mixed/lastwards/output.css +a { + b: rgba(29, 99, 175, 0.49); +} + +<===> +================================================================================ +<===> both_weights/contradiction/input.scss +// When we weight entirely towards a transparent color, the formula for +// computing the combined alpha would divide by zero, so we just return +// transparent as a special case. +a {b: mix(transparent, #0144bf, 100%)} + +<===> both_weights/contradiction/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> named/options.yml +--- +:todo: +- sass/libsass#2894 + +<===> named/input.scss +a {b: mix($color1: #91e16f, $color2: #0144bf, $weight: 92%)} + +<===> named/output.css +a { + b: #85d475; +} + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: mix(red, blue, 100, 1)} + +<===> error/too_many_args/error +Error: Only 3 arguments allowed, but 4 were passed. + , +1 | a {b: mix(red, blue, 100, 1)} + | ^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (4 for 3) for `mix' + on line 1:7 of input.scss +>> a {b: mix(red, blue, 100, 1)} + + ------^ + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: mix(red)} + +<===> error/too_few_args/error +Error: Missing argument $color2. + , +1 | a {b: mix(red)} + | ^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function mix is missing argument $color-2. + on line 1 of input.scss +>> a {b: mix(red)} + + ------^ + +<===> +================================================================================ +<===> error/type/color1/input.scss +a {b: mix(1, blue)} + +<===> error/type/color1/error +Error: $color1: 1 is not a color. + , +1 | a {b: mix(1, blue)} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color1/error-libsass +Error: argument `$color-1` of `mix($color-1, $color-2, $weight: 50%)` must be a color + on line 1:7 of input.scss, in function `mix` + from line 1:7 of input.scss +>> a {b: mix(1, blue)} + + ------^ + +<===> +================================================================================ +<===> error/type/color2/input.scss +a {b: mix(red, 1)} + +<===> error/type/color2/error +Error: $color2: 1 is not a color. + , +1 | a {b: mix(red, 1)} + | ^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/color2/error-libsass +Error: argument `$color-2` of `mix($color-1, $color-2, $weight: 50%)` must be a color + on line 1:7 of input.scss, in function `mix` + from line 1:7 of input.scss +>> a {b: mix(red, 1)} + + ------^ + +<===> +================================================================================ +<===> error/type/weight/input.scss +a {b: mix(red, blue, green)} + +<===> error/type/weight/error +Error: $weight: green is not a number. + , +1 | a {b: mix(red, blue, green)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/weight/error-libsass +Error: argument `$weight` of `mix($color-1, $color-2, $weight: 50%)` must be a number + on line 1:7 of input.scss, in function `mix` + from line 1:7 of input.scss +>> a {b: mix(red, blue, green)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_low/input.scss +a {b: mix(red, blue, -0.001)} + +<===> error/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: mix(red, blue, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_low/error-libsass +Error: argument `$weight` of `mix($color-1, $color-2, $weight: 50%)` must be between -0 and 100 + on line 1:7 of input.scss, in function `mix` + from line 1:7 of input.scss +>> a {b: mix(red, blue, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/bounds/too_high/input.scss +a {b: mix(red, blue, 100.001)} + +<===> error/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: mix(red, blue, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/bounds/too_high/error-libsass +Error: argument `$weight` of `mix($color-1, $color-2, $weight: 50%)` must be between -0 and 100 + on line 1:7 of input.scss, in function `mix` + from line 1:7 of input.scss +>> a {b: mix(red, blue, 100.001)} + + ------^ diff --git a/spec/core_functions/color/red.hrx b/spec/core_functions/color/red.hrx new file mode 100644 index 0000000000..6d4ddd12b5 --- /dev/null +++ b/spec/core_functions/color/red.hrx @@ -0,0 +1,98 @@ +<===> max/input.scss +a {b: red(rgb(255, 0, 0))} + +<===> max/output.css +a { + b: 255; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: red(rgb(0, 0, 0))} + +<===> min/output.css +a { + b: 0; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: red(rgb(123, 0, 0))} + +<===> middle/output.css +a { + b: 123; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: red($color: rgb(234, 0, 0))} + +<===> named/output.css +a { + b: 234; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: red()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: red()} + | ^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function red is missing argument $color. + on line 1 of input.scss +>> a {b: red()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: red(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: red(red, green)} + | ^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `red' + on line 1:7 of input.scss +>> a {b: red(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: red(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: red(1)} + | ^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `red($color)` must be a color + on line 1:7 of input.scss, in function `red` + from line 1:7 of input.scss +>> a {b: red(1)} + + ------^ diff --git a/spec/core_functions/color/rgb/error/four_args.hrx b/spec/core_functions/color/rgb/error/four_args.hrx index 48eeb092d3..7be4d51213 100644 --- a/spec/core_functions/color/rgb/error/four_args.hrx +++ b/spec/core_functions/color/rgb/error/four_args.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/rgb/error/one_arg.hrx b/spec/core_functions/color/rgb/error/one_arg.hrx index 44bc2acad5..73d8c56dfb 100644 --- a/spec/core_functions/color/rgb/error/one_arg.hrx +++ b/spec/core_functions/color/rgb/error/one_arg.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/rgb/error/two_args.hrx b/spec/core_functions/color/rgb/error/two_args.hrx index dfcdbb3969..d6618a7cdd 100644 --- a/spec/core_functions/color/rgb/error/two_args.hrx +++ b/spec/core_functions/color/rgb/error/two_args.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/rgb/four_args/alpha.hrx b/spec/core_functions/color/rgb/four_args/alpha.hrx new file mode 100644 index 0000000000..c13f983753 --- /dev/null +++ b/spec/core_functions/color/rgb/four_args/alpha.hrx @@ -0,0 +1,98 @@ +<===> percent/negative/input.scss +a {b: rgb(0, 0, 0, -10%)} + +<===> percent/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/min/input.scss +a {b: rgb(0, 0, 0, 0%)} + +<===> percent/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> percent/positive/input.scss +a {b: rgb(0, 0, 0, 45.6%)} + +<===> percent/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> percent/max/input.scss +a {b: rgb(0, 0, 0, 100%)} + +<===> percent/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> percent/above/max/input.scss +a {b: rgb(0, 0, 0, 250%)} + +<===> percent/above/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/negative/input.scss +a {b: rgb(0, 0, 0, -10)} + +<===> unitless/negative/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/min/input.scss +a {b: rgb(0, 0, 0, 0)} + +<===> unitless/min/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> unitless/positive/input.scss +a {b: rgb(0, 0, 0, 0.456)} + +<===> unitless/positive/output.css +a { + b: rgba(0, 0, 0, 0.456); +} + +<===> +================================================================================ +<===> unitless/max/input.scss +a {b: rgb(0, 0, 0, 1)} + +<===> unitless/max/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/above/max/input.scss +a {b: rgb(0, 0, 0, 250)} + +<===> unitless/above/max/output.css +a { + b: black; +} + diff --git a/spec/core_functions/color/rgb/four_args/alpha_percent.hrx b/spec/core_functions/color/rgb/four_args/alpha_percent.hrx deleted file mode 100644 index f3c22b2ee4..0000000000 --- a/spec/core_functions/color/rgb/four_args/alpha_percent.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-percent { - negative: rgb(0, 0, 0, -10%); - min: rgb(0, 0, 0, 0%); - positive: rgb(0, 0, 0, 45.6%); - max: rgb(0, 0, 0, 100%); - above-max: rgb(0, 0, 0, 250%); -} - -<===> output.css -.alpha-percent { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/rgb/four_args/alpha_unitless.hrx b/spec/core_functions/color/rgb/four_args/alpha_unitless.hrx deleted file mode 100644 index 403b27aa5e..0000000000 --- a/spec/core_functions/color/rgb/four_args/alpha_unitless.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-unitless { - negative: rgb(0, 0, 0, -10); - min: rgb(0, 0, 0, 0); - positive: rgb(0, 0, 0, 0.456); - max: rgb(0, 0, 0, 1); - above-max: rgb(0, 0, 0, 250); -} - -<===> output.css -.alpha-unitless { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/rgb/four_args/basic.hrx b/spec/core_functions/color/rgb/four_args/basic.hrx deleted file mode 100644 index 6c263fb6fb..0000000000 --- a/spec/core_functions/color/rgb/four_args/basic.hrx +++ /dev/null @@ -1,32 +0,0 @@ -<===> input.scss -basic { - transparent: rgb(0, 255, 127, 0); - opaque: rgb(190, 173, 237, 1); - partial: rgb(18, 52, 86, 0.5); - named: rgb($red: 0, $green: 255, $blue: 127, $alpha: 0.3); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - red: rgb(256, 0, 0, 0.5); - green: rgb(0, -1, 0, 0.5); - blue: rgb(0, 0, 9999, 0.5); - alpha-above: rgb(0, 0, 0, 1.1); - alpha-below: rgb(0, 0, 0, -0.1); -} - -<===> output.css -basic { - transparent: rgba(0, 255, 127, 0); - opaque: #beaded; - partial: rgba(18, 52, 86, 0.5); - named: rgba(0, 255, 127, 0.3); -} - -clamped { - red: rgba(255, 0, 0, 0.5); - green: rgba(0, 0, 0, 0.5); - blue: rgba(0, 0, 255, 0.5); - alpha-above: black; - alpha-below: rgba(0, 0, 0, 0); -} diff --git a/spec/core_functions/color/rgb/four_args/clamped.hrx b/spec/core_functions/color/rgb/four_args/clamped.hrx new file mode 100644 index 0000000000..17ae727ddd --- /dev/null +++ b/spec/core_functions/color/rgb/four_args/clamped.hrx @@ -0,0 +1,53 @@ +<===> README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> red/input.scss +a {b: rgb(256, 0, 0, 0.5)} + +<===> red/output.css +a { + b: rgba(255, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> green/input.scss +a {b: rgb(0, -1, 0, 0.5)} + +<===> green/output.css +a { + b: rgba(0, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> blue/input.scss +a {b: rgb(0, 0, 9999, 0.5)} + +<===> blue/output.css +a { + b: rgba(0, 0, 255, 0.5); +} + +<===> +================================================================================ +<===> alpha/above/input.scss +a {b: rgb(0, 0, 0, 1.1)} + +<===> alpha/above/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> alpha/below/input.scss +a {b: rgb(0, 0, 0, -0.1)} + +<===> alpha/below/output.css +a { + b: rgba(0, 0, 0, 0); +} + diff --git a/spec/core_functions/color/rgb/four_args/in_gamut.hrx b/spec/core_functions/color/rgb/four_args/in_gamut.hrx new file mode 100644 index 0000000000..671e2d4630 --- /dev/null +++ b/spec/core_functions/color/rgb/four_args/in_gamut.hrx @@ -0,0 +1,37 @@ +<===> transparent/input.scss +a {b: rgb(0, 255, 127, 0)} + +<===> transparent/output.css +a { + b: rgba(0, 255, 127, 0); +} + +<===> +================================================================================ +<===> opaque/input.scss +a {b: rgb(190, 173, 237, 1)} + +<===> opaque/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> partial/input.scss +a {b: rgb(18, 52, 86, 0.5)} + +<===> partial/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: rgb($red: 0, $green: 255, $blue: 127, $alpha: 0.3)} + +<===> named/output.css +a { + b: rgba(0, 255, 127, 0.3); +} diff --git a/spec/core_functions/color/rgb/four_args/options.yml b/spec/core_functions/color/rgb/four_args/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/rgb/four_args/options.yml +++ b/spec/core_functions/color/rgb/four_args/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/rgb/four_args/special_functions.hrx b/spec/core_functions/color/rgb/four_args/special_functions.hrx index 3868d21c9a..c23e57c2a1 100644 --- a/spec/core_functions/color/rgb/four_args/special_functions.hrx +++ b/spec/core_functions/color/rgb/four_args/special_functions.hrx @@ -1,65 +1,245 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -a { - calc-1: rgb(calc(1), 2, 3, 0.4); - calc-2: rgb(1, calc(2), 3, 0.4); - calc-3: rgb(1, 2, calc(3), 0.4); - calc-4: rgb(1, 2, 3, calc(0.4)); - - var-1: rgb(var(--foo), 2, 3, 0.4); - var-2: rgb(1, var(--foo), 3, 0.4); - var-3: rgb(1, 2, var(--foo), 0.4); - var-4: rgb(1, 2, 3, var(--foo)); - - env-1: rgb(env(--foo), 2, 3, 0.4); - env-2: rgb(1, env(--foo), 3, 0.4); - env-3: rgb(1, 2, env(--foo), 0.4); - env-4: rgb(1, 2, 3, env(--foo)); - - min-1: rgb(min(1), 2, 3, 0.4); - min-2: rgb(1, min(2), 3, 0.4); - min-3: rgb(1, 2, min(3), 0.4); - min-4: rgb(1, 2, 3, min(0.4)); - - max-1: rgb(max(1), 2, 3, 0.4); - max-2: rgb(1, max(2), 3, 0.4); - max-3: rgb(1, 2, max(3), 0.4); - max-4: rgb(1, 2, 3, max(0.4)); - - calc-2-args: rgb(blue, calc(0.4)); - var-2-args-alpha: rgb(blue, var(--foo)); - var-2-args-color: rgb(var(--foo), 0.4); - var-2-args-both: rgb(var(--foo), var(--foo)); -} - -<===> output.css -a { - calc-1: rgb(calc(1), 2, 3, 0.4); - calc-2: rgb(1, calc(2), 3, 0.4); - calc-3: rgb(1, 2, calc(3), 0.4); - calc-4: rgb(1, 2, 3, calc(0.4)); - var-1: rgb(var(--foo), 2, 3, 0.4); - var-2: rgb(1, var(--foo), 3, 0.4); - var-3: rgb(1, 2, var(--foo), 0.4); - var-4: rgb(1, 2, 3, var(--foo)); - env-1: rgb(env(--foo), 2, 3, 0.4); - env-2: rgb(1, env(--foo), 3, 0.4); - env-3: rgb(1, 2, env(--foo), 0.4); - env-4: rgb(1, 2, 3, env(--foo)); - min-1: rgb(min(1), 2, 3, 0.4); - min-2: rgb(1, min(2), 3, 0.4); - min-3: rgb(1, 2, min(3), 0.4); - min-4: rgb(1, 2, 3, min(0.4)); - max-1: rgb(max(1), 2, 3, 0.4); - max-2: rgb(1, max(2), 3, 0.4); - max-3: rgb(1, 2, max(3), 0.4); - max-4: rgb(1, 2, 3, max(0.4)); - calc-2-args: rgb(0, 0, 255, calc(0.4)); - var-2-args-alpha: rgb(0, 0, 255, var(--foo)); - var-2-args-color: rgb(var(--foo), 0.4); - var-2-args-both: rgb(var(--foo), var(--foo)); +- sass/libsass#2726 + +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: rgb(calc(1), 2, 3, 0.4)} + +<===> calc/arg_1/output.css +a { + b: rgb(calc(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: rgb(1, calc(2), 3, 0.4)} + +<===> calc/arg_2/output.css +a { + b: rgb(1, calc(2), 3, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: rgb(1, 2, calc(3), 0.4)} + +<===> calc/arg_3/output.css +a { + b: rgb(1, 2, calc(3), 0.4); +} + +<===> +================================================================================ +<===> calc/arg_4/input.scss +a {b: rgb(1, 2, 3, calc(0.4))} + +<===> calc/arg_4/output.css +a { + b: rgb(1, 2, 3, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: rgb(var(--foo), 2, 3, 0.4)} + +<===> var/arg_1/output.css +a { + b: rgb(var(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: rgb(1, var(--foo), 3, 0.4)} + +<===> var/arg_2/output.css +a { + b: rgb(1, var(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: rgb(1, 2, var(--foo), 0.4)} + +<===> var/arg_3/output.css +a { + b: rgb(1, 2, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_4/input.scss +a {b: rgb(1, 2, 3, var(--foo))} + +<===> var/arg_4/output.css +a { + b: rgb(1, 2, 3, var(--foo)); +} + +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: rgb(env(--foo), 2, 3, 0.4)} + +<===> env/arg_1/output.css +a { + b: rgb(env(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: rgb(1, env(--foo), 3, 0.4)} + +<===> env/arg_2/output.css +a { + b: rgb(1, env(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: rgb(1, 2, env(--foo), 0.4)} + +<===> env/arg_3/output.css +a { + b: rgb(1, 2, env(--foo), 0.4); +} + +<===> +================================================================================ +<===> env/arg_4/input.scss +a {b: rgb(1, 2, 3, env(--foo))} + +<===> env/arg_4/output.css +a { + b: rgb(1, 2, 3, env(--foo)); +} + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: rgb(min(1), 2, 3, 0.4)} + +<===> min/arg_1/output.css +a { + b: rgb(min(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: rgb(1, min(2), 3, 0.4)} + +<===> min/arg_2/output.css +a { + b: rgb(1, min(2), 3, 0.4); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: rgb(1, 2, min(3), 0.4)} + +<===> min/arg_3/output.css +a { + b: rgb(1, 2, min(3), 0.4); +} + +<===> +================================================================================ +<===> min/arg_4/input.scss +a {b: rgb(1, 2, 3, min(0.4))} + +<===> min/arg_4/output.css +a { + b: rgb(1, 2, 3, min(0.4)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: rgb(max(1), 2, 3, 0.4)} + +<===> max/arg_1/output.css +a { + b: rgb(max(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: rgb(1, max(2), 3, 0.4)} + +<===> max/arg_2/output.css +a { + b: rgb(1, max(2), 3, 0.4); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: rgb(1, 2, max(3), 0.4)} + +<===> max/arg_3/output.css +a { + b: rgb(1, 2, max(3), 0.4); +} + +<===> +================================================================================ +<===> max/arg_4/input.scss +a {b: rgb(1, 2, 3, max(0.4))} + +<===> max/arg_4/output.css +a { + b: rgb(1, 2, 3, max(0.4)); +} + +<===> +================================================================================ +<===> calc/arg_2/args/input.scss +a {b: rgb(blue, calc(0.4))} + +<===> calc/arg_2/args/output.css +a { + b: rgb(0, 0, 255, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_2/args/alpha/input.scss +a {b: rgb(blue, var(--foo))} + +<===> var/arg_2/args/alpha/output.css +a { + b: rgb(0, 0, 255, var(--foo)); +} + +<===> +================================================================================ +<===> var/arg_2/args/color/input.scss +a {b: rgb(var(--foo), 0.4)} + +<===> var/arg_2/args/color/output.css +a { + b: rgb(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/args/both/input.scss +a {b: rgb(var(--foo), var(--foo))} + +<===> var/arg_2/args/both/output.css +a { + b: rgb(var(--foo), var(--foo)); } + diff --git a/spec/core_functions/color/rgb/multi_argument_var.hrx b/spec/core_functions/color/rgb/multi_argument_var.hrx index 01c41d4ed9..814e7c0505 100644 --- a/spec/core_functions/color/rgb/multi_argument_var.hrx +++ b/spec/core_functions/color/rgb/multi_argument_var.hrx @@ -3,23 +3,64 @@ :todo: - libsass -<===> input.scss +<===> +================================================================================ +<===> 1_of_3/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgb(var(--foo), 3, 0.4)} + +<===> 1_of_3/output.css a { - // var() is substituted before parsing, so it may contain multiple arguments. b: rgb(var(--foo), 3, 0.4); - b: rgb(1, var(--foo), 0.4); - b: rgb(1, 2, var(--foo)); - b: rgb(var(--foo), 0.4); - b: rgb(1, var(--foo)); - b: rgb(var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> 2_of_3/input.scss +a {b: rgb(1, var(--foo), 0.4)} + +<===> 2_of_3/output.css a { - b: rgb(var(--foo), 3, 0.4); b: rgb(1, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 3_of_3/input.scss +a {b: rgb(1, 2, var(--foo))} + +<===> 3_of_3/output.css +a { b: rgb(1, 2, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_2/input.scss +a {b: rgb(var(--foo), 0.4)} + +<===> 1_of_2/output.css +a { b: rgb(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 2_of_2/input.scss +a {b: rgb(1, var(--foo))} + +<===> 2_of_2/output.css +a { b: rgb(1, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_1/input.scss +a {b: rgb(var(--foo))} + +<===> 1_of_1/output.css +a { b: rgb(var(--foo)); } + diff --git a/spec/core_functions/color/rgb/one_arg/alpha.hrx b/spec/core_functions/color/rgb/one_arg/alpha.hrx index 2134d07060..6b6001bc21 100644 --- a/spec/core_functions/color/rgb/one_arg/alpha.hrx +++ b/spec/core_functions/color/rgb/one_arg/alpha.hrx @@ -1,42 +1,134 @@ -<===> input.scss -basic { - transparent: rgb(0 255 127 / 0); - opaque: rgb(190 173 237 / 1); - partial: rgb(18 52 86 / 0.5); - percent: rgb(18 52 86 / 50%); - named: rgb($channels: 0 255 127 / 0.3); - - // Extra parens shouldn't cause the slash to be forced into division. - parenthesized: (rgb(0 255 127 / 0.3)); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - red: rgb(256 0 0 / 0.5); - green: rgb(0 -1 0 / 0.5); - blue: rgb(0 0 9999 / 0.5); - alpha-above: rgb(0 0 0 / 1.1); - alpha-below: rgb(0 0 0 / -0.1); - alpha-above-percent: rgb(0 0 0 / 250%); - alpha-below-percent: rgb(0 0 0 / -10%); -} - -<===> output.css -basic { - transparent: rgba(0, 255, 127, 0); - opaque: #beaded; - partial: rgba(18, 52, 86, 0.5); - percent: rgba(18, 52, 86, 0.5); - named: rgba(0, 255, 127, 0.3); - parenthesized: rgba(0, 255, 127, 0.3); -} - -clamped { - red: rgba(255, 0, 0, 0.5); - green: rgba(0, 0, 0, 0.5); - blue: rgba(0, 0, 255, 0.5); - alpha-above: black; - alpha-below: rgba(0, 0, 0, 0); - alpha-above-percent: black; - alpha-below-percent: rgba(0, 0, 0, 0); +<===> in_gamut/transparent/input.scss +a {b: rgb(0 255 127 / 0)} + +<===> in_gamut/transparent/output.css +a { + b: rgba(0, 255, 127, 0); +} + +<===> +================================================================================ +<===> in_gamut/opaque/input.scss +a {b: rgb(190 173 237 / 1)} + +<===> in_gamut/opaque/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> in_gamut/partial/input.scss +a {b: rgb(18 52 86 / 0.5)} + +<===> in_gamut/partial/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/percent/input.scss +a {b: rgb(18 52 86 / 50%)} + +<===> in_gamut/percent/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/named/input.scss +a {b: rgb($channels: 0 255 127 / 0.3)} + +<===> in_gamut/named/output.css +a { + b: rgba(0, 255, 127, 0.3); +} + +<===> +================================================================================ +<===> in_gamut/parenthesized/input.scss +// Extra parens shouldn't cause the slash to be forced into division. +a {b: rgb(0 255 127 / 0.3)} + +<===> in_gamut/parenthesized/output.css +a { + b: rgba(0, 255, 127, 0.3); +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgb(256 0 0 / 0.5)} + +<===> clamped/red/output.css +a { + b: rgba(255, 0, 0, 0.5); } + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgb(0 -1 0 / 0.5)} + +<===> clamped/green/output.css +a { + b: rgba(0, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgb(0 0 9999 / 0.5)} + +<===> clamped/blue/output.css +a { + b: rgba(0, 0, 255, 0.5); +} + +<===> +================================================================================ +<===> clamped/alpha/above/input.scss +a {b: rgb(0 0 0 / 1.1)} + +<===> clamped/alpha/above/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/alpha/below/input.scss +a {b: rgb(0 0 0 / -0.1)} + +<===> clamped/alpha/below/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> clamped/alpha/above/percent/input.scss +a {b: rgb(0 0 0 / 250%)} + +<===> clamped/alpha/above/percent/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/alpha/below/percent/input.scss +a {b: rgb(0 0 0 / -10%)} + +<===> clamped/alpha/below/percent/output.css +a { + b: rgba(0, 0, 0, 0); +} + diff --git a/spec/core_functions/color/rgb/one_arg/basic.hrx b/spec/core_functions/color/rgb/one_arg/basic.hrx deleted file mode 100644 index acfa0c7e01..0000000000 --- a/spec/core_functions/color/rgb/one_arg/basic.hrx +++ /dev/null @@ -1,56 +0,0 @@ -<===> input.scss -// Channels may be specified as unitless numbers between 0 and 255. -unitless { - numbers: rgb(18 52 86); - beaded: rgb(190 173 237); - springgreen: rgb(0 255 127); - named: rgb($channels: 0 255 127); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgb(256 0 0); - green: rgb(0 -1 0); - blue: rgb(0 0 9999); - } -} - -// Channels may also be specified as percents between 0% and 100%, which may be -// mixed with unitless numbers. -percents { - all-percent: rgb(7.1% 20.4% 33.9%); - unitless-green: rgb(74.7% 173 93%); - percent-green: rgb(190 68% 237); - boundaries: rgb(0% 100% 50%); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgb(100.1% 0 0); - green: rgb(0 -0.1% 0); - blue: rgb(0 0 200%); - } -} - -<===> output.css -unitless { - numbers: #123456; - beaded: #beaded; - springgreen: springgreen; - named: springgreen; -} -unitless clamped { - red: red; - green: black; - blue: blue; -} - -percents { - all-percent: #123456; - unitless-green: #beaded; - percent-green: #beaded; - boundaries: #00ff80; -} -percents clamped { - red: red; - green: black; - blue: blue; -} diff --git a/spec/core_functions/color/rgb/one_arg/no_alpha.hrx b/spec/core_functions/color/rgb/one_arg/no_alpha.hrx new file mode 100644 index 0000000000..b5a89725f3 --- /dev/null +++ b/spec/core_functions/color/rgb/one_arg/no_alpha.hrx @@ -0,0 +1,159 @@ +<===> unitless/README.md +Channels may be specified as unitless numbers between 0 and 255. + +<===> +================================================================================ +<===> unitless/numbers/input.scss +a {b: rgb(18 52 86)} + +<===> unitless/numbers/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> unitless/beaded/input.scss +a {b: rgb(190 173 237)} + +<===> unitless/beaded/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> unitless/springgreen/input.scss +a {b: rgb(0 255 127)} + +<===> unitless/springgreen/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> unitless/named/input.scss +a {b: rgb($channels: 0 255 127)} + +<===> unitless/named/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> unitless/clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> unitless/clamped/red/input.scss +a {b: rgb(256 0 0)} + +<===> unitless/clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> unitless/clamped/green/input.scss +a {b: rgb(0 -1 0)} + +<===> unitless/clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/clamped/blue/input.scss +a {b: rgb(0 0 9999)} + +<===> unitless/clamped/blue/output.css +a { + b: blue; +} + +<===> +================================================================================ +<===> percents/README.md +Channels may also be specified as percents between 0% and 100%, which may be +// mixed with unitless numbers. + +<===> +================================================================================ +<===> percents/all/percent/input.scss +a {b: rgb(7.1% 20.4% 33.9%)} + +<===> percents/all/percent/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> percents/unitless/green/input.scss +a {b: rgb(74.7% 173 93%)} + +<===> percents/unitless/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percents/percent/green/input.scss +a {b: rgb(190 68% 237)} + +<===> percents/percent/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percents/boundaries/input.scss +a {b: rgb(0% 100% 50%)} + +<===> percents/boundaries/output.css +a { + b: #00ff80; +} + +<===> +================================================================================ +<===> percents/clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> percents/clamped/red/input.scss +a {b: rgb(100.1% 0 0)} + +<===> percents/clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> percents/clamped/green/input.scss +a {b: rgb(0 -0.1% 0)} + +<===> percents/clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> percents/clamped/blue/input.scss +a {b: rgb(0 0 200%)} + +<===> percents/clamped/blue/output.css +a { + b: blue; +} + diff --git a/spec/core_functions/color/rgb/one_arg/options.yml b/spec/core_functions/color/rgb/one_arg/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/rgb/one_arg/options.yml +++ b/spec/core_functions/color/rgb/one_arg/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/rgb/one_arg/special_functions.hrx b/spec/core_functions/color/rgb/one_arg/special_functions.hrx index df760b0323..bb4be2a8b5 100644 --- a/spec/core_functions/color/rgb/one_arg/special_functions.hrx +++ b/spec/core_functions/color/rgb/one_arg/special_functions.hrx @@ -1,112 +1,416 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -no-alpha { - calc-1: rgb(calc(1) 2 3); - calc-2: rgb(1 calc(2) 3); - calc-3: rgb(1 2 calc(3)); - - var-1: rgb(var(--foo) 2 3); - var-2: rgb(1 var(--foo) 3); - var-3: rgb(1 2 var(--foo)); - - env-1: rgb(env(--foo) 2 3); - env-2: rgb(1 env(--foo) 3); - env-3: rgb(1 2 env(--foo)); - - min-1: rgb(min(1) 2 3); - min-2: rgb(1 min(2) 3); - min-3: rgb(1 2 min(3)); - - max-1: rgb(max(1) 2 3); - max-2: rgb(1 max(2) 3); - max-3: rgb(1 2 max(3)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: rgb(var(--foo) 2); - multi-argument-var-2-of-2: rgb(1 var(--foo)); - multi-argument-var-1-of-1: rgb(var(--foo)); -} - -alpha { - calc-1: rgb(calc(1) 2 3 / 0.4); - calc-2: rgb(1 calc(2) 3 / 0.4); - calc-3: rgb(1 2 calc(3) / 0.4); - calc-4: rgb(1 2 3 / calc(0.4)); - - var-1: rgb(var(--foo) 2 3 / 0.4); - var-2: rgb(1 var(--foo) 3 / 0.4); - var-3: rgb(1 2 var(--foo) / 0.4); - var-4: rgb(1 2 3 / var(--foo)); - - env-1: rgb(env(--foo) 2 3 / 0.4); - env-2: rgb(1 env(--foo) 3 / 0.4); - env-3: rgb(1 2 env(--foo) / 0.4); - env-4: rgb(1 2 3 / env(--foo)); - - min-1: rgb(min(1) 2 3 / 0.4); - min-2: rgb(1 min(2) 3 / 0.4); - min-3: rgb(1 2 min(3) / 0.4); - min-4: rgb(1 2 3 / min(0.4)); - - max-1: rgb(max(1) 2 3 / 0.4); - max-2: rgb(1 max(2) 3 / 0.4); - max-3: rgb(1 2 max(3) / 0.4); - max-4: rgb(1 2 3 / max(0.4)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: rgb(var(--foo) 2 / 0.4); - multi-argument-var-2-of-2: rgb(1 var(--foo) / 0.4); - multi-argument-var-1-of-1: rgb(var(--foo) / 0.4); -} - -<===> output.css -no-alpha { - calc-1: rgb(calc(1), 2, 3); - calc-2: rgb(1, calc(2), 3); - calc-3: rgb(1, 2, calc(3)); - var-1: rgb(var(--foo), 2, 3); - var-2: rgb(1, var(--foo), 3); - var-3: rgb(1, 2, var(--foo)); - env-1: rgb(env(--foo), 2, 3); - env-2: rgb(1, env(--foo), 3); - env-3: rgb(1, 2, env(--foo)); - min-1: rgb(min(1), 2, 3); - min-2: rgb(1, min(2), 3); - min-3: rgb(1, 2, min(3)); - max-1: rgb(max(1), 2, 3); - max-2: rgb(1, max(2), 3); - max-3: rgb(1, 2, max(3)); - multi-argument-var-1-of-2: rgb(var(--foo) 2); - multi-argument-var-2-of-2: rgb(1 var(--foo)); - multi-argument-var-1-of-1: rgb(var(--foo)); -} - -alpha { - calc-1: rgb(calc(1), 2, 3, 0.4); - calc-2: rgb(1, calc(2), 3, 0.4); - calc-3: rgb(1 2 calc(3)/0.4); - calc-4: rgb(1 2 3/calc(0.4)); - var-1: rgb(var(--foo), 2, 3, 0.4); - var-2: rgb(1, var(--foo), 3, 0.4); - var-3: rgb(1 2 var(--foo)/0.4); - var-4: rgb(1 2 3/var(--foo)); - env-1: rgb(env(--foo), 2, 3, 0.4); - env-2: rgb(1, env(--foo), 3, 0.4); - env-3: rgb(1 2 env(--foo)/0.4); - env-4: rgb(1 2 3/env(--foo)); - min-1: rgb(min(1), 2, 3, 0.4); - min-2: rgb(1, min(2), 3, 0.4); - min-3: rgb(1 2 min(3)/0.4); - min-4: rgb(1 2 3/min(0.4)); - max-1: rgb(max(1), 2, 3, 0.4); - max-2: rgb(1, max(2), 3, 0.4); - max-3: rgb(1 2 max(3)/0.4); - max-4: rgb(1 2 3/max(0.4)); - multi-argument-var-1-of-2: rgb(var(--foo) 2/0.4); - multi-argument-var-2-of-2: rgb(1 var(--foo)/0.4); - multi-argument-var-1-of-1: rgb(var(--foo)/0.4); +- sass/libsass#2726 + +<===> +================================================================================ +<===> no_alpha/calc/arg_1/input.scss +a {b: rgb(calc(1) 2 3)} + +<===> no_alpha/calc/arg_1/output.css +a { + b: rgb(calc(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_2/input.scss +a {b: rgb(1 calc(2) 3)} + +<===> no_alpha/calc/arg_2/output.css +a { + b: rgb(1, calc(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_3/input.scss +a {b: rgb(1 2 calc(3))} + +<===> no_alpha/calc/arg_3/output.css +a { + b: rgb(1, 2, calc(3)); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_1/input.scss +a {b: rgb(var(--foo) 2 3)} + +<===> no_alpha/var/arg_1/output.css +a { + b: rgb(var(--foo), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_2/input.scss +a {b: rgb(1 var(--foo) 3)} + +<===> no_alpha/var/arg_2/output.css +a { + b: rgb(1, var(--foo), 3); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_3/input.scss +a {b: rgb(1 2 var(--foo))} + +<===> no_alpha/var/arg_3/output.css +a { + b: rgb(1, 2, var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_1/input.scss +a {b: rgb(env(--foo) 2 3)} + +<===> no_alpha/env/arg_1/output.css +a { + b: rgb(env(--foo), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_2/input.scss +a {b: rgb(1 env(--foo) 3)} + +<===> no_alpha/env/arg_2/output.css +a { + b: rgb(1, env(--foo), 3); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_3/input.scss +a {b: rgb(1 2 env(--foo))} + +<===> no_alpha/env/arg_3/output.css +a { + b: rgb(1, 2, env(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_1/input.scss +a {b: rgb(min(1) 2 3)} + +<===> no_alpha/min/arg_1/output.css +a { + b: rgb(min(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_2/input.scss +a {b: rgb(1 min(2) 3)} + +<===> no_alpha/min/arg_2/output.css +a { + b: rgb(1, min(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_3/input.scss +a {b: rgb(1 2 min(3))} + +<===> no_alpha/min/arg_3/output.css +a { + b: rgb(1, 2, min(3)); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_1/input.scss +a {b: rgb(max(1) 2 3)} + +<===> no_alpha/max/arg_1/output.css +a { + b: rgb(max(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_2/input.scss +a {b: rgb(1 max(2) 3)} + +<===> no_alpha/max/arg_2/output.css +a { + b: rgb(1, max(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_3/input.scss +a {b: rgb(1 2 max(3))} + +<===> no_alpha/max/arg_3/output.css +a { + b: rgb(1, 2, max(3)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgb(var(--foo) 2)} + +<===> no_alpha/multi_argument_var/1_of_2/output.css +a { + b: rgb(var(--foo) 2); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/2_of_2/input.scss +a {b: rgb(1 var(--foo))} + +<===> no_alpha/multi_argument_var/2_of_2/output.css +a { + b: rgb(1 var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_1/input.scss +a {b: rgb(var(--foo))} + +<===> no_alpha/multi_argument_var/1_of_1/output.css +a { + b: rgb(var(--foo)); +} + +<===> +================================================================================ +<===> alpha/calc/arg_1/input.scss +a {b: rgb(calc(1) 2 3 / 0.4)} + +<===> alpha/calc/arg_1/output.css +a { + b: rgb(calc(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_2/input.scss +a {b: rgb(1 calc(2) 3 / 0.4)} + +<===> alpha/calc/arg_2/output.css +a { + b: rgb(1, calc(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_3/input.scss +a {b: rgb(1 2 calc(3) / 0.4)} + +<===> alpha/calc/arg_3/output.css +a { + b: rgb(1 2 calc(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_4/input.scss +a {b: rgb(1 2 3 / calc(0.4))} + +<===> alpha/calc/arg_4/output.css +a { + b: rgb(1 2 3/calc(0.4)); +} + +<===> +================================================================================ +<===> alpha/var/arg_1/input.scss +a {b: rgb(var(--foo) 2 3 / 0.4)} + +<===> alpha/var/arg_1/output.css +a { + b: rgb(var(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_2/input.scss +a {b: rgb(1 var(--foo) 3 / 0.4)} + +<===> alpha/var/arg_2/output.css +a { + b: rgb(1, var(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_3/input.scss +a {b: rgb(1 2 var(--foo) / 0.4)} + +<===> alpha/var/arg_3/output.css +a { + b: rgb(1 2 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_4/input.scss +a {b: rgb(1 2 3 / var(--foo))} + +<===> alpha/var/arg_4/output.css +a { + b: rgb(1 2 3/var(--foo)); +} + +<===> +================================================================================ +<===> alpha/env/arg_1/input.scss +a {b: rgb(env(--foo) 2 3 / 0.4)} + +<===> alpha/env/arg_1/output.css +a { + b: rgb(env(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_2/input.scss +a {b: rgb(1 env(--foo) 3 / 0.4)} + +<===> alpha/env/arg_2/output.css +a { + b: rgb(1, env(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_3/input.scss +a {b: rgb(1 2 env(--foo) / 0.4)} + +<===> alpha/env/arg_3/output.css +a { + b: rgb(1 2 env(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_4/input.scss +a {b: rgb(1 2 3 / env(--foo))} + +<===> alpha/env/arg_4/output.css +a { + b: rgb(1 2 3/env(--foo)); +} + +<===> +================================================================================ +<===> alpha/min/arg_1/input.scss +a {b: rgb(min(1) 2 3 / 0.4)} + +<===> alpha/min/arg_1/output.css +a { + b: rgb(min(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_2/input.scss +a {b: rgb(1 min(2) 3 / 0.4)} + +<===> alpha/min/arg_2/output.css +a { + b: rgb(1, min(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_3/input.scss +a {b: rgb(1 2 min(3) / 0.4)} + +<===> alpha/min/arg_3/output.css +a { + b: rgb(1 2 min(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_4/input.scss +a {b: rgb(1 2 3 / min(0.4))} + +<===> alpha/min/arg_4/output.css +a { + b: rgb(1 2 3/min(0.4)); +} + +<===> +================================================================================ +<===> alpha/max/arg_1/input.scss +a {b: rgb(max(1) 2 3 / 0.4)} + +<===> alpha/max/arg_1/output.css +a { + b: rgb(max(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_2/input.scss +a {b: rgb(1 max(2) 3 / 0.4)} + +<===> alpha/max/arg_2/output.css +a { + b: rgb(1, max(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_3/input.scss +a {b: rgb(1 2 max(3) / 0.4)} + +<===> alpha/max/arg_3/output.css +a { + b: rgb(1 2 max(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_4/input.scss +a {b: rgb(1 2 3 / max(0.4))} + +<===> alpha/max/arg_4/output.css +a { + b: rgb(1 2 3/max(0.4)); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgb(var(--foo) 2 / 0.4)} + +<===> alpha/multi_argument_var/1_of_2/output.css +a { + b: rgb(var(--foo) 2/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/2_of_2/input.scss +a {b: rgb(1 var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/2_of_2/output.css +a { + b: rgb(1 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_1/input.scss +a {b: rgb(var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/1_of_1/output.css +a { + b: rgb(var(--foo)/0.4); } diff --git a/spec/core_functions/color/rgb/three_args/basic.hrx b/spec/core_functions/color/rgb/three_args/basic.hrx deleted file mode 100644 index 2d1bdde72d..0000000000 --- a/spec/core_functions/color/rgb/three_args/basic.hrx +++ /dev/null @@ -1,56 +0,0 @@ -<===> input.scss -// Channels may be specified as unitless numbers between 0 and 255. -unitless { - numbers: rgb(18, 52, 86); - beaded: rgb(190, 173, 237); - springgreen: rgb(0, 255, 127); - named: rgb($red: 0, $green: 255, $blue: 127); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgb(256, 0, 0); - green: rgb(0, -1, 0); - blue: rgb(0, 0, 9999); - } -} - -// Channels may also be specified as percents between 0% and 100%, which may be -// mixed with unitless numbers. -percents { - all-percent: rgb(7.1%, 20.4%, 33.9%); - unitless-green: rgb(74.7%, 173, 93%); - percent-green: rgb(190, 68%, 237); - boundaries: rgb(0%, 100%, 50%); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgb(100.1%, 0, 0); - green: rgb(0, -0.1%, 0); - blue: rgb(0, 0, 200%); - } -} - -<===> output.css -unitless { - numbers: #123456; - beaded: #beaded; - springgreen: springgreen; - named: springgreen; -} -unitless clamped { - red: red; - green: black; - blue: blue; -} - -percents { - all-percent: #123456; - unitless-green: #beaded; - percent-green: #beaded; - boundaries: #00ff80; -} -percents clamped { - red: red; - green: black; - blue: blue; -} diff --git a/spec/core_functions/color/rgb/three_args/percents.hrx b/spec/core_functions/color/rgb/three_args/percents.hrx new file mode 100644 index 0000000000..41a29c3251 --- /dev/null +++ b/spec/core_functions/color/rgb/three_args/percents.hrx @@ -0,0 +1,81 @@ +<===> +================================================================================ +<===> README.md +Channels may also be specified as percents between 0% and 100%, which may be +mixed with unitless numbers. + +<===> +================================================================================ +<===> all/percent/input.scss +a {b: rgb(7.1%, 20.4%, 33.9%)} + +<===> all/percent/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> unitless/green/input.scss +a {b: rgb(74.7%, 173, 93%)} + +<===> unitless/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percent/green/input.scss +a {b: rgb(190, 68%, 237)} + +<===> percent/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> boundaries/input.scss +a {b: rgb(0%, 100%, 50%)} + +<===> boundaries/output.css +a { + b: #00ff80; +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgb(100.1%, 0, 0)} + +<===> clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgb(0, -0.1%, 0)} + +<===> clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgb(0, 0, 200%)} + +<===> clamped/blue/output.css +a { + b: blue; +} + diff --git a/spec/core_functions/color/rgb/three_args/special_functions.hrx b/spec/core_functions/color/rgb/three_args/special_functions.hrx index d8c8634075..73a1581ec8 100644 --- a/spec/core_functions/color/rgb/three_args/special_functions.hrx +++ b/spec/core_functions/color/rgb/three_args/special_functions.hrx @@ -1,46 +1,155 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 -<===> input.scss +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: rgb(calc(1), 2, 3)} + +<===> calc/arg_1/output.css +a { + b: rgb(calc(1), 2, 3); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: rgb(1, calc(2), 3)} + +<===> calc/arg_2/output.css +a { + b: rgb(1, calc(2), 3); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: rgb(1, 2, calc(3))} + +<===> calc/arg_3/output.css +a { + b: rgb(1, 2, calc(3)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: rgb(var(--foo), 2, 3)} + +<===> var/arg_1/output.css a { - calc-1: rgb(calc(1), 2, 3); - calc-2: rgb(1, calc(2), 3); - calc-3: rgb(1, 2, calc(3)); + b: rgb(var(--foo), 2, 3); +} - var-1: rgb(var(--foo), 2, 3); - var-2: rgb(1, var(--foo), 3); - var-3: rgb(1, 2, var(--foo)); +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: rgb(1, var(--foo), 3)} - env-1: rgb(env(--foo), 2, 3); - env-2: rgb(1, env(--foo), 3); - env-3: rgb(1, 2, env(--foo)); +<===> var/arg_2/output.css +a { + b: rgb(1, var(--foo), 3); +} - min-1: rgb(min(1), 2, 3); - min-2: rgb(1, min(2), 3); - min-3: rgb(1, 2, min(3)); +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: rgb(1, 2, var(--foo))} - max-1: rgb(max(1), 2, 3); - max-2: rgb(1, max(2), 3); - max-3: rgb(1, 2, max(3)); +<===> var/arg_3/output.css +a { + b: rgb(1, 2, var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: rgb(env(--foo), 2, 3)} + +<===> env/arg_1/output.css +a { + b: rgb(env(--foo), 2, 3); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: rgb(1, env(--foo), 3)} + +<===> env/arg_2/output.css +a { + b: rgb(1, env(--foo), 3); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: rgb(1, 2, env(--foo))} + +<===> env/arg_3/output.css a { - calc-1: rgb(calc(1), 2, 3); - calc-2: rgb(1, calc(2), 3); - calc-3: rgb(1, 2, calc(3)); - var-1: rgb(var(--foo), 2, 3); - var-2: rgb(1, var(--foo), 3); - var-3: rgb(1, 2, var(--foo)); - env-1: rgb(env(--foo), 2, 3); - env-2: rgb(1, env(--foo), 3); - env-3: rgb(1, 2, env(--foo)); - min-1: rgb(min(1), 2, 3); - min-2: rgb(1, min(2), 3); - min-3: rgb(1, 2, min(3)); - max-1: rgb(max(1), 2, 3); - max-2: rgb(1, max(2), 3); - max-3: rgb(1, 2, max(3)); + b: rgb(1, 2, env(--foo)); } + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: rgb(min(1), 2, 3)} + +<===> min/arg_1/output.css +a { + b: rgb(min(1), 2, 3); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: rgb(1, min(2), 3)} + +<===> min/arg_2/output.css +a { + b: rgb(1, min(2), 3); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: rgb(1, 2, min(3))} + +<===> min/arg_3/output.css +a { + b: rgb(1, 2, min(3)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: rgb(max(1), 2, 3)} + +<===> max/arg_1/output.css +a { + b: rgb(max(1), 2, 3); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: rgb(1, max(2), 3)} + +<===> max/arg_2/output.css +a { + b: rgb(1, max(2), 3); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: rgb(1, 2, max(3))} + +<===> max/arg_3/output.css +a { + b: rgb(1, 2, max(3)); +} + diff --git a/spec/core_functions/color/rgb/three_args/unitless.hrx b/spec/core_functions/color/rgb/three_args/unitless.hrx new file mode 100644 index 0000000000..a67b265f1c --- /dev/null +++ b/spec/core_functions/color/rgb/three_args/unitless.hrx @@ -0,0 +1,77 @@ +<===> README.md +Channels may be specified as unitless numbers between 0 and 255. + +<===> +================================================================================ +<===> numbers/input.scss +a {b: rgb(18, 52, 86)} + +<===> numbers/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> beaded/input.scss +a {b: rgb(190, 173, 237)} + +<===> beaded/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> springgreen/input.scss +a {b: rgb(0, 255, 127)} + +<===> springgreen/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: rgb($red: 0, $green: 255, $blue: 127)} + +<===> named/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgb(256, 0, 0)} + +<===> clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgb(0, -1, 0)} + +<===> clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgb(0, 0, 9999)} + +<===> clamped/blue/output.css +a { + b: blue; +} diff --git a/spec/core_functions/color/rgb/two_args.hrx b/spec/core_functions/color/rgb/two_args.hrx index 2b9ea2f724..b1967ad892 100644 --- a/spec/core_functions/color/rgb/two_args.hrx +++ b/spec/core_functions/color/rgb/two_args.hrx @@ -1,61 +1,125 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 -<===> input.scss -opaque-to { - opaque: rgb(#123, 1); - partial: rgb(#123, 0.5); - transparent: rgb(#123, 0); +<===> +================================================================================ +<===> opaque_to/opaque/input.scss +a {b: rgb(#123, 1)} + +<===> opaque_to/opaque/output.css +a { + b: #112233; } -partial-to { - $color: rgb(0, 0, 255, 0.3); - opaque: rgb($color, 1); - partial: rgb($color, 0.5); - transparent: rgb($color, 0); +<===> +================================================================================ +<===> opaque_to/partial/input.scss +a {b: rgb(#123, 0.5)} + +<===> opaque_to/partial/output.css +a { + b: rgba(17, 34, 51, 0.5); } -transparent-to { - opaque: rgb(transparent, 1); - partial: rgb(transparent, 0.5); - transparent: rgb(transparent, 0); +<===> +================================================================================ +<===> opaque_to/transparent/input.scss +a {b: rgb(#123, 0)} + +<===> opaque_to/transparent/output.css +a { + b: rgba(17, 34, 51, 0); } -clamped { - opaque: rgb(#123, 1.1); - transparent: rgb(#123, -0.1); +<===> +================================================================================ +<===> partial_to/opaque/input.scss +a {b: rgb(rgba(0, 0, 255, 0.3), 1)} + +<===> partial_to/opaque/output.css +a { + b: blue; } -named { - x: rgb($color: #123, $alpha: 0.5); +<===> +================================================================================ +<===> partial_to/partial/input.scss +a {b: rgb(rgba(0, 0, 255, 0.3), 0.5)} + +<===> partial_to/partial/output.css +a { + b: rgba(0, 0, 255, 0.5); } -<===> output.css -opaque-to { - opaque: #112233; - partial: rgba(17, 34, 51, 0.5); - transparent: rgba(17, 34, 51, 0); +<===> +================================================================================ +<===> partial_to/transparent/input.scss +a {b: rgb(rgba(0, 0, 255, 0.3), 0)} + +<===> partial_to/transparent/output.css +a { + b: rgba(0, 0, 255, 0); } -partial-to { - opaque: blue; - partial: rgba(0, 0, 255, 0.5); - transparent: rgba(0, 0, 255, 0); +<===> +================================================================================ +<===> transparent_to/opaque/input.scss +a {b: rgb(transparent, 1)} + +<===> transparent_to/opaque/output.css +a { + b: black; } -transparent-to { - opaque: black; - partial: rgba(0, 0, 0, 0.5); - transparent: rgba(0, 0, 0, 0); +<===> +================================================================================ +<===> transparent_to/partial/input.scss +a {b: rgb(transparent, 0.5)} + +<===> transparent_to/partial/output.css +a { + b: rgba(0, 0, 0, 0.5); } -clamped { - opaque: #112233; - transparent: rgba(17, 34, 51, 0); +<===> +================================================================================ +<===> transparent_to/transparent/input.scss +a {b: rgb(transparent, 0)} + +<===> transparent_to/transparent/output.css +a { + b: rgba(0, 0, 0, 0); } -named { - x: rgba(17, 34, 51, 0.5); +<===> +================================================================================ +<===> clamped/opaque/input.scss +a {b: rgb(#123, 1.1)} + +<===> clamped/opaque/output.css +a { + b: #112233; +} + +<===> +================================================================================ +<===> clamped/transparent/input.scss +a {b: rgb(#123, -0.1)} + +<===> clamped/transparent/output.css +a { + b: rgba(17, 34, 51, 0); } + +<===> +================================================================================ +<===> named/input.scss +a {b: rgb($color: #123, $alpha: 0.5)} + +<===> named/output.css +a { + b: rgba(17, 34, 51, 0.5); +} + diff --git a/spec/core_functions/color/rgba/error/one_arg.hrx b/spec/core_functions/color/rgba/error/one_arg.hrx index 53a6b5f3bf..7112fa7ed7 100644 --- a/spec/core_functions/color/rgba/error/one_arg.hrx +++ b/spec/core_functions/color/rgba/error/one_arg.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/rgba/error/three_args.hrx b/spec/core_functions/color/rgba/error/three_args.hrx index 660536468a..dc799f13e3 100644 --- a/spec/core_functions/color/rgba/error/three_args.hrx +++ b/spec/core_functions/color/rgba/error/three_args.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 <===> ================================================================================ diff --git a/spec/core_functions/color/rgba/four_args/alpha_percent.hrx b/spec/core_functions/color/rgba/four_args/alpha_percent.hrx deleted file mode 100644 index a350474ef5..0000000000 --- a/spec/core_functions/color/rgba/four_args/alpha_percent.hrx +++ /dev/null @@ -1,22 +0,0 @@ -<===> options.yml ---- -:todo: -- libsass # sass/libsass#2719 - -<===> input.scss -.alpha-percent { - negative: rgba(0, 0, 0, -10%); - min: rgba(0, 0, 0, 0%); - positive: rgba(0, 0, 0, 45.6%); - max: rgba(0, 0, 0, 100%); - above-max: rgba(0, 0, 0, 250%); -} - -<===> output.css -.alpha-percent { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/rgba/four_args/alpha_unitless.hrx b/spec/core_functions/color/rgba/four_args/alpha_unitless.hrx deleted file mode 100644 index 3f56394022..0000000000 --- a/spec/core_functions/color/rgba/four_args/alpha_unitless.hrx +++ /dev/null @@ -1,17 +0,0 @@ -<===> input.scss -.alpha-unitless { - negative: rgba(0, 0, 0, -10); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: rgba(0, 0, 0, 1); - above-max: rgba(0, 0, 0, 250); -} - -<===> output.css -.alpha-unitless { - negative: rgba(0, 0, 0, 0); - min: rgba(0, 0, 0, 0); - positive: rgba(0, 0, 0, 0.456); - max: black; - above-max: black; -} diff --git a/spec/core_functions/color/rgba/four_args/basic.hrx b/spec/core_functions/color/rgba/four_args/basic.hrx deleted file mode 100644 index 993004619a..0000000000 --- a/spec/core_functions/color/rgba/four_args/basic.hrx +++ /dev/null @@ -1,32 +0,0 @@ -<===> input.scss -basic { - transparent: rgba(0, 255, 127, 0); - opaque: rgba(190, 173, 237, 1); - partial: rgba(18, 52, 86, 0.5); - named: rgba($red: 0, $green: 255, $blue: 127, $alpha: 0.3); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - red: rgba(256, 0, 0, 0.5); - green: rgba(0, -1, 0, 0.5); - blue: rgba(0, 0, 9999, 0.5); - alpha-above: rgba(0, 0, 0, 1.1); - alpha-below: rgba(0, 0, 0, -0.1); -} - -<===> output.css -basic { - transparent: rgba(0, 255, 127, 0); - opaque: #beaded; - partial: rgba(18, 52, 86, 0.5); - named: rgba(0, 255, 127, 0.3); -} - -clamped { - red: rgba(255, 0, 0, 0.5); - green: rgba(0, 0, 0, 0.5); - blue: rgba(0, 0, 255, 0.5); - alpha-above: black; - alpha-below: rgba(0, 0, 0, 0); -} diff --git a/spec/core_functions/color/rgba/four_args/clamped.hrx b/spec/core_functions/color/rgba/four_args/clamped.hrx new file mode 100644 index 0000000000..493c86636b --- /dev/null +++ b/spec/core_functions/color/rgba/four_args/clamped.hrx @@ -0,0 +1,53 @@ +<===> README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> red/input.scss +a {b: rgba(256, 0, 0, 0.5)} + +<===> red/output.css +a { + b: rgba(255, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> green/input.scss +a {b: rgba(0, -1, 0, 0.5)} + +<===> green/output.css +a { + b: rgba(0, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> blue/input.scss +a {b: rgba(0, 0, 9999, 0.5)} + +<===> blue/output.css +a { + b: rgba(0, 0, 255, 0.5); +} + +<===> +================================================================================ +<===> alpha/above/input.scss +a {b: rgba(0, 0, 0, 1.1)} + +<===> alpha/above/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> alpha/below/input.scss +a {b: rgba(0, 0, 0, -0.1)} + +<===> alpha/below/output.css +a { + b: rgba(0, 0, 0, 0); +} + diff --git a/spec/core_functions/color/rgba/four_args/in_gamut.hrx b/spec/core_functions/color/rgba/four_args/in_gamut.hrx new file mode 100644 index 0000000000..66e3bcb419 --- /dev/null +++ b/spec/core_functions/color/rgba/four_args/in_gamut.hrx @@ -0,0 +1,37 @@ +<===> transparent/input.scss +a {b: rgba(0, 255, 127, 0)} + +<===> transparent/output.css +a { + b: rgba(0, 255, 127, 0); +} + +<===> +================================================================================ +<===> opaque/input.scss +a {b: rgba(190, 173, 237, 1)} + +<===> opaque/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> partial/input.scss +a {b: rgba(18, 52, 86, 0.5)} + +<===> partial/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> named/input.scss +a {b: rgba($red: 0, $green: 255, $blue: 127, $alpha: 0.3)} + +<===> named/output.css +a { + b: rgba(0, 255, 127, 0.3); +} diff --git a/spec/core_functions/color/rgba/four_args/special_functions.hrx b/spec/core_functions/color/rgba/four_args/special_functions.hrx index af072a5c05..2c9b825c9a 100644 --- a/spec/core_functions/color/rgba/four_args/special_functions.hrx +++ b/spec/core_functions/color/rgba/four_args/special_functions.hrx @@ -1,65 +1,245 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -a { - calc-1: rgba(calc(1), 2, 3, 0.4); - calc-2: rgba(1, calc(2), 3, 0.4); - calc-3: rgba(1, 2, calc(3), 0.4); - calc-4: rgba(1, 2, 3, calc(0.4)); - - var-1: rgba(var(--foo), 2, 3, 0.4); - var-2: rgba(1, var(--foo), 3, 0.4); - var-3: rgba(1, 2, var(--foo), 0.4); - var-4: rgba(1, 2, 3, var(--foo)); - - env-1: rgba(env(--foo), 2, 3, 0.4); - env-2: rgba(1, env(--foo), 3, 0.4); - env-3: rgba(1, 2, env(--foo), 0.4); - env-4: rgba(1, 2, 3, env(--foo)); - - min-1: rgba(min(1), 2, 3, 0.4); - min-2: rgba(1, min(2), 3, 0.4); - min-3: rgba(1, 2, min(3), 0.4); - min-4: rgba(1, 2, 3, min(0.4)); - - max-1: rgba(max(1), 2, 3, 0.4); - max-2: rgba(1, max(2), 3, 0.4); - max-3: rgba(1, 2, max(3), 0.4); - max-4: rgba(1, 2, 3, max(0.4)); - - calc-2-args: rgba(blue, calc(0.4)); - var-2-args-alpha: rgba(blue, var(--foo)); - var-2-args-color: rgba(var(--foo), 0.4); - var-2-args-both: rgba(var(--foo), var(--foo)); -} - -<===> output.css -a { - calc-1: rgba(calc(1), 2, 3, 0.4); - calc-2: rgba(1, calc(2), 3, 0.4); - calc-3: rgba(1, 2, calc(3), 0.4); - calc-4: rgba(1, 2, 3, calc(0.4)); - var-1: rgba(var(--foo), 2, 3, 0.4); - var-2: rgba(1, var(--foo), 3, 0.4); - var-3: rgba(1, 2, var(--foo), 0.4); - var-4: rgba(1, 2, 3, var(--foo)); - env-1: rgba(env(--foo), 2, 3, 0.4); - env-2: rgba(1, env(--foo), 3, 0.4); - env-3: rgba(1, 2, env(--foo), 0.4); - env-4: rgba(1, 2, 3, env(--foo)); - min-1: rgba(min(1), 2, 3, 0.4); - min-2: rgba(1, min(2), 3, 0.4); - min-3: rgba(1, 2, min(3), 0.4); - min-4: rgba(1, 2, 3, min(0.4)); - max-1: rgba(max(1), 2, 3, 0.4); - max-2: rgba(1, max(2), 3, 0.4); - max-3: rgba(1, 2, max(3), 0.4); - max-4: rgba(1, 2, 3, max(0.4)); - calc-2-args: rgba(0, 0, 255, calc(0.4)); - var-2-args-alpha: rgba(0, 0, 255, var(--foo)); - var-2-args-color: rgba(var(--foo), 0.4); - var-2-args-both: rgba(var(--foo), var(--foo)); +- sass/libsass#2726 + +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: rgba(calc(1), 2, 3, 0.4)} + +<===> calc/arg_1/output.css +a { + b: rgba(calc(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: rgba(1, calc(2), 3, 0.4)} + +<===> calc/arg_2/output.css +a { + b: rgba(1, calc(2), 3, 0.4); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: rgba(1, 2, calc(3), 0.4)} + +<===> calc/arg_3/output.css +a { + b: rgba(1, 2, calc(3), 0.4); +} + +<===> +================================================================================ +<===> calc/arg_4/input.scss +a {b: rgba(1, 2, 3, calc(0.4))} + +<===> calc/arg_4/output.css +a { + b: rgba(1, 2, 3, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: rgba(var(--foo), 2, 3, 0.4)} + +<===> var/arg_1/output.css +a { + b: rgba(var(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: rgba(1, var(--foo), 3, 0.4)} + +<===> var/arg_2/output.css +a { + b: rgba(1, var(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: rgba(1, 2, var(--foo), 0.4)} + +<===> var/arg_3/output.css +a { + b: rgba(1, 2, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_4/input.scss +a {b: rgba(1, 2, 3, var(--foo))} + +<===> var/arg_4/output.css +a { + b: rgba(1, 2, 3, var(--foo)); +} + +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: rgba(env(--foo), 2, 3, 0.4)} + +<===> env/arg_1/output.css +a { + b: rgba(env(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: rgba(1, env(--foo), 3, 0.4)} + +<===> env/arg_2/output.css +a { + b: rgba(1, env(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: rgba(1, 2, env(--foo), 0.4)} + +<===> env/arg_3/output.css +a { + b: rgba(1, 2, env(--foo), 0.4); +} + +<===> +================================================================================ +<===> env/arg_4/input.scss +a {b: rgba(1, 2, 3, env(--foo))} + +<===> env/arg_4/output.css +a { + b: rgba(1, 2, 3, env(--foo)); +} + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: rgba(min(1), 2, 3, 0.4)} + +<===> min/arg_1/output.css +a { + b: rgba(min(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: rgba(1, min(2), 3, 0.4)} + +<===> min/arg_2/output.css +a { + b: rgba(1, min(2), 3, 0.4); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: rgba(1, 2, min(3), 0.4)} + +<===> min/arg_3/output.css +a { + b: rgba(1, 2, min(3), 0.4); +} + +<===> +================================================================================ +<===> min/arg_4/input.scss +a {b: rgba(1, 2, 3, min(0.4))} + +<===> min/arg_4/output.css +a { + b: rgba(1, 2, 3, min(0.4)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: rgba(max(1), 2, 3, 0.4)} + +<===> max/arg_1/output.css +a { + b: rgba(max(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: rgba(1, max(2), 3, 0.4)} + +<===> max/arg_2/output.css +a { + b: rgba(1, max(2), 3, 0.4); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: rgba(1, 2, max(3), 0.4)} + +<===> max/arg_3/output.css +a { + b: rgba(1, 2, max(3), 0.4); +} + +<===> +================================================================================ +<===> max/arg_4/input.scss +a {b: rgba(1, 2, 3, max(0.4))} + +<===> max/arg_4/output.css +a { + b: rgba(1, 2, 3, max(0.4)); +} + +<===> +================================================================================ +<===> calc/arg_2/args/input.scss +a {b: rgba(blue, calc(0.4))} + +<===> calc/arg_2/args/output.css +a { + b: rgba(0, 0, 255, calc(0.4)); +} + +<===> +================================================================================ +<===> var/arg_2/args/alpha/input.scss +a {b: rgba(blue, var(--foo))} + +<===> var/arg_2/args/alpha/output.css +a { + b: rgba(0, 0, 255, var(--foo)); +} + +<===> +================================================================================ +<===> var/arg_2/args/color/input.scss +a {b: rgba(var(--foo), 0.4)} + +<===> var/arg_2/args/color/output.css +a { + b: rgba(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> var/arg_2/args/both/input.scss +a {b: rgba(var(--foo), var(--foo))} + +<===> var/arg_2/args/both/output.css +a { + b: rgba(var(--foo), var(--foo)); } + diff --git a/spec/core_functions/color/rgba/multi_argument_var.hrx b/spec/core_functions/color/rgba/multi_argument_var.hrx index a99146d028..9cc1871455 100644 --- a/spec/core_functions/color/rgba/multi_argument_var.hrx +++ b/spec/core_functions/color/rgba/multi_argument_var.hrx @@ -3,23 +3,64 @@ :todo: - libsass -<===> input.scss +<===> +================================================================================ +<===> 1_of_3/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgba(var(--foo), 3, 0.4)} + +<===> 1_of_3/output.css a { - // var() is substituted before parsing, so it may contain multiple arguments. b: rgba(var(--foo), 3, 0.4); - b: rgba(1, var(--foo), 0.4); - b: rgba(1, 2, var(--foo)); - b: rgba(var(--foo), 0.4); - b: rgba(1, var(--foo)); - b: rgba(var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> 2_of_3/input.scss +a {b: rgba(1, var(--foo), 0.4)} + +<===> 2_of_3/output.css a { - b: rgba(var(--foo), 3, 0.4); b: rgba(1, var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 3_of_3/input.scss +a {b: rgba(1, 2, var(--foo))} + +<===> 3_of_3/output.css +a { b: rgba(1, 2, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_2/input.scss +a {b: rgba(var(--foo), 0.4)} + +<===> 1_of_2/output.css +a { b: rgba(var(--foo), 0.4); +} + +<===> +================================================================================ +<===> 2_of_2/input.scss +a {b: rgba(1, var(--foo))} + +<===> 2_of_2/output.css +a { b: rgba(1, var(--foo)); +} + +<===> +================================================================================ +<===> 1_of_1/input.scss +a {b: rgba(var(--foo))} + +<===> 1_of_1/output.css +a { b: rgba(var(--foo)); } + diff --git a/spec/core_functions/color/rgba/one_arg/alpha.hrx b/spec/core_functions/color/rgba/one_arg/alpha.hrx index 24f96898b7..e0959b2160 100644 --- a/spec/core_functions/color/rgba/one_arg/alpha.hrx +++ b/spec/core_functions/color/rgba/one_arg/alpha.hrx @@ -1,42 +1,134 @@ -<===> input.scss -basic { - transparent: rgba(0 255 127 / 0); - opaque: rgba(190 173 237 / 1); - partial: rgba(18 52 86 / 0.5); - percent: rgba(18 52 86 / 50%); - named: rgba($channels: 0 255 127 / 0.3); - - // Extra parens shouldn't cause the slash to be forced into division. - parenthesized: (rgba(0 255 127 / 0.3)); -} - -// Channels that are out of bounds are clamped within bounds. -clamped { - red: rgba(256 0 0 / 0.5); - green: rgba(0 -1 0 / 0.5); - blue: rgba(0 0 9999 / 0.5); - alpha-above: rgba(0 0 0 / 1.1); - alpha-below: rgba(0 0 0 / -0.1); - alpha-above-percent: rgba(0 0 0 / 250%); - alpha-below-percent: rgba(0 0 0 / -10%); -} - -<===> output.css -basic { - transparent: rgba(0, 255, 127, 0); - opaque: #beaded; - partial: rgba(18, 52, 86, 0.5); - percent: rgba(18, 52, 86, 0.5); - named: rgba(0, 255, 127, 0.3); - parenthesized: rgba(0, 255, 127, 0.3); -} - -clamped { - red: rgba(255, 0, 0, 0.5); - green: rgba(0, 0, 0, 0.5); - blue: rgba(0, 0, 255, 0.5); - alpha-above: black; - alpha-below: rgba(0, 0, 0, 0); - alpha-above-percent: black; - alpha-below-percent: rgba(0, 0, 0, 0); +<===> in_gamut/transparent/input.scss +a {b: rgba(0 255 127 / 0)} + +<===> in_gamut/transparent/output.css +a { + b: rgba(0, 255, 127, 0); +} + +<===> +================================================================================ +<===> in_gamut/opaque/input.scss +a {b: rgba(190 173 237 / 1)} + +<===> in_gamut/opaque/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> in_gamut/partial/input.scss +a {b: rgba(18 52 86 / 0.5)} + +<===> in_gamut/partial/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/percent/input.scss +a {b: rgba(18 52 86 / 50%)} + +<===> in_gamut/percent/output.css +a { + b: rgba(18, 52, 86, 0.5); +} + +<===> +================================================================================ +<===> in_gamut/named/input.scss +a {b: rgba($channels: 0 255 127 / 0.3)} + +<===> in_gamut/named/output.css +a { + b: rgba(0, 255, 127, 0.3); +} + +<===> +================================================================================ +<===> in_gamut/parenthesized/input.scss +// Extra parens shouldn't cause the slash to be forced into division. +a {b: rgba(0 255 127 / 0.3)} + +<===> in_gamut/parenthesized/output.css +a { + b: rgba(0, 255, 127, 0.3); +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgba(256 0 0 / 0.5)} + +<===> clamped/red/output.css +a { + b: rgba(255, 0, 0, 0.5); } + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgba(0 -1 0 / 0.5)} + +<===> clamped/green/output.css +a { + b: rgba(0, 0, 0, 0.5); +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgba(0 0 9999 / 0.5)} + +<===> clamped/blue/output.css +a { + b: rgba(0, 0, 255, 0.5); +} + +<===> +================================================================================ +<===> clamped/alpha/above/input.scss +a {b: rgba(0 0 0 / 1.1)} + +<===> clamped/alpha/above/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/alpha/below/input.scss +a {b: rgba(0 0 0 / -0.1)} + +<===> clamped/alpha/below/output.css +a { + b: rgba(0, 0, 0, 0); +} + +<===> +================================================================================ +<===> clamped/alpha/above/percent/input.scss +a {b: rgba(0 0 0 / 250%)} + +<===> clamped/alpha/above/percent/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/alpha/below/percent/input.scss +a {b: rgba(0 0 0 / -10%)} + +<===> clamped/alpha/below/percent/output.css +a { + b: rgba(0, 0, 0, 0); +} + diff --git a/spec/core_functions/color/rgba/one_arg/basic.hrx b/spec/core_functions/color/rgba/one_arg/basic.hrx deleted file mode 100644 index cbc84bcf4d..0000000000 --- a/spec/core_functions/color/rgba/one_arg/basic.hrx +++ /dev/null @@ -1,56 +0,0 @@ -<===> input.scss -// Channels may be specified as unitless numbers between 0 and 255. -unitless { - numbers: rgba(18 52 86); - beaded: rgba(190 173 237); - springgreen: rgba(0 255 127); - named: rgba($channels: 0 255 127); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgba(256 0 0); - green: rgba(0 -1 0); - blue: rgba(0 0 9999); - } -} - -// Channels may also be specified as percents between 0% and 100%, which may be -// mixed with unitless numbers. -percents { - all-percent: rgba(7.1% 20.4% 33.9%); - unitless-green: rgba(74.7% 173 93%); - percent-green: rgba(190 68% 237); - boundaries: rgba(0% 100% 50%); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgba(100.1% 0 0); - green: rgba(0 -0.1% 0); - blue: rgba(0 0 200%); - } -} - -<===> output.css -unitless { - numbers: #123456; - beaded: #beaded; - springgreen: springgreen; - named: springgreen; -} -unitless clamped { - red: red; - green: black; - blue: blue; -} - -percents { - all-percent: #123456; - unitless-green: #beaded; - percent-green: #beaded; - boundaries: #00ff80; -} -percents clamped { - red: red; - green: black; - blue: blue; -} diff --git a/spec/core_functions/color/rgba/one_arg/no_alpha.hrx b/spec/core_functions/color/rgba/one_arg/no_alpha.hrx new file mode 100644 index 0000000000..979ce58834 --- /dev/null +++ b/spec/core_functions/color/rgba/one_arg/no_alpha.hrx @@ -0,0 +1,159 @@ +<===> unitless/README.md +Channels may be specified as unitless numbers between 0 and 255. + +<===> +================================================================================ +<===> unitless/numbers/input.scss +a {b: rgba(18 52 86)} + +<===> unitless/numbers/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> unitless/beaded/input.scss +a {b: rgba(190 173 237)} + +<===> unitless/beaded/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> unitless/springgreen/input.scss +a {b: rgba(0 255 127)} + +<===> unitless/springgreen/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> unitless/named/input.scss +a {b: rgba($channels: 0 255 127)} + +<===> unitless/named/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> unitless/clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> unitless/clamped/red/input.scss +a {b: rgba(256 0 0)} + +<===> unitless/clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> unitless/clamped/green/input.scss +a {b: rgba(0 -1 0)} + +<===> unitless/clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> unitless/clamped/blue/input.scss +a {b: rgba(0 0 9999)} + +<===> unitless/clamped/blue/output.css +a { + b: blue; +} + +<===> +================================================================================ +<===> percents/README.md +Channels may also be specified as percents between 0% and 100%, which may be +// mixed with unitless numbers. + +<===> +================================================================================ +<===> percents/all/percent/input.scss +a {b: rgba(7.1% 20.4% 33.9%)} + +<===> percents/all/percent/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> percents/unitless/green/input.scss +a {b: rgba(74.7% 173 93%)} + +<===> percents/unitless/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percents/percent/green/input.scss +a {b: rgba(190 68% 237)} + +<===> percents/percent/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percents/boundaries/input.scss +a {b: rgba(0% 100% 50%)} + +<===> percents/boundaries/output.css +a { + b: #00ff80; +} + +<===> +================================================================================ +<===> percents/clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> percents/clamped/red/input.scss +a {b: rgba(100.1% 0 0)} + +<===> percents/clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> percents/clamped/green/input.scss +a {b: rgba(0 -0.1% 0)} + +<===> percents/clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> percents/clamped/blue/input.scss +a {b: rgba(0 0 200%)} + +<===> percents/clamped/blue/output.css +a { + b: blue; +} + diff --git a/spec/core_functions/color/rgba/one_arg/options.yml b/spec/core_functions/color/rgba/one_arg/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/rgba/one_arg/options.yml +++ b/spec/core_functions/color/rgba/one_arg/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/rgba/one_arg/special_functions.hrx b/spec/core_functions/color/rgba/one_arg/special_functions.hrx index 038dbc02da..8a3c4da094 100644 --- a/spec/core_functions/color/rgba/one_arg/special_functions.hrx +++ b/spec/core_functions/color/rgba/one_arg/special_functions.hrx @@ -1,112 +1,416 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 - -<===> input.scss -no-alpha { - calc-1: rgba(calc(1) 2 3); - calc-2: rgba(1 calc(2) 3); - calc-3: rgba(1 2 calc(3)); - - var-1: rgba(var(--foo) 2 3); - var-2: rgba(1 var(--foo) 3); - var-3: rgba(1 2 var(--foo)); - - env-1: rgba(env(--foo) 2 3); - env-2: rgba(1 env(--foo) 3); - env-3: rgba(1 2 env(--foo)); - - min-1: rgba(min(1) 2 3); - min-2: rgba(1 min(2) 3); - min-3: rgba(1 2 min(3)); - - max-1: rgba(max(1) 2 3); - max-2: rgba(1 max(2) 3); - max-3: rgba(1 2 max(3)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: rgba(var(--foo) 2); - multi-argument-var-2-of-2: rgba(1 var(--foo)); - multi-argument-var-1-of-1: rgba(var(--foo)); -} - -alpha { - calc-1: rgba(calc(1) 2 3 / 0.4); - calc-2: rgba(1 calc(2) 3 / 0.4); - calc-3: rgba(1 2 calc(3) / 0.4); - calc-4: rgba(1 2 3 / calc(0.4)); - - var-1: rgba(var(--foo) 2 3 / 0.4); - var-2: rgba(1 var(--foo) 3 / 0.4); - var-3: rgba(1 2 var(--foo) / 0.4); - var-4: rgba(1 2 3 / var(--foo)); - - env-1: rgba(env(--foo) 2 3 / 0.4); - env-2: rgba(1 env(--foo) 3 / 0.4); - env-3: rgba(1 2 env(--foo) / 0.4); - env-4: rgba(1 2 3 / env(--foo)); - - min-1: rgba(min(1) 2 3 / 0.4); - min-2: rgba(1 min(2) 3 / 0.4); - min-3: rgba(1 2 min(3) / 0.4); - min-4: rgba(1 2 3 / min(0.4)); - - max-1: rgba(max(1) 2 3 / 0.4); - max-2: rgba(1 max(2) 3 / 0.4); - max-3: rgba(1 2 max(3) / 0.4); - max-4: rgba(1 2 3 / max(0.4)); - - // var() is substituted before parsing, so it may contain multiple arguments. - multi-argument-var-1-of-2: rgba(var(--foo) 2 / 0.4); - multi-argument-var-2-of-2: rgba(1 var(--foo) / 0.4); - multi-argument-var-1-of-1: rgba(var(--foo) / 0.4); -} - -<===> output.css -no-alpha { - calc-1: rgba(calc(1), 2, 3); - calc-2: rgba(1, calc(2), 3); - calc-3: rgba(1, 2, calc(3)); - var-1: rgba(var(--foo), 2, 3); - var-2: rgba(1, var(--foo), 3); - var-3: rgba(1, 2, var(--foo)); - env-1: rgba(env(--foo), 2, 3); - env-2: rgba(1, env(--foo), 3); - env-3: rgba(1, 2, env(--foo)); - min-1: rgba(min(1), 2, 3); - min-2: rgba(1, min(2), 3); - min-3: rgba(1, 2, min(3)); - max-1: rgba(max(1), 2, 3); - max-2: rgba(1, max(2), 3); - max-3: rgba(1, 2, max(3)); - multi-argument-var-1-of-2: rgba(var(--foo) 2); - multi-argument-var-2-of-2: rgba(1 var(--foo)); - multi-argument-var-1-of-1: rgba(var(--foo)); -} - -alpha { - calc-1: rgba(calc(1), 2, 3, 0.4); - calc-2: rgba(1, calc(2), 3, 0.4); - calc-3: rgba(1 2 calc(3)/0.4); - calc-4: rgba(1 2 3/calc(0.4)); - var-1: rgba(var(--foo), 2, 3, 0.4); - var-2: rgba(1, var(--foo), 3, 0.4); - var-3: rgba(1 2 var(--foo)/0.4); - var-4: rgba(1 2 3/var(--foo)); - env-1: rgba(env(--foo), 2, 3, 0.4); - env-2: rgba(1, env(--foo), 3, 0.4); - env-3: rgba(1 2 env(--foo)/0.4); - env-4: rgba(1 2 3/env(--foo)); - min-1: rgba(min(1), 2, 3, 0.4); - min-2: rgba(1, min(2), 3, 0.4); - min-3: rgba(1 2 min(3)/0.4); - min-4: rgba(1 2 3/min(0.4)); - max-1: rgba(max(1), 2, 3, 0.4); - max-2: rgba(1, max(2), 3, 0.4); - max-3: rgba(1 2 max(3)/0.4); - max-4: rgba(1 2 3/max(0.4)); - multi-argument-var-1-of-2: rgba(var(--foo) 2/0.4); - multi-argument-var-2-of-2: rgba(1 var(--foo)/0.4); - multi-argument-var-1-of-1: rgba(var(--foo)/0.4); +- sass/libsass#2726 + +<===> +================================================================================ +<===> no_alpha/calc/arg_1/input.scss +a {b: rgba(calc(1) 2 3)} + +<===> no_alpha/calc/arg_1/output.css +a { + b: rgba(calc(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_2/input.scss +a {b: rgba(1 calc(2) 3)} + +<===> no_alpha/calc/arg_2/output.css +a { + b: rgba(1, calc(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/calc/arg_3/input.scss +a {b: rgba(1 2 calc(3))} + +<===> no_alpha/calc/arg_3/output.css +a { + b: rgba(1, 2, calc(3)); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_1/input.scss +a {b: rgba(var(--foo) 2 3)} + +<===> no_alpha/var/arg_1/output.css +a { + b: rgba(var(--foo), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_2/input.scss +a {b: rgba(1 var(--foo) 3)} + +<===> no_alpha/var/arg_2/output.css +a { + b: rgba(1, var(--foo), 3); +} + +<===> +================================================================================ +<===> no_alpha/var/arg_3/input.scss +a {b: rgba(1 2 var(--foo))} + +<===> no_alpha/var/arg_3/output.css +a { + b: rgba(1, 2, var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_1/input.scss +a {b: rgba(env(--foo) 2 3)} + +<===> no_alpha/env/arg_1/output.css +a { + b: rgba(env(--foo), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_2/input.scss +a {b: rgba(1 env(--foo) 3)} + +<===> no_alpha/env/arg_2/output.css +a { + b: rgba(1, env(--foo), 3); +} + +<===> +================================================================================ +<===> no_alpha/env/arg_3/input.scss +a {b: rgba(1 2 env(--foo))} + +<===> no_alpha/env/arg_3/output.css +a { + b: rgba(1, 2, env(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_1/input.scss +a {b: rgba(min(1) 2 3)} + +<===> no_alpha/min/arg_1/output.css +a { + b: rgba(min(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_2/input.scss +a {b: rgba(1 min(2) 3)} + +<===> no_alpha/min/arg_2/output.css +a { + b: rgba(1, min(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/min/arg_3/input.scss +a {b: rgba(1 2 min(3))} + +<===> no_alpha/min/arg_3/output.css +a { + b: rgba(1, 2, min(3)); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_1/input.scss +a {b: rgba(max(1) 2 3)} + +<===> no_alpha/max/arg_1/output.css +a { + b: rgba(max(1), 2, 3); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_2/input.scss +a {b: rgba(1 max(2) 3)} + +<===> no_alpha/max/arg_2/output.css +a { + b: rgba(1, max(2), 3); +} + +<===> +================================================================================ +<===> no_alpha/max/arg_3/input.scss +a {b: rgba(1 2 max(3))} + +<===> no_alpha/max/arg_3/output.css +a { + b: rgba(1, 2, max(3)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgba(var(--foo) 2)} + +<===> no_alpha/multi_argument_var/1_of_2/output.css +a { + b: rgba(var(--foo) 2); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/2_of_2/input.scss +a {b: rgba(1 var(--foo))} + +<===> no_alpha/multi_argument_var/2_of_2/output.css +a { + b: rgba(1 var(--foo)); +} + +<===> +================================================================================ +<===> no_alpha/multi_argument_var/1_of_1/input.scss +a {b: rgba(var(--foo))} + +<===> no_alpha/multi_argument_var/1_of_1/output.css +a { + b: rgba(var(--foo)); +} + +<===> +================================================================================ +<===> alpha/calc/arg_1/input.scss +a {b: rgba(calc(1) 2 3 / 0.4)} + +<===> alpha/calc/arg_1/output.css +a { + b: rgba(calc(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_2/input.scss +a {b: rgba(1 calc(2) 3 / 0.4)} + +<===> alpha/calc/arg_2/output.css +a { + b: rgba(1, calc(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_3/input.scss +a {b: rgba(1 2 calc(3) / 0.4)} + +<===> alpha/calc/arg_3/output.css +a { + b: rgba(1 2 calc(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/calc/arg_4/input.scss +a {b: rgba(1 2 3 / calc(0.4))} + +<===> alpha/calc/arg_4/output.css +a { + b: rgba(1 2 3/calc(0.4)); +} + +<===> +================================================================================ +<===> alpha/var/arg_1/input.scss +a {b: rgba(var(--foo) 2 3 / 0.4)} + +<===> alpha/var/arg_1/output.css +a { + b: rgba(var(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_2/input.scss +a {b: rgba(1 var(--foo) 3 / 0.4)} + +<===> alpha/var/arg_2/output.css +a { + b: rgba(1, var(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_3/input.scss +a {b: rgba(1 2 var(--foo) / 0.4)} + +<===> alpha/var/arg_3/output.css +a { + b: rgba(1 2 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/var/arg_4/input.scss +a {b: rgba(1 2 3 / var(--foo))} + +<===> alpha/var/arg_4/output.css +a { + b: rgba(1 2 3/var(--foo)); +} + +<===> +================================================================================ +<===> alpha/env/arg_1/input.scss +a {b: rgba(env(--foo) 2 3 / 0.4)} + +<===> alpha/env/arg_1/output.css +a { + b: rgba(env(--foo), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_2/input.scss +a {b: rgba(1 env(--foo) 3 / 0.4)} + +<===> alpha/env/arg_2/output.css +a { + b: rgba(1, env(--foo), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_3/input.scss +a {b: rgba(1 2 env(--foo) / 0.4)} + +<===> alpha/env/arg_3/output.css +a { + b: rgba(1 2 env(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/env/arg_4/input.scss +a {b: rgba(1 2 3 / env(--foo))} + +<===> alpha/env/arg_4/output.css +a { + b: rgba(1 2 3/env(--foo)); +} + +<===> +================================================================================ +<===> alpha/min/arg_1/input.scss +a {b: rgba(min(1) 2 3 / 0.4)} + +<===> alpha/min/arg_1/output.css +a { + b: rgba(min(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_2/input.scss +a {b: rgba(1 min(2) 3 / 0.4)} + +<===> alpha/min/arg_2/output.css +a { + b: rgba(1, min(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_3/input.scss +a {b: rgba(1 2 min(3) / 0.4)} + +<===> alpha/min/arg_3/output.css +a { + b: rgba(1 2 min(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/min/arg_4/input.scss +a {b: rgba(1 2 3 / min(0.4))} + +<===> alpha/min/arg_4/output.css +a { + b: rgba(1 2 3/min(0.4)); +} + +<===> +================================================================================ +<===> alpha/max/arg_1/input.scss +a {b: rgba(max(1) 2 3 / 0.4)} + +<===> alpha/max/arg_1/output.css +a { + b: rgba(max(1), 2, 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_2/input.scss +a {b: rgba(1 max(2) 3 / 0.4)} + +<===> alpha/max/arg_2/output.css +a { + b: rgba(1, max(2), 3, 0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_3/input.scss +a {b: rgba(1 2 max(3) / 0.4)} + +<===> alpha/max/arg_3/output.css +a { + b: rgba(1 2 max(3)/0.4); +} + +<===> +================================================================================ +<===> alpha/max/arg_4/input.scss +a {b: rgba(1 2 3 / max(0.4))} + +<===> alpha/max/arg_4/output.css +a { + b: rgba(1 2 3/max(0.4)); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_2/input.scss +// var() is substituted before parsing, so it may contain multiple arguments. +a {b: rgba(var(--foo) 2 / 0.4)} + +<===> alpha/multi_argument_var/1_of_2/output.css +a { + b: rgba(var(--foo) 2/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/2_of_2/input.scss +a {b: rgba(1 var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/2_of_2/output.css +a { + b: rgba(1 var(--foo)/0.4); +} + +<===> +================================================================================ +<===> alpha/multi_argument_var/1_of_1/input.scss +a {b: rgba(var(--foo) / 0.4)} + +<===> alpha/multi_argument_var/1_of_1/output.css +a { + b: rgba(var(--foo)/0.4); } diff --git a/spec/core_functions/color/rgba/three_args/basic.hrx b/spec/core_functions/color/rgba/three_args/basic.hrx deleted file mode 100644 index a54b9670f1..0000000000 --- a/spec/core_functions/color/rgba/three_args/basic.hrx +++ /dev/null @@ -1,56 +0,0 @@ -<===> input.scss -// Channels may be specified as unitless numbers between 0 and 255. -unitless { - numbers: rgba(18, 52, 86); - beaded: rgba(190, 173, 237); - springgreen: rgba(0, 255, 127); - named: rgba($red: 0, $green: 255, $blue: 127); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgba(256, 0, 0); - green: rgba(0, -1, 0); - blue: rgba(0, 0, 9999); - } -} - -// Channels may also be specified as percents between 0% and 100%, which may be -// mixed with unitless numbers. -percents { - all-percent: rgba(7.1%, 20.4%, 33.9%); - unitless-green: rgba(74.7%, 173, 93%); - percent-green: rgba(190, 68%, 237); - boundaries: rgba(0%, 100%, 50%); - - // Channels that are out of bounds are clamped within bounds. - clamped { - red: rgba(100.1%, 0, 0); - green: rgba(0, -0.1%, 0); - blue: rgba(0, 0, 200%); - } -} - -<===> output.css -unitless { - numbers: #123456; - beaded: #beaded; - springgreen: springgreen; - named: springgreen; -} -unitless clamped { - red: red; - green: black; - blue: blue; -} - -percents { - all-percent: #123456; - unitless-green: #beaded; - percent-green: #beaded; - boundaries: #00ff80; -} -percents clamped { - red: red; - green: black; - blue: blue; -} diff --git a/spec/core_functions/color/rgba/three_args/options.yml b/spec/core_functions/color/rgba/three_args/options.yml index 076f9d2d59..018b0da451 100644 --- a/spec/core_functions/color/rgba/three_args/options.yml +++ b/spec/core_functions/color/rgba/three_args/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2722 +- sass/libsass#2722 diff --git a/spec/core_functions/color/rgba/three_args/percents.hrx b/spec/core_functions/color/rgba/three_args/percents.hrx new file mode 100644 index 0000000000..8821c5144e --- /dev/null +++ b/spec/core_functions/color/rgba/three_args/percents.hrx @@ -0,0 +1,81 @@ +<===> +================================================================================ +<===> README.md +Channels may also be specified as percents between 0% and 100%, which may be +mixed with unitless numbers. + +<===> +================================================================================ +<===> all/percent/input.scss +a {b: rgba(7.1%, 20.4%, 33.9%)} + +<===> all/percent/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> unitless/green/input.scss +a {b: rgba(74.7%, 173, 93%)} + +<===> unitless/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> percent/green/input.scss +a {b: rgba(190, 68%, 237)} + +<===> percent/green/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> boundaries/input.scss +a {b: rgba(0%, 100%, 50%)} + +<===> boundaries/output.css +a { + b: #00ff80; +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgba(100.1%, 0, 0)} + +<===> clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgba(0, -0.1%, 0)} + +<===> clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgba(0, 0, 200%)} + +<===> clamped/blue/output.css +a { + b: blue; +} + diff --git a/spec/core_functions/color/rgba/three_args/special_functions.hrx b/spec/core_functions/color/rgba/three_args/special_functions.hrx index c3426fd224..d3e9399b83 100644 --- a/spec/core_functions/color/rgba/three_args/special_functions.hrx +++ b/spec/core_functions/color/rgba/three_args/special_functions.hrx @@ -1,46 +1,155 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2726 +- sass/libsass#2726 -<===> input.scss +<===> +================================================================================ +<===> calc/arg_1/input.scss +a {b: rgba(calc(1), 2, 3)} + +<===> calc/arg_1/output.css +a { + b: rgba(calc(1), 2, 3); +} + +<===> +================================================================================ +<===> calc/arg_2/input.scss +a {b: rgba(1, calc(2), 3)} + +<===> calc/arg_2/output.css +a { + b: rgba(1, calc(2), 3); +} + +<===> +================================================================================ +<===> calc/arg_3/input.scss +a {b: rgba(1, 2, calc(3))} + +<===> calc/arg_3/output.css +a { + b: rgba(1, 2, calc(3)); +} + +<===> +================================================================================ +<===> var/arg_1/input.scss +a {b: rgba(var(--foo), 2, 3)} + +<===> var/arg_1/output.css a { - calc-1: rgba(calc(1), 2, 3); - calc-2: rgba(1, calc(2), 3); - calc-3: rgba(1, 2, calc(3)); + b: rgba(var(--foo), 2, 3); +} - var-1: rgba(var(--foo), 2, 3); - var-2: rgba(1, var(--foo), 3); - var-3: rgba(1, 2, var(--foo)); +<===> +================================================================================ +<===> var/arg_2/input.scss +a {b: rgba(1, var(--foo), 3)} - env-1: rgba(env(--foo), 2, 3); - env-2: rgba(1, env(--foo), 3); - env-3: rgba(1, 2, env(--foo)); +<===> var/arg_2/output.css +a { + b: rgba(1, var(--foo), 3); +} - min-1: rgba(min(1), 2, 3); - min-2: rgba(1, min(2), 3); - min-3: rgba(1, 2, min(3)); +<===> +================================================================================ +<===> var/arg_3/input.scss +a {b: rgba(1, 2, var(--foo))} - max-1: rgba(max(1), 2, 3); - max-2: rgba(1, max(2), 3); - max-3: rgba(1, 2, max(3)); +<===> var/arg_3/output.css +a { + b: rgba(1, 2, var(--foo)); } -<===> output.css +<===> +================================================================================ +<===> env/arg_1/input.scss +a {b: rgba(env(--foo), 2, 3)} + +<===> env/arg_1/output.css +a { + b: rgba(env(--foo), 2, 3); +} + +<===> +================================================================================ +<===> env/arg_2/input.scss +a {b: rgba(1, env(--foo), 3)} + +<===> env/arg_2/output.css +a { + b: rgba(1, env(--foo), 3); +} + +<===> +================================================================================ +<===> env/arg_3/input.scss +a {b: rgba(1, 2, env(--foo))} + +<===> env/arg_3/output.css a { - calc-1: rgba(calc(1), 2, 3); - calc-2: rgba(1, calc(2), 3); - calc-3: rgba(1, 2, calc(3)); - var-1: rgba(var(--foo), 2, 3); - var-2: rgba(1, var(--foo), 3); - var-3: rgba(1, 2, var(--foo)); - env-1: rgba(env(--foo), 2, 3); - env-2: rgba(1, env(--foo), 3); - env-3: rgba(1, 2, env(--foo)); - min-1: rgba(min(1), 2, 3); - min-2: rgba(1, min(2), 3); - min-3: rgba(1, 2, min(3)); - max-1: rgba(max(1), 2, 3); - max-2: rgba(1, max(2), 3); - max-3: rgba(1, 2, max(3)); + b: rgba(1, 2, env(--foo)); } + +<===> +================================================================================ +<===> min/arg_1/input.scss +a {b: rgba(min(1), 2, 3)} + +<===> min/arg_1/output.css +a { + b: rgba(min(1), 2, 3); +} + +<===> +================================================================================ +<===> min/arg_2/input.scss +a {b: rgba(1, min(2), 3)} + +<===> min/arg_2/output.css +a { + b: rgba(1, min(2), 3); +} + +<===> +================================================================================ +<===> min/arg_3/input.scss +a {b: rgba(1, 2, min(3))} + +<===> min/arg_3/output.css +a { + b: rgba(1, 2, min(3)); +} + +<===> +================================================================================ +<===> max/arg_1/input.scss +a {b: rgba(max(1), 2, 3)} + +<===> max/arg_1/output.css +a { + b: rgba(max(1), 2, 3); +} + +<===> +================================================================================ +<===> max/arg_2/input.scss +a {b: rgba(1, max(2), 3)} + +<===> max/arg_2/output.css +a { + b: rgba(1, max(2), 3); +} + +<===> +================================================================================ +<===> max/arg_3/input.scss +a {b: rgba(1, 2, max(3))} + +<===> max/arg_3/output.css +a { + b: rgba(1, 2, max(3)); +} + diff --git a/spec/core_functions/color/rgba/three_args/unitless.hrx b/spec/core_functions/color/rgba/three_args/unitless.hrx new file mode 100644 index 0000000000..247c2e7651 --- /dev/null +++ b/spec/core_functions/color/rgba/three_args/unitless.hrx @@ -0,0 +1,77 @@ +<===> README.md +Channels may be specified as unitless numbers between 0 and 255. + +<===> +================================================================================ +<===> numbers/input.scss +a {b: rgba(18, 52, 86)} + +<===> numbers/output.css +a { + b: #123456; +} + +<===> +================================================================================ +<===> beaded/input.scss +a {b: rgba(190, 173, 237)} + +<===> beaded/output.css +a { + b: #beaded; +} + +<===> +================================================================================ +<===> springgreen/input.scss +a {b: rgba(0, 255, 127)} + +<===> springgreen/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: rgba($red: 0, $green: 255, $blue: 127)} + +<===> named/output.css +a { + b: springgreen; +} + +<===> +================================================================================ +<===> clamped/README.md +Channels that are out of bounds are clamped within bounds. + +<===> +================================================================================ +<===> clamped/red/input.scss +a {b: rgba(256, 0, 0)} + +<===> clamped/red/output.css +a { + b: red; +} + +<===> +================================================================================ +<===> clamped/green/input.scss +a {b: rgba(0, -1, 0)} + +<===> clamped/green/output.css +a { + b: black; +} + +<===> +================================================================================ +<===> clamped/blue/input.scss +a {b: rgba(0, 0, 9999)} + +<===> clamped/blue/output.css +a { + b: blue; +} diff --git a/spec/core_functions/color/rgba/two_args.hrx b/spec/core_functions/color/rgba/two_args.hrx index 40f7e051ab..98900fe9de 100644 --- a/spec/core_functions/color/rgba/two_args.hrx +++ b/spec/core_functions/color/rgba/two_args.hrx @@ -1,56 +1,118 @@ -<===> input.scss -opaque-to { - opaque: rgba(#123, 1); - partial: rgba(#123, 0.5); - transparent: rgba(#123, 0); +<===> opaque_to/opaque/input.scss +a {b: rgba(#123, 1)} + +<===> opaque_to/opaque/output.css +a { + b: #112233; } -partial-to { - $color: rgba(0, 0, 255, 0.3); - opaque: rgba($color, 1); - partial: rgba($color, 0.5); - transparent: rgba($color, 0); +<===> +================================================================================ +<===> opaque_to/partial/input.scss +a {b: rgba(#123, 0.5)} + +<===> opaque_to/partial/output.css +a { + b: rgba(17, 34, 51, 0.5); } -transparent-to { - opaque: rgba(transparent, 1); - partial: rgba(transparent, 0.5); - transparent: rgba(transparent, 0); +<===> +================================================================================ +<===> opaque_to/transparent/input.scss +a {b: rgba(#123, 0)} + +<===> opaque_to/transparent/output.css +a { + b: rgba(17, 34, 51, 0); } -clamped { - opaque: rgba(#123, 1.1); - transparent: rgba(#123, -0.1); +<===> +================================================================================ +<===> partial_to/opaque/input.scss +a {b: rgba(rgba(0, 0, 255, 0.3), 1)} + +<===> partial_to/opaque/output.css +a { + b: blue; } -named { - x: rgba($color: #123, $alpha: 0.5); +<===> +================================================================================ +<===> partial_to/partial/input.scss +a {b: rgba(rgba(0, 0, 255, 0.3), 0.5)} + +<===> partial_to/partial/output.css +a { + b: rgba(0, 0, 255, 0.5); } -<===> output.css -opaque-to { - opaque: #112233; - partial: rgba(17, 34, 51, 0.5); - transparent: rgba(17, 34, 51, 0); +<===> +================================================================================ +<===> partial_to/transparent/input.scss +a {b: rgba(rgba(0, 0, 255, 0.3), 0)} + +<===> partial_to/transparent/output.css +a { + b: rgba(0, 0, 255, 0); } -partial-to { - opaque: blue; - partial: rgba(0, 0, 255, 0.5); - transparent: rgba(0, 0, 255, 0); +<===> +================================================================================ +<===> transparent_to/opaque/input.scss +a {b: rgba(transparent, 1)} + +<===> transparent_to/opaque/output.css +a { + b: black; } -transparent-to { - opaque: black; - partial: rgba(0, 0, 0, 0.5); - transparent: rgba(0, 0, 0, 0); +<===> +================================================================================ +<===> transparent_to/partial/input.scss +a {b: rgba(transparent, 0.5)} + +<===> transparent_to/partial/output.css +a { + b: rgba(0, 0, 0, 0.5); } -clamped { - opaque: #112233; - transparent: rgba(17, 34, 51, 0); +<===> +================================================================================ +<===> transparent_to/transparent/input.scss +a {b: rgba(transparent, 0)} + +<===> transparent_to/transparent/output.css +a { + b: rgba(0, 0, 0, 0); } -named { - x: rgba(17, 34, 51, 0.5); +<===> +================================================================================ +<===> clamped/opaque/input.scss +a {b: rgba(#123, 1.1)} + +<===> clamped/opaque/output.css +a { + b: #112233; +} + +<===> +================================================================================ +<===> clamped/transparent/input.scss +a {b: rgba(#123, -0.1)} + +<===> clamped/transparent/output.css +a { + b: rgba(17, 34, 51, 0); } + +<===> +================================================================================ +<===> named/input.scss +a {b: rgba($color: #123, $alpha: 0.5)} + +<===> named/output.css +a { + b: rgba(17, 34, 51, 0.5); +} + diff --git a/spec/core_functions/color/saturate.hrx b/spec/core_functions/color/saturate.hrx new file mode 100644 index 0000000000..c6808ba970 --- /dev/null +++ b/spec/core_functions/color/saturate.hrx @@ -0,0 +1,239 @@ +<===> one_arg/README.md +Sass supports saturate() with one argument for compatibility with [plain CSS][]. + +[plain CSS]: https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/saturate + +<===> +================================================================================ +<===> one_arg/unit/input.scss +a {b: saturate(50%)} + +<===> one_arg/unit/output.css +a { + b: saturate(50%); +} + +<===> +================================================================================ +<===> one_arg/unitless/input.scss +a {b: saturate(1)} + +<===> one_arg/unitless/output.css +a { + b: saturate(1); +} + +<===> +================================================================================ +<===> one_arg/named/options.yml +--- +:todo: +- sass/libsass#2897 +- sass/dart-sass#699 + +<===> one_arg/named/input.scss +a {b: saturate($amount: 50%)} + +<===> one_arg/named/output.css +a { + b: saturate(50%); +} + +<===> +================================================================================ +<===> two_args/max/input.scss +a {b: saturate(plum, 100%)} + +<===> two_args/max/output.css +a { + b: #ff7eff; +} + +<===> +================================================================================ +<===> two_args/max_remaining/input.scss +a {b: saturate(plum, 53%)} + +<===> two_args/max_remaining/output.css +a { + b: #ff7eff; +} + +<===> +================================================================================ +<===> two_args/min/input.scss +a {b: saturate(plum, 0%)} + +<===> two_args/min/output.css +a { + b: plum; +} + +<===> +================================================================================ +<===> two_args/middle/input.scss +a {b: saturate(plum, 14%)} + +<===> two_args/middle/output.css +a { + b: #e697e6; +} + +<===> +================================================================================ +<===> two_args/alpha/input.scss +a {b: saturate(rgba(plum, 0.5), 100%)} + +<===> two_args/alpha/output.css +a { + b: rgba(255, 126, 255, 0.5); +} + +<===> +================================================================================ +<===> two_args/named/input.scss +a {b: saturate($color: plum, $amount: 14%)} + +<===> two_args/named/output.css +a { + b: #e697e6; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: saturate()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: saturate()} + | ^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function saturate is missing argument $color. + on line 1 of input.scss +>> a {b: saturate()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: saturate(plum, 1%, 2)} + +<===> error/too_many_args/error +Error: Only 2 arguments allowed, but 3 were passed. + , +1 | a {b: saturate(plum, 1%, 2)} + | ^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (3 for 2) for `saturate' + on line 1:7 of input.scss +>> a {b: saturate(plum, 1%, 2)} + + ------^ + +<===> +================================================================================ +<===> error/one_arg/type/input.scss +a {b: saturate(red)} + +<===> error/one_arg/type/error +Error: $number: red is not a number. + , +1 | a {b: saturate(red)} + | ^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/one_arg/type/options.yml +--- +:todo: +- sass/libsass#2895 + +<===> +================================================================================ +<===> error/two_args/type/color/input.scss +a {b: saturate(1, 2)} + +<===> error/two_args/type/color/error +Error: $color: 1 is not a color. + , +1 | a {b: saturate(1, 2)} + | ^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/two_args/type/color/error-libsass +Error: argument `$color` of `saturate($color, $amount: false)` must be a color + on line 1:7 of input.scss, in function `saturate` + from line 1:7 of input.scss +>> a {b: saturate(1, 2)} + + ------^ + +<===> +================================================================================ +<===> error/two_args/type/lightness/input.scss +a {b: saturate(plum, blue)} + +<===> error/two_args/type/lightness/error +Error: $amount: blue is not a number. + , +1 | a {b: saturate(plum, blue)} + | ^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/two_args/type/lightness/options.yml +--- +:todo: +- sass/libsass#2896 + +<===> +================================================================================ +<===> error/two_args/bounds/too_low/input.scss +a {b: saturate(plum, -0.001)} + +<===> error/two_args/bounds/too_low/error +Error: Expected -0.001 to be within 0 and 100. + , +1 | a {b: saturate(plum, -0.001)} + | ^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/two_args/bounds/too_low/error-libsass +Error: argument `$amount` of `saturate($color, $amount: false)` must be between -0 and 100 + on line 1:7 of input.scss, in function `saturate` + from line 1:7 of input.scss +>> a {b: saturate(plum, -0.001)} + + ------^ + +<===> +================================================================================ +<===> error/two_args/bounds/too_high/input.scss +a {b: saturate(plum, 100.001)} + +<===> error/two_args/bounds/too_high/error +Error: Expected 100.001 to be within 0 and 100. + , +1 | a {b: saturate(plum, 100.001)} + | ^^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/two_args/bounds/too_high/error-libsass +Error: argument `$amount` of `saturate($color, $amount: false)` must be between -0 and 100 + on line 1:7 of input.scss, in function `saturate` + from line 1:7 of input.scss +>> a {b: saturate(plum, 100.001)} + + ------^ diff --git a/spec/core_functions/color/saturation.hrx b/spec/core_functions/color/saturation.hrx new file mode 100644 index 0000000000..c9d0cf9da7 --- /dev/null +++ b/spec/core_functions/color/saturation.hrx @@ -0,0 +1,108 @@ +<===> max/input.scss +a {b: saturation(hsl(0, 100%, 100%))} + +<===> max/output.css +a { + b: 100%; +} + +<===> +================================================================================ +<===> min/input.scss +a {b: saturation(hsl(0, 0%, 100%))} + +<===> min/output.css +a { + b: 0%; +} + +<===> +================================================================================ +<===> middle/input.scss +a {b: saturation(hsl(0, 50%, 100%))} + +<===> middle/output.css +a { + b: 50%; +} + +<===> +================================================================================ +<===> fraction/input.scss +a {b: saturation(hsl(0, 0.5%, 100%))} + +<===> fraction/output.css +a { + b: 0.5%; +} + +<===> +================================================================================ +<===> named/input.scss +a {b: saturation($color: hsl(0, 42%, 100%))} + +<===> named/output.css +a { + b: 42%; +} + +<===> +================================================================================ +<===> error/too_few_args/input.scss +a {b: saturation()} + +<===> error/too_few_args/error +Error: Missing argument $color. + , +1 | a {b: saturation()} + | ^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_few_args/error-libsass +Error: Function saturation is missing argument $color. + on line 1 of input.scss +>> a {b: saturation()} + + ------^ + +<===> +================================================================================ +<===> error/too_many_args/input.scss +a {b: saturation(red, green)} + +<===> error/too_many_args/error +Error: Only 1 argument allowed, but 2 were passed. + , +1 | a {b: saturation(red, green)} + | ^^^^^^^^^^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/too_many_args/error-libsass +Error: wrong number of arguments (2 for 1) for `saturation' + on line 1:7 of input.scss +>> a {b: saturation(red, green)} + + ------^ + +<===> +================================================================================ +<===> error/type/input.scss +a {b: saturation(1)} + +<===> error/type/error +Error: $color: 1 is not a color. + , +1 | a {b: saturation(1)} + | ^^^^^^^^^^^^^ + ' + input.scss 1:7 root stylesheet + +<===> error/type/error-libsass +Error: argument `$color` of `saturation($color)` must be a color + on line 1:7 of input.scss, in function `saturation` + from line 1:7 of input.scss +>> a {b: saturation(1)} + + ------^ diff --git a/spec/core_functions/function_exists.hrx b/spec/core_functions/function_exists.hrx index 1509c33441..0712ff663d 100644 --- a/spec/core_functions/function_exists.hrx +++ b/spec/core_functions/function_exists.hrx @@ -52,7 +52,7 @@ a { <===> through_use/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> through_use/input.scss @use "other" as *; @@ -71,7 +71,7 @@ a { <===> through_forward/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ @@ -243,7 +243,7 @@ Error: wrong number of arguments (2 for 1) for `function-exists' <===> conflict/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> conflict/input.scss @use "other1" as *; diff --git a/spec/core_functions/get_function.hrx b/spec/core_functions/get_function.hrx index 8dcab5953b..1a0675d242 100644 --- a/spec/core_functions/get_function.hrx +++ b/spec/core_functions/get_function.hrx @@ -58,7 +58,7 @@ a { <===> through_use/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> through_use/input.scss @use "other" as *; @@ -77,7 +77,7 @@ a { <===> through_forward/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ @@ -175,7 +175,7 @@ a { <===> scope/stores_local_scope/options.yml --- :todo: -- libsass # sass/libsass#2830 +- sass/libsass#2830 <===> scope/stores_local_scope/input.scss $add-two-fn: null; @@ -499,7 +499,7 @@ Error: $name: get-function("add-two") is not a string. <===> conflict/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> conflict/input.scss @use "other1" as *; diff --git a/spec/core_functions/global_variable_exists.hrx b/spec/core_functions/global_variable_exists.hrx index ca719f620e..08792f2052 100644 --- a/spec/core_functions/global_variable_exists.hrx +++ b/spec/core_functions/global_variable_exists.hrx @@ -40,7 +40,7 @@ a { <===> through_use/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> through_use/input.scss @use "other" as *; @@ -59,7 +59,7 @@ a { <===> through_forward/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ @@ -243,7 +243,7 @@ Error: wrong number of arguments (2 for 1) for `global-variable-exists' <===> conflict/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> conflict/input.scss @use "other1" as *; diff --git a/spec/core_functions/inspect.hrx b/spec/core_functions/inspect.hrx index b3d14a9764..538c4212e8 100644 --- a/spec/core_functions/inspect.hrx +++ b/spec/core_functions/inspect.hrx @@ -369,7 +369,7 @@ a { <===> list/nested/options.yml --- :todo: -- libsass # sass/libsass#2654 +- sass/libsass#2654 <===> list/nested/input.scss a { diff --git a/spec/core_functions/invert/weight-parameter.hrx b/spec/core_functions/invert/weight-parameter.hrx deleted file mode 100644 index 0ac9834021..0000000000 --- a/spec/core_functions/invert/weight-parameter.hrx +++ /dev/null @@ -1,15 +0,0 @@ -<===> input.scss -.invert-with-weight { - zero-percent: invert(#edc, 0%); - ten-percent: invert(#edc, 10%); - keyword: invert(#edc, $weight: 10%); - one-hundred-percent: invert(#edc, 100%); -} - -<===> output.css -.invert-with-weight { - zero-percent: #eeddcc; - ten-percent: #d8cabd; - keyword: #d8cabd; - one-hundred-percent: #112233; -} diff --git a/spec/core_functions/mixin_exists.hrx b/spec/core_functions/mixin_exists.hrx index 6b2c1f520a..6b9a57b2f3 100644 --- a/spec/core_functions/mixin_exists.hrx +++ b/spec/core_functions/mixin_exists.hrx @@ -52,7 +52,7 @@ a { <===> through_use/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> through_use/input.scss @use "other" as *; @@ -71,7 +71,7 @@ a { <===> through_forward/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ @@ -243,7 +243,7 @@ Error: wrong number of arguments (2 for 1) for `mixin-exists' <===> conflict/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> conflict/input.scss @use "other1" as *; diff --git a/spec/core_functions/variable_exists.hrx b/spec/core_functions/variable_exists.hrx index 97c3be1149..53765d99e7 100644 --- a/spec/core_functions/variable_exists.hrx +++ b/spec/core_functions/variable_exists.hrx @@ -40,7 +40,7 @@ a { <===> through_use/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> through_use/input.scss @use "other" as *; @@ -59,7 +59,7 @@ a { <===> through_forward/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ @@ -226,7 +226,7 @@ Error: wrong number of arguments (2 for 1) for `variable-exists' <===> conflict/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> conflict/input.scss @use "other1" as *; diff --git a/spec/css/selector.hrx b/spec/css/selector.hrx index def4ac8299..69bfbbdc1a 100644 --- a/spec/css/selector.hrx +++ b/spec/css/selector.hrx @@ -17,7 +17,7 @@ <===> attribute/modifier/unknown/options.yml --- :todo: -- libsass # sass/libsass#2886 +- sass/libsass#2886 <===> attribute/modifier/unknown/input.scss // At time of writing, only the modifiers "i" and "s" are allowed by the CSS diff --git a/spec/css/url.hrx b/spec/css/url.hrx index bf82d18b61..efc3670e9b 100644 --- a/spec/css/url.hrx +++ b/spec/css/url.hrx @@ -1,7 +1,7 @@ <===> exclam/options.yml --- :todo: -- libsass # sass/libsass#2880 +- sass/libsass#2880 <===> ================================================================================ diff --git a/spec/directives/function/escaped.hrx b/spec/directives/function/escaped.hrx index cf99b0df6c..77655b0d92 100644 --- a/spec/directives/function/escaped.hrx +++ b/spec/directives/function/escaped.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss // Function names can be defined and referred to using escapes, which are diff --git a/spec/directives/if/escaped.hrx b/spec/directives/if/escaped.hrx index eacfdedf32..99daf517f3 100644 --- a/spec/directives/if/escaped.hrx +++ b/spec/directives/if/escaped.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss // Escapes should be normalized before directives are parsed. diff --git a/spec/directives/import/load.hrx b/spec/directives/import/load.hrx index 81d5cd6a8f..6ecc8fc967 100644 --- a/spec/directives/import/load.hrx +++ b/spec/directives/import/load.hrx @@ -41,7 +41,7 @@ a { <===> precedence/scss_before_css/options.yml --- :todo: -- libsass # sass/libsass#2699 +- sass/libsass#2699 <===> precedence/scss_before_css/input.scss @import "other"; @@ -62,7 +62,7 @@ a { <===> precedence/sass_before_css/options.yml --- :todo: -- libsass # sass/libsass#2699 +- sass/libsass#2699 <===> precedence/sass_before_css/input.scss @import "other"; @@ -98,7 +98,7 @@ a { <===> precedence/import_only/options.yml --- :todo: -- libsass # sass/libsass#2807 +- sass/libsass#2807 <===> ================================================================================ diff --git a/spec/errors/extend/placeholder/missing.hrx b/spec/errors/extend/placeholder/missing.hrx index d123403bdb..4fcab57171 100644 --- a/spec/errors/extend/placeholder/missing.hrx +++ b/spec/errors/extend/placeholder/missing.hrx @@ -1,8 +1,8 @@ <===> input.scss -.baz { - @extend %foo; - color: green; -} +.baz { + @extend %foo; + color: green; +} <===> error Error: ".baz" failed to @extend "%foo". @@ -11,6 +11,13 @@ Error: ".baz" failed to @extend "%foo". on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: The target selector was not found. + Use "@extend %foo !optional" to avoid this error. + on line 2 of input.scss +>> @extend %foo; + ------------^ + <===> error-dart-sass Error: The target selector was not found. Use "@extend %foo !optional" to avoid this error. diff --git a/spec/errors/extend/selector/missing.hrx b/spec/errors/extend/selector/missing.hrx index b64ef811f4..26f12d6501 100644 --- a/spec/errors/extend/selector/missing.hrx +++ b/spec/errors/extend/selector/missing.hrx @@ -1,8 +1,8 @@ <===> input.scss -.baz { - @extend .foo; - color: green; -} +.baz { + @extend .foo; + color: green; +} <===> error Error: ".baz" failed to @extend ".foo". @@ -11,6 +11,13 @@ Error: ".baz" failed to @extend ".foo". on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: The target selector was not found. + Use "@extend .foo !optional" to avoid this error. + on line 2 of input.scss +>> @extend .foo; + ------------^ + <===> error-dart-sass Error: The target selector was not found. Use "@extend .foo !optional" to avoid this error. diff --git a/spec/extend-tests/007_test_multiple_extends_with_single_extender_and_single_target.hrx b/spec/extend-tests/007_test_multiple_extends_with_single_extender_and_single_target.hrx index b7fa524872..b4d5d3aa2d 100644 --- a/spec/extend-tests/007_test_multiple_extends_with_single_extender_and_single_target.hrx +++ b/spec/extend-tests/007_test_multiple_extends_with_single_extender_and_single_target.hrx @@ -3,11 +3,6 @@ .baz {@extend .foo; @extend .bar} <===> output.css -.foo .bar, .baz .bar, .foo .baz, .baz .baz { - a: b; -} - -<===> output-dart-sass.css .foo .bar, .foo .baz, .baz .bar, .baz .baz { a: b; } diff --git a/spec/extend-tests/009_test_multiple_extends_with_multiple_extenders_and_single_target.hrx b/spec/extend-tests/009_test_multiple_extends_with_multiple_extenders_and_single_target.hrx index 7be32d2a17..959d5bcbf8 100644 --- a/spec/extend-tests/009_test_multiple_extends_with_multiple_extenders_and_single_target.hrx +++ b/spec/extend-tests/009_test_multiple_extends_with_multiple_extenders_and_single_target.hrx @@ -4,11 +4,6 @@ .bang {@extend .bar} <===> output.css -.foo .bar, .baz .bar, .foo .bang, .baz .bang { - a: b; -} - -<===> output-dart-sass.css .foo .bar, .foo .bang, .baz .bar, .baz .bang { a: b; } diff --git a/spec/extend-tests/010_test_multiple_extends_with_multiple_extenders_and_single_target.hrx b/spec/extend-tests/010_test_multiple_extends_with_multiple_extenders_and_single_target.hrx index 4a320b0663..3cf05ca548 100644 --- a/spec/extend-tests/010_test_multiple_extends_with_multiple_extenders_and_single_target.hrx +++ b/spec/extend-tests/010_test_multiple_extends_with_multiple_extenders_and_single_target.hrx @@ -4,11 +4,6 @@ .bang {@extend .bar} <===> output.css -.foo.bar, .bar.baz, .baz.bang, .foo.bang { - a: b; -} - -<===> output-dart-sass.css .foo.bar, .foo.bang, .bar.baz, .baz.bang { a: b; } diff --git a/spec/extend-tests/011_test_chained_extends.hrx b/spec/extend-tests/011_test_chained_extends.hrx index c1ff0e2113..7d7c0f5119 100644 --- a/spec/extend-tests/011_test_chained_extends.hrx +++ b/spec/extend-tests/011_test_chained_extends.hrx @@ -5,11 +5,6 @@ .bip {@extend .bar} <===> output.css -.foo, .bar, .baz, .bip { - a: b; -} - -<===> output-dart-sass.css .foo, .bar, .bip, .baz { a: b; } diff --git a/spec/extend-tests/086.1_test_pseudoelement_goes_lefter_than_not.hrx b/spec/extend-tests/086.1_test_pseudoelement_goes_lefter_than_not.hrx index 8047195717..df60de9d02 100644 --- a/spec/extend-tests/086.1_test_pseudoelement_goes_lefter_than_not.hrx +++ b/spec/extend-tests/086.1_test_pseudoelement_goes_lefter_than_not.hrx @@ -12,11 +12,6 @@ d::e { @extend c; } <===> output.css -b:not(:first-child):after, c:s, d:s::e { - x: y; -} - -<===> output-dart-sass.css c:s, d:s::e, b:after:not(:first-child) { x: y; } diff --git a/spec/extend-tests/091_test_redundant_selector_elimination.hrx b/spec/extend-tests/091_test_redundant_selector_elimination.hrx index 9fc84df931..ac87d0d742 100644 --- a/spec/extend-tests/091_test_redundant_selector_elimination.hrx +++ b/spec/extend-tests/091_test_redundant_selector_elimination.hrx @@ -1,14 +1,9 @@ -<===> options.yml ---- -:ignore_for: -- dart-sass - <===> input.scss .foo.bar {a: b} .x {@extend .foo, .bar} .y {@extend .foo, .bar} <===> output.css -.foo.bar, .x, .y { +.foo.bar, .y, .x { a: b; } diff --git a/spec/extend-tests/150_test_combinator_unification_tilde_plus.hrx b/spec/extend-tests/150_test_combinator_unification_tilde_plus.hrx index fe260191c3..1fa111c529 100644 --- a/spec/extend-tests/150_test_combinator_unification_tilde_plus.hrx +++ b/spec/extend-tests/150_test_combinator_unification_tilde_plus.hrx @@ -3,11 +3,6 @@ .b + y {@extend x} <===> output.css -.a ~ x, .a ~ .b + y, .a.b + y { - a: b; -} - -<===> output-dart-sass.css .a ~ x, .a ~ .b + y, .b.a + y { a: b; } diff --git a/spec/extend-tests/178_test_combinator_unification_with_newlines.hrx b/spec/extend-tests/178_test_combinator_unification_with_newlines.hrx index 426a3f3e7c..30e179c5fd 100644 --- a/spec/extend-tests/178_test_combinator_unification_with_newlines.hrx +++ b/spec/extend-tests/178_test_combinator_unification_with_newlines.hrx @@ -19,8 +19,7 @@ y {@extend x} } <===> output-libsass.css -.a > -.b + x, .c.a > -.d.b + y { +.a > .b ++ x, .c.a > .d.b + y { a: b; } diff --git a/spec/libsass-todo-tests/180_test_basic_extend_loop.hrx b/spec/extend-tests/180_test_basic_extend_loop.hrx similarity index 100% rename from spec/libsass-todo-tests/180_test_basic_extend_loop.hrx rename to spec/extend-tests/180_test_basic_extend_loop.hrx diff --git a/spec/libsass-todo-tests/181_test_three_level_extend_loop.hrx b/spec/extend-tests/181_test_three_level_extend_loop.hrx similarity index 100% rename from spec/libsass-todo-tests/181_test_three_level_extend_loop.hrx rename to spec/extend-tests/181_test_three_level_extend_loop.hrx diff --git a/spec/extend-tests/191_test_placeholder_selector_with_multiple_extenders.hrx b/spec/extend-tests/191_test_placeholder_selector_with_multiple_extenders.hrx index 0e7addb98e..dc11bd0d16 100644 --- a/spec/extend-tests/191_test_placeholder_selector_with_multiple_extenders.hrx +++ b/spec/extend-tests/191_test_placeholder_selector_with_multiple_extenders.hrx @@ -4,11 +4,6 @@ .baz {@extend %foo} <===> output.css -.bar, .baz { - color: blue; -} - -<===> output-dart-sass.css .baz, .bar { color: blue; } diff --git a/spec/extend-tests/215_test_multiple_source_redundancy_elimination.hrx b/spec/extend-tests/215_test_multiple_source_redundancy_elimination.hrx index 75d2088abe..2787052481 100644 --- a/spec/extend-tests/215_test_multiple_source_redundancy_elimination.hrx +++ b/spec/extend-tests/215_test_multiple_source_redundancy_elimination.hrx @@ -11,15 +11,6 @@ .test-case {@extend %default-style} <===> output.css -.test-case, .test-case:active { - color: red; -} - -.test-case:hover { - color: green; -} - -<===> output-dart-sass.css .test-case:active, .test-case { color: red; } diff --git a/spec/extend-tests/218_test_nested_extend_specificity.hrx b/spec/extend-tests/218_test_nested_extend_specificity.hrx index dc0d590d26..3cb77cf105 100644 --- a/spec/extend-tests/218_test_nested_extend_specificity.hrx +++ b/spec/extend-tests/218_test_nested_extend_specificity.hrx @@ -7,11 +7,6 @@ a { } <===> output.css -a :b, a :b:c { - a: b; -} - -<===> output-dart-sass.css a :b:c, a :b { a: b; } diff --git a/spec/extend-tests/222_test_newline_near_combinator.hrx b/spec/extend-tests/222_test_newline_near_combinator.hrx index a0302ef674..18a0a16248 100644 --- a/spec/extend-tests/222_test_newline_near_combinator.hrx +++ b/spec/extend-tests/222_test_newline_near_combinator.hrx @@ -15,3 +15,8 @@ .b y { a: b; } + +<===> output-libsass.css +.a + .b x, .a + .b .c y, .c .a + .b y { + a: b; +} diff --git a/spec/extend-tests/234_test_extend_cross_branch_redundancy_elimination.hrx b/spec/extend-tests/234_test_extend_cross_branch_redundancy_elimination.hrx index af3ae39836..a46a5c71ac 100644 --- a/spec/extend-tests/234_test_extend_cross_branch_redundancy_elimination.hrx +++ b/spec/extend-tests/234_test_extend_cross_branch_redundancy_elimination.hrx @@ -5,11 +5,6 @@ .a .d {@extend %y} <===> output.css -.e .a .c .d, .a .c .e .d, .e .b .c .a .d, .b .c .a .e .d { - a: b; -} - -<===> output-dart-sass.css .e .a .c .d, .e .b .c .a .d, .a .e .b .c .d, .a .c .e .d, .b .c .e .a .d { a: b; } diff --git a/spec/extend-tests/escaped_selector.hrx b/spec/extend-tests/escaped_selector.hrx index 42ce20af61..32fd34ec80 100644 --- a/spec/extend-tests/escaped_selector.hrx +++ b/spec/extend-tests/escaped_selector.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss // Escapes in selectors' identifiers should be normalized before `@extend` is diff --git a/spec/extend-tests/extend-result-of-extend.hrx b/spec/extend-tests/extend-result-of-extend.hrx index 3702615c2c..7fd147e6bf 100644 --- a/spec/extend-tests/extend-result-of-extend.hrx +++ b/spec/extend-tests/extend-result-of-extend.hrx @@ -1,8 +1,3 @@ -<===> options.yml ---- -:todo: -- libsass - <===> input.scss // The result of :not(.c) being extended should itself be extenable. .a {@extend :not(.b)} diff --git a/spec/extend-tests/extend-self.hrx b/spec/extend-tests/extend-self.hrx index 54f6c22c01..3004638027 100644 --- a/spec/extend-tests/extend-self.hrx +++ b/spec/extend-tests/extend-self.hrx @@ -1,7 +1,3 @@ -<===> options.yml ---- -:todo: -- libsass <===> input.scss // This shouldn't change the selector. .c, .a .b .c, .a .c .b {x: y; @extend .c} diff --git a/spec/extend-tests/nested-compound-unification.hrx b/spec/extend-tests/nested-compound-unification.hrx index 2f66432e78..68beff2ede 100644 --- a/spec/extend-tests/nested-compound-unification.hrx +++ b/spec/extend-tests/nested-compound-unification.hrx @@ -6,11 +6,6 @@ .e.f {x: y} <===> output.css -.e.f, .a .f.b, .a .c .b.d, .c .a .b.d, .c .e.d { - x: y; -} - -<===> output-dart-sass.css .e.f, .a .f.b, .c .e.d, .a .c .b.d, .c .a .b.d { x: y; } diff --git a/spec/extend-tests/selector_list.hrx b/spec/extend-tests/selector_list.hrx index 00b4c5534c..317c9eb3b3 100644 --- a/spec/extend-tests/selector_list.hrx +++ b/spec/extend-tests/selector_list.hrx @@ -9,15 +9,6 @@ .bang {@extend .foo #{","} .bar} <===> output.css -.foo, .baz, .bang { - a: b; -} - -.bar, .baz, .bang { - x: y; -} - -<===> output-dart-sass.css .foo, .bang, .baz { a: b; } diff --git a/spec/libsass-todo-tests/extend-tests/200_test_extend_with_subject_transfers_subject_to_extender.hrx b/spec/extend-tests/subject-operator/200_test_extend_with_subject_transfers_subject_to_extender.hrx similarity index 97% rename from spec/libsass-todo-tests/extend-tests/200_test_extend_with_subject_transfers_subject_to_extender.hrx rename to spec/extend-tests/subject-operator/200_test_extend_with_subject_transfers_subject_to_extender.hrx index 126c96d505..9e390055a5 100644 --- a/spec/libsass-todo-tests/extend-tests/200_test_extend_with_subject_transfers_subject_to_extender.hrx +++ b/spec/extend-tests/subject-operator/200_test_extend_with_subject_transfers_subject_to_extender.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss foo bar! baz {a: b} diff --git a/spec/libsass-todo-tests/extend-tests/201_test_extend_with_subject_transfers_subject_to_extender.hrx b/spec/extend-tests/subject-operator/201_test_extend_with_subject_transfers_subject_to_extender.hrx similarity index 97% rename from spec/libsass-todo-tests/extend-tests/201_test_extend_with_subject_transfers_subject_to_extender.hrx rename to spec/extend-tests/subject-operator/201_test_extend_with_subject_transfers_subject_to_extender.hrx index b22ff55fb8..7d22cfc15f 100644 --- a/spec/libsass-todo-tests/extend-tests/201_test_extend_with_subject_transfers_subject_to_extender.hrx +++ b/spec/extend-tests/subject-operator/201_test_extend_with_subject_transfers_subject_to_extender.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss foo.x bar.y! baz.z {a: b} diff --git a/spec/libsass-todo-tests/extend-tests/202_test_extend_with_subject_retains_subject_on_target.hrx b/spec/extend-tests/subject-operator/202_test_extend_with_subject_retains_subject_on_target.hrx similarity index 97% rename from spec/libsass-todo-tests/extend-tests/202_test_extend_with_subject_retains_subject_on_target.hrx rename to spec/extend-tests/subject-operator/202_test_extend_with_subject_retains_subject_on_target.hrx index cb99aa98c0..71d7c2ab55 100644 --- a/spec/libsass-todo-tests/extend-tests/202_test_extend_with_subject_retains_subject_on_target.hrx +++ b/spec/extend-tests/subject-operator/202_test_extend_with_subject_retains_subject_on_target.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss .foo! .bar {a: b} diff --git a/spec/libsass-todo-tests/extend-tests/203_test_extend_with_subject_transfers_subject_to_target.hrx b/spec/extend-tests/subject-operator/203_test_extend_with_subject_transfers_subject_to_target.hrx similarity index 91% rename from spec/libsass-todo-tests/extend-tests/203_test_extend_with_subject_transfers_subject_to_target.hrx rename to spec/extend-tests/subject-operator/203_test_extend_with_subject_transfers_subject_to_target.hrx index e543381d3c..c6e015a240 100644 --- a/spec/libsass-todo-tests/extend-tests/203_test_extend_with_subject_transfers_subject_to_target.hrx +++ b/spec/extend-tests/subject-operator/203_test_extend_with_subject_transfers_subject_to_target.hrx @@ -1,3 +1,8 @@ +<===> options.yml +--- +:ignore_for: +- libsass + <===> input.scss a.foo .bar {a: b} .bip .bap! {@extend .foo} diff --git a/spec/libsass-todo-tests/extend-tests/204_test_extend_with_subject_retains_subject_on_extender.hrx b/spec/extend-tests/subject-operator/204_test_extend_with_subject_retains_subject_on_extender.hrx similarity index 97% rename from spec/libsass-todo-tests/extend-tests/204_test_extend_with_subject_retains_subject_on_extender.hrx rename to spec/extend-tests/subject-operator/204_test_extend_with_subject_retains_subject_on_extender.hrx index f89618fd6e..8cded5f146 100644 --- a/spec/libsass-todo-tests/extend-tests/204_test_extend_with_subject_retains_subject_on_extender.hrx +++ b/spec/extend-tests/subject-operator/204_test_extend_with_subject_retains_subject_on_extender.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss .foo .bar {a: b} diff --git a/spec/libsass-todo-tests/extend-tests/205_test_extend_with_subject_fails_with_conflicting_subject.hrx b/spec/extend-tests/subject-operator/205_test_extend_with_subject_fails_with_conflicting_subject.hrx similarity index 98% rename from spec/libsass-todo-tests/extend-tests/205_test_extend_with_subject_fails_with_conflicting_subject.hrx rename to spec/extend-tests/subject-operator/205_test_extend_with_subject_fails_with_conflicting_subject.hrx index 39bbd5e941..0f9ffbc4c5 100644 --- a/spec/libsass-todo-tests/extend-tests/205_test_extend_with_subject_fails_with_conflicting_subject.hrx +++ b/spec/extend-tests/subject-operator/205_test_extend_with_subject_fails_with_conflicting_subject.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss x! .bar {a: b} diff --git a/spec/libsass-todo-tests/extend-tests/notes.txt b/spec/extend-tests/subject-operator/notes.txt similarity index 100% rename from spec/libsass-todo-tests/extend-tests/notes.txt rename to spec/extend-tests/subject-operator/notes.txt diff --git a/spec/libsass-closed-issues/issue_100.hrx b/spec/libsass-closed-issues/issue_100.hrx index 8047ae1090..b2593a1a0a 100644 --- a/spec/libsass-closed-issues/issue_100.hrx +++ b/spec/libsass-closed-issues/issue_100.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $endColor: red; diff --git a/spec/libsass-closed-issues/issue_1029.hrx b/spec/libsass-closed-issues/issue_1029.hrx index bfaba61abd..816df0d0a1 100644 --- a/spec/libsass-closed-issues/issue_1029.hrx +++ b/spec/libsass-closed-issues/issue_1029.hrx @@ -13,15 +13,6 @@ } <===> output.css -.week-start-1 .month-start-2, .week-start-2 .month-start-1 { - margin-left: 1px; -} - -.week-start-1 .month-start-1, .week-start-2 .month-start-2 { - margin-left: 2px; -} - -<===> output-dart-sass.css .week-start-2 .month-start-1, .week-start-1 .month-start-2 { margin-left: 1px; } diff --git a/spec/libsass-closed-issues/issue_1063.hrx b/spec/libsass-closed-issues/issue_1063.hrx index 8d7309ec2c..b13cc08c25 100644 --- a/spec/libsass-closed-issues/issue_1063.hrx +++ b/spec/libsass-closed-issues/issue_1063.hrx @@ -9,11 +9,6 @@ a { } <===> output.css -a > b > x, a > b > c > x { - display: block; -} - -<===> output-dart-sass.css a > b > c > x, a > b > x { display: block; } diff --git a/spec/libsass-closed-issues/issue_1081.hrx b/spec/libsass-closed-issues/issue_1081.hrx index 19d1d20603..a71d39a06a 100644 --- a/spec/libsass-closed-issues/issue_1081.hrx +++ b/spec/libsass-closed-issues/issue_1081.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $foo: foo !global !default; diff --git a/spec/libsass-closed-issues/issue_1091.hrx b/spec/libsass-closed-issues/issue_1091.hrx index f7a1acade8..5b8cab090a 100644 --- a/spec/libsass-closed-issues/issue_1091.hrx +++ b/spec/libsass-closed-issues/issue_1091.hrx @@ -13,11 +13,6 @@ } <===> output.css -.a, .b .c, .b .d > .e, .d > .e { - top: 0; -} - -<===> output-dart-sass.css .a, .d > .e, .b .c, .b .d > .e { top: 0; } diff --git a/spec/libsass-closed-issues/issue_1210/extend.hrx b/spec/libsass-closed-issues/issue_1210/extend.hrx index 453d5d19a1..41e6ac469b 100644 --- a/spec/libsass-closed-issues/issue_1210/extend.hrx +++ b/spec/libsass-closed-issues/issue_1210/extend.hrx @@ -41,17 +41,6 @@ bam { bar { color: red; } -baz { - color: blue; -} -qux foo, bam foo { - color: green; -} - -<===> output-dart-sass.css -bar { - color: red; -} baz { color: blue; diff --git a/spec/libsass-closed-issues/issue_1218.hrx b/spec/libsass-closed-issues/issue_1218.hrx index 96a4cf0fb1..b37438e353 100644 --- a/spec/libsass-closed-issues/issue_1218.hrx +++ b/spec/libsass-closed-issues/issue_1218.hrx @@ -12,18 +12,6 @@ $foo: 20px; } <===> output.css -@media screen and (min-width: 20px) { - .bar { - width: 12px; - } -} -@media screen and (min-width: 0) { - .bar { - width: 12px; - } -} - -<===> output-dart-sass.css @media screen and (min-width:20px) { .bar { width: 12px; diff --git a/spec/libsass-closed-issues/issue_1224.hrx b/spec/libsass-closed-issues/issue_1224.hrx index ba8fc6707e..9b27ef5c94 100644 --- a/spec/libsass-closed-issues/issue_1224.hrx +++ b/spec/libsass-closed-issues/issue_1224.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#1224 +- sass/libsass#1224 <===> input.scss @media all and (max-width: 768px) { @media only screen { diff --git a/spec/libsass-closed-issues/issue_1231/options.yml b/spec/libsass-closed-issues/issue_1231/options.yml index 3bb0723bb6..8380261167 100644 --- a/spec/libsass-closed-issues/issue_1231/options.yml +++ b/spec/libsass-closed-issues/issue_1231/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 diff --git a/spec/libsass-closed-issues/issue_1248.hrx b/spec/libsass-closed-issues/issue_1248.hrx index 86aa37d738..2981b2d4f4 100644 --- a/spec/libsass-closed-issues/issue_1248.hrx +++ b/spec/libsass-closed-issues/issue_1248.hrx @@ -10,11 +10,6 @@ } <===> output.css -.a.b .c, .a .c, .a.b .d, .a .d { - top: 0; -} - -<===> output-dart-sass.css .a.b .c, .a .c, .a .d { top: 0; } diff --git a/spec/libsass-closed-issues/issue_1263.hrx b/spec/libsass-closed-issues/issue_1263.hrx index 8fd3dc8a2d..40c030f7ba 100644 --- a/spec/libsass-closed-issues/issue_1263.hrx +++ b/spec/libsass-closed-issues/issue_1263.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2721 +- sass/libsass#2721 <===> input.scss foo { diff --git a/spec/libsass-todo-issues/issue_1322.hrx b/spec/libsass-closed-issues/issue_1322.hrx similarity index 66% rename from spec/libsass-todo-issues/issue_1322.hrx rename to spec/libsass-closed-issues/issue_1322.hrx index 3648482125..f939874c03 100644 --- a/spec/libsass-todo-issues/issue_1322.hrx +++ b/spec/libsass-closed-issues/issue_1322.hrx @@ -11,12 +11,5 @@ $bar: "min-width:400px"; @import url(foo.css) (min-width: 400px); @import url(foo.css) (min-width: 400px); @import url(foo.css) (min-width: 400px); -@import url(foo.css) (min-width: 400px); -@import url(foo.css) (min-width: 400px); - -<===> output-dart-sass.css -@import url(foo.css) (min-width: 400px); -@import url(foo.css) (min-width: 400px); -@import url(foo.css) (min-width: 400px); @import url(foo.css) (min-width:400px); @import url(foo.css) (min-width:400px); diff --git a/spec/libsass-closed-issues/issue_1394.hrx b/spec/libsass-closed-issues/issue_1394.hrx index 11e471fcd0..2e81ea6e98 100644 --- a/spec/libsass-closed-issues/issue_1394.hrx +++ b/spec/libsass-closed-issues/issue_1394.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss foo { diff --git a/spec/libsass-closed-issues/issue_1398.hrx b/spec/libsass-closed-issues/issue_1398.hrx index 99abee583a..98114dbdeb 100644 --- a/spec/libsass-closed-issues/issue_1398.hrx +++ b/spec/libsass-closed-issues/issue_1398.hrx @@ -6,13 +6,6 @@ } <===> output.css -@media screen and (hux: 3 / 4) { - foo { - bar: baz; - } -} - -<===> output-dart-sass.css @media screen and (hux: 3/4) { foo { bar: baz; diff --git a/spec/libsass-closed-issues/issue_1405.hrx b/spec/libsass-closed-issues/issue_1405.hrx index af43ca3862..7df4cebe16 100644 --- a/spec/libsass-closed-issues/issue_1405.hrx +++ b/spec/libsass-closed-issues/issue_1405.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss div { diff --git a/spec/libsass-closed-issues/issue_1418/dynamic.hrx b/spec/libsass-closed-issues/issue_1418/dynamic.hrx index 178f3ca3f3..273fc45458 100644 --- a/spec/libsass-closed-issues/issue_1418/dynamic.hrx +++ b/spec/libsass-closed-issues/issue_1418/dynamic.hrx @@ -11,6 +11,16 @@ Error: Function missing doesn't support keyword arguments on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal +in Sass 4.0. Use call(get-function("missing")) instead. + +Error: Plain CSS function missing doesn't support keyword arguments + on line 2:10 of inpit.scss, in function `call` + from line 2:10 of input.scss +>> color: call(missing, $a: b); + ---------^ + <===> error-dart-sass DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal in Sass 4.0. Use call(get-function(missing)) instead. diff --git a/spec/libsass-closed-issues/issue_1418/static.hrx b/spec/libsass-closed-issues/issue_1418/static.hrx index 7f59779cf7..a1bc1b9bb4 100644 --- a/spec/libsass-closed-issues/issue_1418/static.hrx +++ b/spec/libsass-closed-issues/issue_1418/static.hrx @@ -1,8 +1,3 @@ -<===> options.yml ---- -:todo: -- libsass - <===> input.scss foo { color: missing($a: b); diff --git a/spec/libsass-closed-issues/issue_1419/unquoted.hrx b/spec/libsass-closed-issues/issue_1419/unquoted.hrx index e882a9b34d..70ad6913d7 100644 --- a/spec/libsass-closed-issues/issue_1419/unquoted.hrx +++ b/spec/libsass-closed-issues/issue_1419/unquoted.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss foo { diff --git a/spec/libsass-closed-issues/issue_1482.hrx b/spec/libsass-closed-issues/issue_1482.hrx index f4919fd011..65ff58b01f 100644 --- a/spec/libsass-closed-issues/issue_1482.hrx +++ b/spec/libsass-closed-issues/issue_1482.hrx @@ -16,11 +16,6 @@ type { } <===> output.css -.mango, type__else, .qualified__else { - color: red; -} - -<===> output-dart-sass.css .mango, .qualified__else, type__else { color: red; } diff --git a/spec/libsass-closed-issues/issue_1527/extend.hrx b/spec/libsass-closed-issues/issue_1527/extend.hrx index cdc22de27c..97facac13e 100644 --- a/spec/libsass-closed-issues/issue_1527/extend.hrx +++ b/spec/libsass-closed-issues/issue_1527/extend.hrx @@ -8,6 +8,12 @@ Error: Can't extend &: can't extend parent selectors on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Parent selectors aren't allowed here. + on line 2:11 of input.scss +>> @extend &; + ----------^ + <===> error-dart-sass Error: Parent selectors aren't allowed here. , diff --git a/spec/libsass-closed-issues/issue_1527/selector/first.hrx b/spec/libsass-closed-issues/issue_1527/selector/first.hrx index 7c977db24e..5a0af0382f 100644 --- a/spec/libsass-closed-issues/issue_1527/selector/first.hrx +++ b/spec/libsass-closed-issues/issue_1527/selector/first.hrx @@ -8,6 +8,11 @@ Error: Base-level rules cannot contain the parent-selector-referencing character on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1 of input.scss +>> & foo { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1527/selector/last.hrx b/spec/libsass-closed-issues/issue_1527/selector/last.hrx index bf19719202..f310dad790 100644 --- a/spec/libsass-closed-issues/issue_1527/selector/last.hrx +++ b/spec/libsass-closed-issues/issue_1527/selector/last.hrx @@ -8,6 +8,11 @@ Error: Base-level rules cannot contain the parent-selector-referencing character on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1 of input.scss +>> foo & { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1527/selector/only.hrx b/spec/libsass-closed-issues/issue_1527/selector/only.hrx index dfc6805907..f84fc20180 100644 --- a/spec/libsass-closed-issues/issue_1527/selector/only.hrx +++ b/spec/libsass-closed-issues/issue_1527/selector/only.hrx @@ -6,6 +6,11 @@ Error: Base-level rules cannot contain the parent-selector-referencing character on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1 of input.scss +>> & {} + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1569.hrx b/spec/libsass-closed-issues/issue_1569.hrx index 31f6863c2c..b67b90955b 100644 --- a/spec/libsass-closed-issues/issue_1569.hrx +++ b/spec/libsass-closed-issues/issue_1569.hrx @@ -14,6 +14,12 @@ Error: Base-level rules cannot contain the parent-selector-referencing character on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 2 of input.scss +>> .nihilo & { + ^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1632.hrx b/spec/libsass-closed-issues/issue_1632.hrx index bcf9da4bd3..81b707227a 100644 --- a/spec/libsass-closed-issues/issue_1632.hrx +++ b/spec/libsass-closed-issues/issue_1632.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $foo: \/ !global; diff --git a/spec/libsass-closed-issues/issue_1644/complex.hrx b/spec/libsass-closed-issues/issue_1644/complex.hrx index 63d8151068..cfe18ed0c1 100644 --- a/spec/libsass-closed-issues/issue_1644/complex.hrx +++ b/spec/libsass-closed-issues/issue_1644/complex.hrx @@ -41,6 +41,14 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 29 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 22:9 of input.scss, in mixin `grid-media-query` + from line 29:12 of input.scss +>> body.immobile & { + + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1644/mixin-parent.hrx b/spec/libsass-closed-issues/issue_1644/mixin-parent.hrx index 7026a52d99..5b9fa1d989 100644 --- a/spec/libsass-closed-issues/issue_1644/mixin-parent.hrx +++ b/spec/libsass-closed-issues/issue_1644/mixin-parent.hrx @@ -16,6 +16,13 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 5 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 2:5 of input.scss, in mixin `parent` + from line 5:12 of input.scss +>> body.immobile & { + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_1650/negative.hrx b/spec/libsass-closed-issues/issue_1650/negative.hrx index 8191f71d53..af1d50806f 100644 --- a/spec/libsass-closed-issues/issue_1650/negative.hrx +++ b/spec/libsass-closed-issues/issue_1650/negative.hrx @@ -5,6 +5,7 @@ :nth-of-type(2n - 1), :nth-of-type( 2n - 1 ) { color: red; } + <===> output.css :nth-of-type(2n-1), :nth-of-type(2n- 1), @@ -13,12 +14,3 @@ :nth-of-type(2n - 1) { color: red; } - -<===> output-libsass.css -:nth-of-type(2n-1), -:nth-of-type(2n- 1), -:nth-of-type(2n -1), -:nth-of-type(2n - 1), -:nth-of-type(2n - 1) { - color: red; -} diff --git a/spec/libsass-closed-issues/issue_1650/positive.hrx b/spec/libsass-closed-issues/issue_1650/positive.hrx index c639f72632..949899979a 100644 --- a/spec/libsass-closed-issues/issue_1650/positive.hrx +++ b/spec/libsass-closed-issues/issue_1650/positive.hrx @@ -13,12 +13,3 @@ :nth-of-type(2n + 1) { color: red; } - -<===> output-libsass.css -:nth-of-type(2n+1), -:nth-of-type(2n+ 1), -:nth-of-type(2n +1), -:nth-of-type(2n + 1), -:nth-of-type(2n + 1) { - color: red; -} diff --git a/spec/libsass-closed-issues/issue_1670.hrx b/spec/libsass-closed-issues/issue_1670.hrx index 377aee30c9..5c3cf73128 100644 --- a/spec/libsass-closed-issues/issue_1670.hrx +++ b/spec/libsass-closed-issues/issue_1670.hrx @@ -10,6 +10,13 @@ Error: ".this-should-error" failed to @extend "%an-undefined-placeholder". on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: The target selector was not found. + Use "@extend %an-undefined-placeholder !optional" to avoid this error. + on line 2 of input.scss +>> @extend %an-undefined-placeholder; + ------------^ + <===> error-dart-sass Error: The target selector was not found. Use "@extend %an-undefined-placeholder !optional" to avoid this error. diff --git a/spec/libsass-closed-issues/issue_1710.hrx b/spec/libsass-closed-issues/issue_1710.hrx index 085e539c1a..661059e816 100644 --- a/spec/libsass-closed-issues/issue_1710.hrx +++ b/spec/libsass-closed-issues/issue_1710.hrx @@ -6,11 +6,6 @@ ul, ol { } <===> output.css -ul ul, ol ul, ul ol, ol ol { - display: block; -} - -<===> output-dart-sass.css ul ul, ul ol, ol ul, ol ol { display: block; } diff --git a/spec/libsass-todo-issues/issue_1720.hrx b/spec/libsass-closed-issues/issue_1720.hrx similarity index 60% rename from spec/libsass-todo-issues/issue_1720.hrx rename to spec/libsass-closed-issues/issue_1720.hrx index a76fb4f138..9d72e11c29 100644 --- a/spec/libsass-todo-issues/issue_1720.hrx +++ b/spec/libsass-closed-issues/issue_1720.hrx @@ -8,6 +8,12 @@ Error: Invalid CSS after "}": expected ";", was "" on line 4 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Invalid CSS after " a: a#{b": expected expression (e.g. 1px, bold), was "//}c;" + on line 2:10 of input.scss +>> a: a#{b//}c; + ---------^ + <===> error-dart-sass Error: expected "}". , diff --git a/spec/libsass-closed-issues/issue_1729.hrx b/spec/libsass-closed-issues/issue_1729.hrx index 055f279821..e5c0f689a0 100644 --- a/spec/libsass-closed-issues/issue_1729.hrx +++ b/spec/libsass-closed-issues/issue_1729.hrx @@ -47,11 +47,6 @@ b::foo(2){ } <===> output.css -a::foo(1), a::foo(2), b::foo(1), b::foo(2), :bar(1), :bar(2), :bar(3), [foo], [bar], [baz], [bar="1"], [bar="2"], [bar="3"] { - font-size: 1em; -} - -<===> output-dart-sass.css [bar="3"], [bar="2"], [bar="1"], [baz], [bar], [foo], :bar(3), :bar(2), :bar(1), b::foo(2), b::foo(1), a::foo(2), a::foo(1) { font-size: 1em; } diff --git a/spec/libsass-closed-issues/issue_1916.hrx b/spec/libsass-closed-issues/issue_1916.hrx index 24677aea45..54f30142b0 100644 --- a/spec/libsass-closed-issues/issue_1916.hrx +++ b/spec/libsass-closed-issues/issue_1916.hrx @@ -22,6 +22,13 @@ Error: ".btn:hover" failed to @extend ".z-depth-half-1". on line 13 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: The target selector was not found. + Use "@extend .z-depth-half-1 !optional" to avoid this error. + on line 13 of input.scss +>> @extend .z-depth-half-1; + ------------^ + <===> error-dart-sass Error: The target selector was not found. Use "@extend .z-depth-half-1 !optional" to avoid this error. diff --git a/spec/libsass-closed-issues/issue_1923.hrx b/spec/libsass-closed-issues/issue_1923.hrx index 42114707e4..0aff68b79b 100644 --- a/spec/libsass-closed-issues/issue_1923.hrx +++ b/spec/libsass-closed-issues/issue_1923.hrx @@ -21,6 +21,13 @@ input.scss. input.scss Use --trace for backtrace. +<===> error-libsass +Error: You may not @extend selectors across media queries. + Use "@extend %btnBase !optional" to avoid this error. + on line 7:7 of inpit.scss, in mixin `mobile` + from line 11:12 of input.scss +>> @extend %btnBase + <===> error-dart-sass Error: From line 1, column 1 of input.scss: , diff --git a/spec/libsass-todo-issues/issue_2053.hrx b/spec/libsass-closed-issues/issue_2053.hrx similarity index 81% rename from spec/libsass-todo-issues/issue_2053.hrx rename to spec/libsass-closed-issues/issue_2053.hrx index 6512ae6d5a..952facd39c 100644 --- a/spec/libsass-todo-issues/issue_2053.hrx +++ b/spec/libsass-closed-issues/issue_2053.hrx @@ -1,23 +1,19 @@ -<===> options.yml ---- -:todo: -- dart-sass <===> input.scss -.foo[disabled] { - @extend .foo; - background: blue; - } -.bar[disabled] { - foo { - @extend .bar; - background: blue; - } -} -foo { - .baz[disabled] { - @extend .baz; - background: blue; - } +.foo[disabled] { + @extend .foo; + background: blue; + } +.bar[disabled] { + foo { + @extend .bar; + background: blue; + } +} +foo { + .baz[disabled] { + @extend .baz; + background: blue; + } } <===> output.css .foo[disabled] { @@ -28,6 +24,6 @@ foo { background: blue; } -foo [disabled].baz { +foo .baz[disabled] { background: blue; } diff --git a/spec/libsass-todo-issues/issue_2055.hrx b/spec/libsass-closed-issues/issue_2055.hrx similarity index 69% rename from spec/libsass-todo-issues/issue_2055.hrx rename to spec/libsass-closed-issues/issue_2055.hrx index 1d96181b7f..e80ec2aa90 100644 --- a/spec/libsass-todo-issues/issue_2055.hrx +++ b/spec/libsass-closed-issues/issue_2055.hrx @@ -16,19 +16,6 @@ color: red; } -:not(.thing[disabled]):not([disabled]:not(.thing[disabled])):not([disabled]:has(:not(.thing[disabled]))) { - background: blue; -} - -:has(:not(.thing[disabled]):not([disabled]:not(.thing[disabled])):not([disabled]:has(:not(.thing[disabled])))) { - background: blue; -} - -<===> output-dart-sass.css -:not(.thing) { - color: red; -} - :not(.thing[disabled]):not([disabled]:has(:not(.thing[disabled]):not([disabled]:not(.thing[disabled])))):not([disabled]:not(.thing[disabled]):not([disabled]:has(:not(.thing[disabled]):not([disabled]:not(.thing[disabled]))))) { background: blue; } diff --git a/spec/libsass-todo-issues/issue_2175.hrx b/spec/libsass-closed-issues/issue_2175.hrx similarity index 67% rename from spec/libsass-todo-issues/issue_2175.hrx rename to spec/libsass-closed-issues/issue_2175.hrx index 7f3844efd9..d94532791a 100644 --- a/spec/libsass-todo-issues/issue_2175.hrx +++ b/spec/libsass-closed-issues/issue_2175.hrx @@ -8,6 +8,12 @@ Error: Invalid CSS after "a:nth-child(": expected An+B expression, was ")" on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Invalid CSS after "a:nth-child(": expected An+B expression, was ") {" + on line 1:3 of input.scss +>> a:nth-child() { + --^ + <===> error-dart-sass Error: Expected "n". , diff --git a/spec/libsass-closed-issues/issue_2179.hrx b/spec/libsass-closed-issues/issue_2179.hrx index 2eea5b02ad..b457d5b925 100644 --- a/spec/libsass-closed-issues/issue_2179.hrx +++ b/spec/libsass-closed-issues/issue_2179.hrx @@ -1,46 +1,41 @@ -<===> options.yml ---- -:todo: -- dart-sass - <===> input.scss -@mixin sprite-arrow() { - @extend %hidden-text; -} - -%hidden-text { - text-indent: -999em; -} - -// button.scss -.button-left, -.button-right, -.button-plus, -.button-min { - &:after { - @include sprite-arrow(); - } -} - -.banner { - &:after { - @include sprite-arrow(); - } -} - -.calculator { - .btn-down, - .btn-up { - &:after { - @include sprite-arrow(); - } - } +@mixin sprite-arrow() { + @extend %hidden-text; +} + +%hidden-text { + text-indent: -999em; +} + +// button.scss +.button-left, +.button-right, +.button-plus, +.button-min { + &:after { + @include sprite-arrow(); + } +} + +.banner { + &:after { + @include sprite-arrow(); + } +} + +.calculator { + .btn-down, + .btn-up { + &:after { + @include sprite-arrow(); + } + } } <===> output.css -.button-left:after, +.calculator .btn-down:after, +.calculator .btn-up:after, .banner:after, .button-left:after, .button-right:after, .button-plus:after, -.button-min:after, .banner:after, .calculator .btn-down:after, -.calculator .btn-up:after { +.button-min:after { text-indent: -999em; } diff --git a/spec/libsass-closed-issues/issue_2260/no-parent-with-compound.hrx b/spec/libsass-closed-issues/issue_2260/no-parent-with-compound.hrx index 9c61da7c6c..ba7f7f124e 100644 --- a/spec/libsass-closed-issues/issue_2260/no-parent-with-compound.hrx +++ b/spec/libsass-closed-issues/issue_2260/no-parent-with-compound.hrx @@ -1,15 +1,16 @@ <===> input.scss -@mixin test() { - @at-root { - @content; - } -} - -@include test { - .test & { - property: value; - } - } +@mixin test() { + @at-root { + @content; + } +} + +@include test { + .test & { + property: value; + } +} + <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 8 of input.scss, in `@content' @@ -17,6 +18,13 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 7 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 3:7 of input.scss, in mixin `test` + from line 7:12 of input.scss +>> .test & { + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-closed-issues/issue_2304.hrx b/spec/libsass-closed-issues/issue_2304.hrx index 0ecc91a1f4..2e51e15a61 100644 --- a/spec/libsass-closed-issues/issue_2304.hrx +++ b/spec/libsass-closed-issues/issue_2304.hrx @@ -1,10 +1,10 @@ <===> _module.scss -.foo, & { - background: red; -} - -.foo, &:before { - background: red; +.foo, & { + background: red; +} + +.foo, &:before { + background: red; } <===> input.scss @import "module"; @@ -14,6 +14,12 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1:9 of input.scss +>> .foo, & { + ------^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass-todo-issues/issue_245443/error b/spec/libsass-closed-issues/issue_245443/error similarity index 100% rename from spec/libsass-todo-issues/issue_245443/error rename to spec/libsass-closed-issues/issue_245443/error diff --git a/spec/libsass-todo-issues/issue_245443/error-dart-sass b/spec/libsass-closed-issues/issue_245443/error-dart-sass similarity index 100% rename from spec/libsass-todo-issues/issue_245443/error-dart-sass rename to spec/libsass-closed-issues/issue_245443/error-dart-sass diff --git a/spec/libsass-closed-issues/issue_245443/error-libsass b/spec/libsass-closed-issues/issue_245443/error-libsass new file mode 100644 index 0000000000..21e8ff59c4 --- /dev/null +++ b/spec/libsass-closed-issues/issue_245443/error-libsass @@ -0,0 +1,3 @@ +Error: Invalid UTF-8 sequence + on line 1:5 of input.scss +>> @mfu\x{fffd}n pue0\x{fffd}\x{fffd}\x{fffd}\x{fffd} {\x{fffd}.\|,& diff --git a/spec/libsass-todo-issues/issue_245443/input.scss b/spec/libsass-closed-issues/issue_245443/input.scss similarity index 100% rename from spec/libsass-todo-issues/issue_245443/input.scss rename to spec/libsass-closed-issues/issue_245443/input.scss diff --git a/spec/libsass-closed-issues/issue_2468.hrx b/spec/libsass-closed-issues/issue_2468.hrx index d785972d46..1e44439bb3 100644 --- a/spec/libsass-closed-issues/issue_2468.hrx +++ b/spec/libsass-closed-issues/issue_2468.hrx @@ -1,38 +1,27 @@ <===> input.scss -%matches { - :matches(oh, no) { - x: 1; - y: 2; - } -} -matches { - @extend %matches; - @extend oh; -} - -%any { - :any(oh, no) { - x: 1; - y: 2; - } -} -any { - @extend %any; - @extend oh; -} - -<===> output.css -matches :matches(oh, matches, any, no) { - x: 1; - y: 2; +%matches { + :matches(oh, no) { + x: 1; + y: 2; + } +} +matches { + @extend %matches; + @extend oh; } -any :any(oh, matches, any, no) { - x: 1; - y: 2; +%any { + :any(oh, no) { + x: 1; + y: 2; + } +} +any { + @extend %any; + @extend oh; } -<===> output-dart-sass.css +<===> output.css matches :matches(oh, any, matches, no) { x: 1; y: 2; diff --git a/spec/libsass-closed-issues/issue_2482.hrx b/spec/libsass-closed-issues/issue_2482.hrx index b9029af80a..a709758e06 100644 --- a/spec/libsass-closed-issues/issue_2482.hrx +++ b/spec/libsass-closed-issues/issue_2482.hrx @@ -1,20 +1,30 @@ -<===> options.yml ---- -:todo: -- dart-sass - <===> input.scss -@mixin mixin() -{ - & .class - { - color: black; - } -} - +@mixin mixin() +{ + & .class + { + color: black; + } +} + @include mixin(); <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 3 of input.scss, in `mixin' from line 9 of input.scss Use --trace for backtrace. + +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 9:10 of input.scss +>> & .class + +<===> error-dart-sass +Error: Top-level selectors may not contain the parent selector "&". + , +3 | / & .class +4 | | { + | '----^ + ' + input.scss 3:2 mixin() + input.scss 9:1 root stylesheet diff --git a/spec/libsass-closed-issues/issue_2604.hrx b/spec/libsass-closed-issues/issue_2604.hrx deleted file mode 100644 index 78d7e39413..0000000000 --- a/spec/libsass-closed-issues/issue_2604.hrx +++ /dev/null @@ -1,38 +0,0 @@ -<===> input.scss -test { - border-top-color: darken(lighten(desaturate(#ffffff, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#fefefe, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#fdfdfd, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#fcfcfc, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#fbfbfb, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#fafafa, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f9f9f9, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f8f8f8, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f7f7f7, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f6f6f6, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f5f5f5, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f4f4f4, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f3f3f3, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f2f2f2, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f1f1f1, 15.7%), 33.5%), 14.625%); - border-top-color: darken(lighten(desaturate(#f0f0f0, 15.7%), 33.5%), 14.625%); -} -<===> output.css -test { - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; - border-top-color: #dadada; -} diff --git a/spec/libsass-closed-issues/issue_592.hrx b/spec/libsass-closed-issues/issue_592.hrx index 8f32e6f3ed..86f1c06888 100644 --- a/spec/libsass-closed-issues/issue_592.hrx +++ b/spec/libsass-closed-issues/issue_592.hrx @@ -14,11 +14,6 @@ } <===> output.css -.a .b::-webkit-scrollbar, .a .c .b::-webkit-scrollbar { - color: green; -} - -<===> output-dart-sass.css .a .c .b::-webkit-scrollbar, .a .b::-webkit-scrollbar { color: green; } diff --git a/spec/libsass-closed-issues/issue_593.hrx b/spec/libsass-closed-issues/issue_593.hrx index 16f84260db..4be1b43c02 100644 --- a/spec/libsass-closed-issues/issue_593.hrx +++ b/spec/libsass-closed-issues/issue_593.hrx @@ -15,12 +15,3 @@ h1:nth-of-type(2n + 1) { h1:nth-of-type(2n + 1) { color: red; } - -<===> output-libsass.css -h1:nth-of-type(2n + 1) { - color: red; -} - -h1:nth-of-type(2n + 1) { - color: red; -} diff --git a/spec/libsass-closed-issues/issue_602/options.yml b/spec/libsass-closed-issues/issue_602/options.yml index 3bb0723bb6..8380261167 100644 --- a/spec/libsass-closed-issues/issue_602/options.yml +++ b/spec/libsass-closed-issues/issue_602/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 diff --git a/spec/libsass-closed-issues/issue_673.hrx b/spec/libsass-closed-issues/issue_673.hrx index 8a26e0a9cc..ecf931931c 100644 --- a/spec/libsass-closed-issues/issue_673.hrx +++ b/spec/libsass-closed-issues/issue_673.hrx @@ -1,22 +1,29 @@ <===> input.scss -.example { - padding-left: 2rem; - padding-right: 2rem; -} -@media screen and (min-width:768px) { - - #footer { - .row { - @extend .example; - } - } - +.example { + padding-left: 2rem; + padding-right: 2rem; +} +@media screen and (min-width:768px) { + + #footer { + .row { + @extend .example; + } + } + } <===> error Error: You may not @extend an outer selector from within @media. You may only @extend selectors within the same directive. From "@extend .example" on line 9 of input.scss. +<===> error-libsass +Error: You may not @extend selectors across media queries. + Use "@extend .example !optional" to avoid this error. + on line 9 of input.scss +>> @extend .example; + --------------------^ + <===> error-dart-sass Error: From line 1, column 1 of input.scss: , diff --git a/spec/libsass-todo-issues/issue_690.hrx b/spec/libsass-closed-issues/issue_690.hrx similarity index 61% rename from spec/libsass-todo-issues/issue_690.hrx rename to spec/libsass-closed-issues/issue_690.hrx index 09df85a9c7..fad5ed2da5 100644 --- a/spec/libsass-todo-issues/issue_690.hrx +++ b/spec/libsass-closed-issues/issue_690.hrx @@ -1,13 +1,10 @@ <===> input.scss -test { - left: expression(callSomeFunc()); - content: expression("Smile :-)"); -} - -<===> error -Error: Invalid CSS after "...sion("Smile :-)": expected ";", was "");" +test { + left: expression(callSomeFunc()); + content: expression("Smile :-)"); +} -<===> output-dart-sass.css +<===> output.css test { left: expression(callSomeFunc()); content: expression("Smile :-)"); diff --git a/spec/libsass-closed-issues/issue_712.hrx b/spec/libsass-closed-issues/issue_712.hrx index dbe1eedf94..fdadb05a17 100644 --- a/spec/libsass-closed-issues/issue_712.hrx +++ b/spec/libsass-closed-issues/issue_712.hrx @@ -16,6 +16,13 @@ Error: You may not @extend an outer selector from within @media. on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: You may not @extend selectors across media queries. + Use "@extend .foo !optional" to avoid this error. + on line 7 of input.scss +>> @extend .foo; + --------------^ + <===> error-dart-sass Error: From line 1, column 1 of input.scss: , diff --git a/spec/libsass-closed-issues/issue_759.hrx b/spec/libsass-closed-issues/issue_759.hrx index aa2901b88b..cdf555048c 100644 --- a/spec/libsass-closed-issues/issue_759.hrx +++ b/spec/libsass-closed-issues/issue_759.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $a: 10px !global !default; diff --git a/spec/libsass-closed-issues/issue_823.hrx b/spec/libsass-closed-issues/issue_823.hrx index c8400a0aff..8f0d29690c 100644 --- a/spec/libsass-closed-issues/issue_823.hrx +++ b/spec/libsass-closed-issues/issue_823.hrx @@ -18,11 +18,6 @@ p { } <===> output.css -p > .red, p > a > .red { - color: #F00; -} - -<===> output-dart-sass.css p > a > .red, p > .red { color: #F00; } diff --git a/spec/libsass-closed-issues/issue_871.hrx b/spec/libsass-closed-issues/issue_871.hrx index bb4f7c5a15..c93bd3dc2f 100644 --- a/spec/libsass-closed-issues/issue_871.hrx +++ b/spec/libsass-closed-issues/issue_871.hrx @@ -10,6 +10,13 @@ Error: ".bar" failed to @extend ".foo". on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: The target selector was not found. + Use "@extend .foo !optional" to avoid this error. + on line 2 of input.scss +>> @extend .foo; + ----------^ + <===> error-dart-sass Error: The target selector was not found. Use "@extend .foo !optional" to avoid this error. diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/_assert_helpers.scss b/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/_assert_helpers.scss deleted file mode 100644 index 37a9946776..0000000000 --- a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/_assert_helpers.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Makes sure that a 'is-superselector' call is not true, when the parameters are reversed -@function assert_strict_superselector($a, $b) { - @return is_superselector($a, $b) and not is_superselector($b, $a); -} - -@function refute_superselector($a, $b) { - @return not is_superselector($a, $b); -} diff --git a/spec/libsass/base-level-parent/imported/at-root-alone.hrx b/spec/libsass/base-level-parent/imported/at-root-alone.hrx index b90efd4f62..fed6984f9c 100644 --- a/spec/libsass/base-level-parent/imported/at-root-alone.hrx +++ b/spec/libsass/base-level-parent/imported/at-root-alone.hrx @@ -1,10 +1,10 @@ <===> include.scss -@at-root { - & { - foo { - bar: baz; - } - } +@at-root { + & { + foo { + bar: baz; + } + } } <===> input.scss @import "include.scss"; @@ -14,6 +14,12 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1:9 of input.scss +>> & { + --^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/imported/at-root-postfix.hrx b/spec/libsass/base-level-parent/imported/at-root-postfix.hrx index f133c869ab..e5d12abf4d 100644 --- a/spec/libsass/base-level-parent/imported/at-root-postfix.hrx +++ b/spec/libsass/base-level-parent/imported/at-root-postfix.hrx @@ -1,10 +1,10 @@ <===> include.scss -@at-root { - &post { - foo { - bar: baz; - } - } +@at-root { + &post { + foo { + bar: baz; + } + } } <===> input.scss @import "include.scss"; @@ -14,6 +14,12 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1:9 of input.scss +>> &post { + --^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/imported/basic-alone.hrx b/spec/libsass/base-level-parent/imported/basic-alone.hrx index db9ac22c09..a13f0aadb0 100644 --- a/spec/libsass/base-level-parent/imported/basic-alone.hrx +++ b/spec/libsass/base-level-parent/imported/basic-alone.hrx @@ -1,9 +1,9 @@ <===> include.scss -& { - foo { - bar: baz; - } -} +& { + foo { + bar: baz; + } +} <===> input.scss @import "include.scss"; @@ -13,6 +13,11 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1:9 of input.scss +>> & { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/imported/basic-postfix.hrx b/spec/libsass/base-level-parent/imported/basic-postfix.hrx index 89013b9380..78c9b99fd2 100644 --- a/spec/libsass/base-level-parent/imported/basic-postfix.hrx +++ b/spec/libsass/base-level-parent/imported/basic-postfix.hrx @@ -1,8 +1,8 @@ <===> include.scss -&post { - foo { - bar: baz; - } +&post { + foo { + bar: baz; + } } <===> input.scss @import "include.scss"; @@ -12,6 +12,11 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1:9 of input.scss +>> &post { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/root/at-root-alone.hrx b/spec/libsass/base-level-parent/root/at-root-alone.hrx index f35aa24508..fa81b4a39e 100644 --- a/spec/libsass/base-level-parent/root/at-root-alone.hrx +++ b/spec/libsass/base-level-parent/root/at-root-alone.hrx @@ -1,16 +1,22 @@ <===> input.scss -@at-root { - & { - foo { - bar: baz; - } - } +@at-root { + & { + foo { + bar: baz; + } + } } <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 2 of input.scss +>> & { + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/root/at-root-postfix.hrx b/spec/libsass/base-level-parent/root/at-root-postfix.hrx index f4c56dae1d..248a8fd59d 100644 --- a/spec/libsass/base-level-parent/root/at-root-postfix.hrx +++ b/spec/libsass/base-level-parent/root/at-root-postfix.hrx @@ -1,16 +1,22 @@ <===> input.scss -@at-root { - &post { - foo { - bar: baz; - } - } +@at-root { + &post { + foo { + bar: baz; + } + } } <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 2 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 2 of input.scss +>> &post { + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/root/basic-alone.hrx b/spec/libsass/base-level-parent/root/basic-alone.hrx index ef3dfe1e2f..0586e54e6a 100644 --- a/spec/libsass/base-level-parent/root/basic-alone.hrx +++ b/spec/libsass/base-level-parent/root/basic-alone.hrx @@ -1,15 +1,20 @@ <===> input.scss -& { - foo { - bar: baz; - } -} +& { + foo { + bar: baz; + } +} <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1 of input.scss +>> & { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/base-level-parent/root/basic-postfix.hrx b/spec/libsass/base-level-parent/root/basic-postfix.hrx index cfb492cf2c..7ecb26878f 100644 --- a/spec/libsass/base-level-parent/root/basic-postfix.hrx +++ b/spec/libsass/base-level-parent/root/basic-postfix.hrx @@ -1,14 +1,19 @@ <===> input.scss -&post { - foo { - bar: baz; - } +&post { + foo { + bar: baz; + } } <===> error Error: Base-level rules cannot contain the parent-selector-referencing character '&'. on line 1 of input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 1 of input.scss +>> &post { + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/color-functions/hsl/adjust-hue.hrx b/spec/libsass/color-functions/hsl/adjust-hue.hrx deleted file mode 100644 index 95926279f4..0000000000 --- a/spec/libsass/color-functions/hsl/adjust-hue.hrx +++ /dev/null @@ -1,1453 +0,0 @@ -<===> input.scss -foo { - c-361: adjust-hue(rgb(0,0,0), -361); - c-360: adjust-hue(rgb(0,0,0), -360); - c-359: adjust-hue(rgb(0,0,0), -359); - c-358: adjust-hue(rgb(0,0,0), -358); - c-357: adjust-hue(rgb(0,0,0), -357); - c-356: adjust-hue(rgb(0,0,0), -356); - c-355: adjust-hue(rgb(0,0,0), -355); - c-354: adjust-hue(rgb(0,0,0), -354); - c-353: adjust-hue(rgb(0,0,0), -353); - c-352: adjust-hue(rgb(0,0,0), -352); - c-351: adjust-hue(rgb(0,0,0), -351); - c-350: adjust-hue(rgb(0,0,0), -350); - c-349: adjust-hue(rgb(0,0,0), -349); - c-348: adjust-hue(rgb(0,0,0), -348); - c-347: adjust-hue(rgb(0,0,0), -347); - c-346: adjust-hue(rgb(0,0,0), -346); - c-345: adjust-hue(rgb(0,0,0), -345); - c-344: adjust-hue(rgb(0,0,0), -344); - c-343: adjust-hue(rgb(0,0,0), -343); - c-342: adjust-hue(rgb(0,0,0), -342); - c-341: adjust-hue(rgb(0,0,0), -341); - c-340: adjust-hue(rgb(0,0,0), -340); - c-339: adjust-hue(rgb(0,0,0), -339); - c-338: adjust-hue(rgb(0,0,0), -338); - c-337: adjust-hue(rgb(0,0,0), -337); - c-336: adjust-hue(rgb(0,0,0), -336); - c-335: adjust-hue(rgb(0,0,0), -335); - c-334: adjust-hue(rgb(0,0,0), -334); - c-333: adjust-hue(rgb(0,0,0), -333); - c-332: adjust-hue(rgb(0,0,0), -332); - c-331: adjust-hue(rgb(0,0,0), -331); - c-330: adjust-hue(rgb(0,0,0), -330); - c-329: adjust-hue(rgb(0,0,0), -329); - c-328: adjust-hue(rgb(0,0,0), -328); - c-327: adjust-hue(rgb(0,0,0), -327); - c-326: adjust-hue(rgb(0,0,0), -326); - c-325: adjust-hue(rgb(0,0,0), -325); - c-324: adjust-hue(rgb(0,0,0), -324); - c-323: adjust-hue(rgb(0,0,0), -323); - c-322: adjust-hue(rgb(0,0,0), -322); - c-321: adjust-hue(rgb(0,0,0), -321); - c-320: adjust-hue(rgb(0,0,0), -320); - c-319: adjust-hue(rgb(0,0,0), -319); - c-318: adjust-hue(rgb(0,0,0), -318); - c-317: adjust-hue(rgb(0,0,0), -317); - c-316: adjust-hue(rgb(0,0,0), -316); - c-315: adjust-hue(rgb(0,0,0), -315); - c-314: adjust-hue(rgb(0,0,0), -314); - c-313: adjust-hue(rgb(0,0,0), -313); - c-312: adjust-hue(rgb(0,0,0), -312); - c-311: adjust-hue(rgb(0,0,0), -311); - c-310: adjust-hue(rgb(0,0,0), -310); - c-309: adjust-hue(rgb(0,0,0), -309); - c-308: adjust-hue(rgb(0,0,0), -308); - c-307: adjust-hue(rgb(0,0,0), -307); - c-306: adjust-hue(rgb(0,0,0), -306); - c-305: adjust-hue(rgb(0,0,0), -305); - c-304: adjust-hue(rgb(0,0,0), -304); - c-303: adjust-hue(rgb(0,0,0), -303); - c-302: adjust-hue(rgb(0,0,0), -302); - c-301: adjust-hue(rgb(0,0,0), -301); - c-300: adjust-hue(rgb(0,0,0), -300); - c-299: adjust-hue(rgb(0,0,0), -299); - c-298: adjust-hue(rgb(0,0,0), -298); - c-297: adjust-hue(rgb(0,0,0), -297); - c-296: adjust-hue(rgb(0,0,0), -296); - c-295: adjust-hue(rgb(0,0,0), -295); - c-294: adjust-hue(rgb(0,0,0), -294); - c-293: adjust-hue(rgb(0,0,0), -293); - c-292: adjust-hue(rgb(0,0,0), -292); - c-291: adjust-hue(rgb(0,0,0), -291); - c-290: adjust-hue(rgb(0,0,0), -290); - c-289: adjust-hue(rgb(0,0,0), -289); - c-288: adjust-hue(rgb(0,0,0), -288); - c-287: adjust-hue(rgb(0,0,0), -287); - c-286: adjust-hue(rgb(0,0,0), -286); - c-285: adjust-hue(rgb(0,0,0), -285); - c-284: adjust-hue(rgb(0,0,0), -284); - c-283: adjust-hue(rgb(0,0,0), -283); - c-282: adjust-hue(rgb(0,0,0), -282); - c-281: adjust-hue(rgb(0,0,0), -281); - c-280: adjust-hue(rgb(0,0,0), -280); - c-279: adjust-hue(rgb(0,0,0), -279); - c-278: adjust-hue(rgb(0,0,0), -278); - c-277: adjust-hue(rgb(0,0,0), -277); - c-276: adjust-hue(rgb(0,0,0), -276); - c-275: adjust-hue(rgb(0,0,0), -275); - c-274: adjust-hue(rgb(0,0,0), -274); - c-273: adjust-hue(rgb(0,0,0), -273); - c-272: adjust-hue(rgb(0,0,0), -272); - c-271: adjust-hue(rgb(0,0,0), -271); - c-270: adjust-hue(rgb(0,0,0), -270); - c-269: adjust-hue(rgb(0,0,0), -269); - c-268: adjust-hue(rgb(0,0,0), -268); - c-267: adjust-hue(rgb(0,0,0), -267); - c-266: adjust-hue(rgb(0,0,0), -266); - c-265: adjust-hue(rgb(0,0,0), -265); - c-264: adjust-hue(rgb(0,0,0), -264); - c-263: adjust-hue(rgb(0,0,0), -263); - c-262: adjust-hue(rgb(0,0,0), -262); - c-261: adjust-hue(rgb(0,0,0), -261); - c-260: adjust-hue(rgb(0,0,0), -260); - c-259: adjust-hue(rgb(0,0,0), -259); - c-258: adjust-hue(rgb(0,0,0), -258); - c-257: adjust-hue(rgb(0,0,0), -257); - c-256: adjust-hue(rgb(0,0,0), -256); - c-255: adjust-hue(rgb(0,0,0), -255); - c-254: adjust-hue(rgb(0,0,0), -254); - c-253: adjust-hue(rgb(0,0,0), -253); - c-252: adjust-hue(rgb(0,0,0), -252); - c-251: adjust-hue(rgb(0,0,0), -251); - c-250: adjust-hue(rgb(0,0,0), -250); - c-249: adjust-hue(rgb(0,0,0), -249); - c-248: adjust-hue(rgb(0,0,0), -248); - c-247: adjust-hue(rgb(0,0,0), -247); - c-246: adjust-hue(rgb(0,0,0), -246); - c-245: adjust-hue(rgb(0,0,0), -245); - c-244: adjust-hue(rgb(0,0,0), -244); - c-243: adjust-hue(rgb(0,0,0), -243); - c-242: adjust-hue(rgb(0,0,0), -242); - c-241: adjust-hue(rgb(0,0,0), -241); - c-240: adjust-hue(rgb(0,0,0), -240); - c-239: adjust-hue(rgb(0,0,0), -239); - c-238: adjust-hue(rgb(0,0,0), -238); - c-237: adjust-hue(rgb(0,0,0), -237); - c-236: adjust-hue(rgb(0,0,0), -236); - c-235: adjust-hue(rgb(0,0,0), -235); - c-234: adjust-hue(rgb(0,0,0), -234); - c-233: adjust-hue(rgb(0,0,0), -233); - c-232: adjust-hue(rgb(0,0,0), -232); - c-231: adjust-hue(rgb(0,0,0), -231); - c-230: adjust-hue(rgb(0,0,0), -230); - c-229: adjust-hue(rgb(0,0,0), -229); - c-228: adjust-hue(rgb(0,0,0), -228); - c-227: adjust-hue(rgb(0,0,0), -227); - c-226: adjust-hue(rgb(0,0,0), -226); - c-225: adjust-hue(rgb(0,0,0), -225); - c-224: adjust-hue(rgb(0,0,0), -224); - c-223: adjust-hue(rgb(0,0,0), -223); - c-222: adjust-hue(rgb(0,0,0), -222); - c-221: adjust-hue(rgb(0,0,0), -221); - c-220: adjust-hue(rgb(0,0,0), -220); - c-219: adjust-hue(rgb(0,0,0), -219); - c-218: adjust-hue(rgb(0,0,0), -218); - c-217: adjust-hue(rgb(0,0,0), -217); - c-216: adjust-hue(rgb(0,0,0), -216); - c-215: adjust-hue(rgb(0,0,0), -215); - c-214: adjust-hue(rgb(0,0,0), -214); - c-213: adjust-hue(rgb(0,0,0), -213); - c-212: adjust-hue(rgb(0,0,0), -212); - c-211: adjust-hue(rgb(0,0,0), -211); - c-210: adjust-hue(rgb(0,0,0), -210); - c-209: adjust-hue(rgb(0,0,0), -209); - c-208: adjust-hue(rgb(0,0,0), -208); - c-207: adjust-hue(rgb(0,0,0), -207); - c-206: adjust-hue(rgb(0,0,0), -206); - c-205: adjust-hue(rgb(0,0,0), -205); - c-204: adjust-hue(rgb(0,0,0), -204); - c-203: adjust-hue(rgb(0,0,0), -203); - c-202: adjust-hue(rgb(0,0,0), -202); - c-201: adjust-hue(rgb(0,0,0), -201); - c-200: adjust-hue(rgb(0,0,0), -200); - c-199: adjust-hue(rgb(0,0,0), -199); - c-198: adjust-hue(rgb(0,0,0), -198); - c-197: adjust-hue(rgb(0,0,0), -197); - c-196: adjust-hue(rgb(0,0,0), -196); - c-195: adjust-hue(rgb(0,0,0), -195); - c-194: adjust-hue(rgb(0,0,0), -194); - c-193: adjust-hue(rgb(0,0,0), -193); - c-192: adjust-hue(rgb(0,0,0), -192); - c-191: adjust-hue(rgb(0,0,0), -191); - c-190: adjust-hue(rgb(0,0,0), -190); - c-189: adjust-hue(rgb(0,0,0), -189); - c-188: adjust-hue(rgb(0,0,0), -188); - c-187: adjust-hue(rgb(0,0,0), -187); - c-186: adjust-hue(rgb(0,0,0), -186); - c-185: adjust-hue(rgb(0,0,0), -185); - c-184: adjust-hue(rgb(0,0,0), -184); - c-183: adjust-hue(rgb(0,0,0), -183); - c-182: adjust-hue(rgb(0,0,0), -182); - c-181: adjust-hue(rgb(0,0,0), -181); - c-180: adjust-hue(rgb(0,0,0), -180); - c-179: adjust-hue(rgb(0,0,0), -179); - c-178: adjust-hue(rgb(0,0,0), -178); - c-177: adjust-hue(rgb(0,0,0), -177); - c-176: adjust-hue(rgb(0,0,0), -176); - c-175: adjust-hue(rgb(0,0,0), -175); - c-174: adjust-hue(rgb(0,0,0), -174); - c-173: adjust-hue(rgb(0,0,0), -173); - c-172: adjust-hue(rgb(0,0,0), -172); - c-171: adjust-hue(rgb(0,0,0), -171); - c-170: adjust-hue(rgb(0,0,0), -170); - c-169: adjust-hue(rgb(0,0,0), -169); - c-168: adjust-hue(rgb(0,0,0), -168); - c-167: adjust-hue(rgb(0,0,0), -167); - c-166: adjust-hue(rgb(0,0,0), -166); - c-165: adjust-hue(rgb(0,0,0), -165); - c-164: adjust-hue(rgb(0,0,0), -164); - c-163: adjust-hue(rgb(0,0,0), -163); - c-162: adjust-hue(rgb(0,0,0), -162); - c-161: adjust-hue(rgb(0,0,0), -161); - c-160: adjust-hue(rgb(0,0,0), -160); - c-159: adjust-hue(rgb(0,0,0), -159); - c-158: adjust-hue(rgb(0,0,0), -158); - c-157: adjust-hue(rgb(0,0,0), -157); - c-156: adjust-hue(rgb(0,0,0), -156); - c-155: adjust-hue(rgb(0,0,0), -155); - c-154: adjust-hue(rgb(0,0,0), -154); - c-153: adjust-hue(rgb(0,0,0), -153); - c-152: adjust-hue(rgb(0,0,0), -152); - c-151: adjust-hue(rgb(0,0,0), -151); - c-150: adjust-hue(rgb(0,0,0), -150); - c-149: adjust-hue(rgb(0,0,0), -149); - c-148: adjust-hue(rgb(0,0,0), -148); - c-147: adjust-hue(rgb(0,0,0), -147); - c-146: adjust-hue(rgb(0,0,0), -146); - c-145: adjust-hue(rgb(0,0,0), -145); - c-144: adjust-hue(rgb(0,0,0), -144); - c-143: adjust-hue(rgb(0,0,0), -143); - c-142: adjust-hue(rgb(0,0,0), -142); - c-141: adjust-hue(rgb(0,0,0), -141); - c-140: adjust-hue(rgb(0,0,0), -140); - c-139: adjust-hue(rgb(0,0,0), -139); - c-138: adjust-hue(rgb(0,0,0), -138); - c-137: adjust-hue(rgb(0,0,0), -137); - c-136: adjust-hue(rgb(0,0,0), -136); - c-135: adjust-hue(rgb(0,0,0), -135); - c-134: adjust-hue(rgb(0,0,0), -134); - c-133: adjust-hue(rgb(0,0,0), -133); - c-132: adjust-hue(rgb(0,0,0), -132); - c-131: adjust-hue(rgb(0,0,0), -131); - c-130: adjust-hue(rgb(0,0,0), -130); - c-129: adjust-hue(rgb(0,0,0), -129); - c-128: adjust-hue(rgb(0,0,0), -128); - c-127: adjust-hue(rgb(0,0,0), -127); - c-126: adjust-hue(rgb(0,0,0), -126); - c-125: adjust-hue(rgb(0,0,0), -125); - c-124: adjust-hue(rgb(0,0,0), -124); - c-123: adjust-hue(rgb(0,0,0), -123); - c-122: adjust-hue(rgb(0,0,0), -122); - c-121: adjust-hue(rgb(0,0,0), -121); - c-120: adjust-hue(rgb(0,0,0), -120); - c-119: adjust-hue(rgb(0,0,0), -119); - c-118: adjust-hue(rgb(0,0,0), -118); - c-117: adjust-hue(rgb(0,0,0), -117); - c-116: adjust-hue(rgb(0,0,0), -116); - c-115: adjust-hue(rgb(0,0,0), -115); - c-114: adjust-hue(rgb(0,0,0), -114); - c-113: adjust-hue(rgb(0,0,0), -113); - c-112: adjust-hue(rgb(0,0,0), -112); - c-111: adjust-hue(rgb(0,0,0), -111); - c-110: adjust-hue(rgb(0,0,0), -110); - c-109: adjust-hue(rgb(0,0,0), -109); - c-108: adjust-hue(rgb(0,0,0), -108); - c-107: adjust-hue(rgb(0,0,0), -107); - c-106: adjust-hue(rgb(0,0,0), -106); - c-105: adjust-hue(rgb(0,0,0), -105); - c-104: adjust-hue(rgb(0,0,0), -104); - c-103: adjust-hue(rgb(0,0,0), -103); - c-102: adjust-hue(rgb(0,0,0), -102); - c-101: adjust-hue(rgb(0,0,0), -101); - c-100: adjust-hue(rgb(0,0,0), -100); - c-99: adjust-hue(rgb(0,0,0), -99); - c-98: adjust-hue(rgb(0,0,0), -98); - c-97: adjust-hue(rgb(0,0,0), -97); - c-96: adjust-hue(rgb(0,0,0), -96); - c-95: adjust-hue(rgb(0,0,0), -95); - c-94: adjust-hue(rgb(0,0,0), -94); - c-93: adjust-hue(rgb(0,0,0), -93); - c-92: adjust-hue(rgb(0,0,0), -92); - c-91: adjust-hue(rgb(0,0,0), -91); - c-90: adjust-hue(rgb(0,0,0), -90); - c-89: adjust-hue(rgb(0,0,0), -89); - c-88: adjust-hue(rgb(0,0,0), -88); - c-87: adjust-hue(rgb(0,0,0), -87); - c-86: adjust-hue(rgb(0,0,0), -86); - c-85: adjust-hue(rgb(0,0,0), -85); - c-84: adjust-hue(rgb(0,0,0), -84); - c-83: adjust-hue(rgb(0,0,0), -83); - c-82: adjust-hue(rgb(0,0,0), -82); - c-81: adjust-hue(rgb(0,0,0), -81); - c-80: adjust-hue(rgb(0,0,0), -80); - c-79: adjust-hue(rgb(0,0,0), -79); - c-78: adjust-hue(rgb(0,0,0), -78); - c-77: adjust-hue(rgb(0,0,0), -77); - c-76: adjust-hue(rgb(0,0,0), -76); - c-75: adjust-hue(rgb(0,0,0), -75); - c-74: adjust-hue(rgb(0,0,0), -74); - c-73: adjust-hue(rgb(0,0,0), -73); - c-72: adjust-hue(rgb(0,0,0), -72); - c-71: adjust-hue(rgb(0,0,0), -71); - c-70: adjust-hue(rgb(0,0,0), -70); - c-69: adjust-hue(rgb(0,0,0), -69); - c-68: adjust-hue(rgb(0,0,0), -68); - c-67: adjust-hue(rgb(0,0,0), -67); - c-66: adjust-hue(rgb(0,0,0), -66); - c-65: adjust-hue(rgb(0,0,0), -65); - c-64: adjust-hue(rgb(0,0,0), -64); - c-63: adjust-hue(rgb(0,0,0), -63); - c-62: adjust-hue(rgb(0,0,0), -62); - c-61: adjust-hue(rgb(0,0,0), -61); - c-60: adjust-hue(rgb(0,0,0), -60); - c-59: adjust-hue(rgb(0,0,0), -59); - c-58: adjust-hue(rgb(0,0,0), -58); - c-57: adjust-hue(rgb(0,0,0), -57); - c-56: adjust-hue(rgb(0,0,0), -56); - c-55: adjust-hue(rgb(0,0,0), -55); - c-54: adjust-hue(rgb(0,0,0), -54); - c-53: adjust-hue(rgb(0,0,0), -53); - c-52: adjust-hue(rgb(0,0,0), -52); - c-51: adjust-hue(rgb(0,0,0), -51); - c-50: adjust-hue(rgb(0,0,0), -50); - c-49: adjust-hue(rgb(0,0,0), -49); - c-48: adjust-hue(rgb(0,0,0), -48); - c-47: adjust-hue(rgb(0,0,0), -47); - c-46: adjust-hue(rgb(0,0,0), -46); - c-45: adjust-hue(rgb(0,0,0), -45); - c-44: adjust-hue(rgb(0,0,0), -44); - c-43: adjust-hue(rgb(0,0,0), -43); - c-42: adjust-hue(rgb(0,0,0), -42); - c-41: adjust-hue(rgb(0,0,0), -41); - c-40: adjust-hue(rgb(0,0,0), -40); - c-39: adjust-hue(rgb(0,0,0), -39); - c-38: adjust-hue(rgb(0,0,0), -38); - c-37: adjust-hue(rgb(0,0,0), -37); - c-36: adjust-hue(rgb(0,0,0), -36); - c-35: adjust-hue(rgb(0,0,0), -35); - c-34: adjust-hue(rgb(0,0,0), -34); - c-33: adjust-hue(rgb(0,0,0), -33); - c-32: adjust-hue(rgb(0,0,0), -32); - c-31: adjust-hue(rgb(0,0,0), -31); - c-30: adjust-hue(rgb(0,0,0), -30); - c-29: adjust-hue(rgb(0,0,0), -29); - c-28: adjust-hue(rgb(0,0,0), -28); - c-27: adjust-hue(rgb(0,0,0), -27); - c-26: adjust-hue(rgb(0,0,0), -26); - c-25: adjust-hue(rgb(0,0,0), -25); - c-24: adjust-hue(rgb(0,0,0), -24); - c-23: adjust-hue(rgb(0,0,0), -23); - c-22: adjust-hue(rgb(0,0,0), -22); - c-21: adjust-hue(rgb(0,0,0), -21); - c-20: adjust-hue(rgb(0,0,0), -20); - c-19: adjust-hue(rgb(0,0,0), -19); - c-18: adjust-hue(rgb(0,0,0), -18); - c-17: adjust-hue(rgb(0,0,0), -17); - c-16: adjust-hue(rgb(0,0,0), -16); - c-15: adjust-hue(rgb(0,0,0), -15); - c-14: adjust-hue(rgb(0,0,0), -14); - c-13: adjust-hue(rgb(0,0,0), -13); - c-12: adjust-hue(rgb(0,0,0), -12); - c-11: adjust-hue(rgb(0,0,0), -11); - c-10: adjust-hue(rgb(0,0,0), -10); - c-9: adjust-hue(rgb(0,0,0), -9); - c-8: adjust-hue(rgb(0,0,0), -8); - c-7: adjust-hue(rgb(0,0,0), -7); - c-6: adjust-hue(rgb(0,0,0), -6); - c-5: adjust-hue(rgb(0,0,0), -5); - c-4: adjust-hue(rgb(0,0,0), -4); - c-3: adjust-hue(rgb(0,0,0), -3); - c-2: adjust-hue(rgb(0,0,0), -2); - c-1: adjust-hue(rgb(0,0,0), -1); - c0: adjust-hue(rgb(0,0,0), 0); - c1: adjust-hue(rgb(0,0,0), 1); - c2: adjust-hue(rgb(0,0,0), 2); - c3: adjust-hue(rgb(0,0,0), 3); - c4: adjust-hue(rgb(0,0,0), 4); - c5: adjust-hue(rgb(0,0,0), 5); - c6: adjust-hue(rgb(0,0,0), 6); - c7: adjust-hue(rgb(0,0,0), 7); - c8: adjust-hue(rgb(0,0,0), 8); - c9: adjust-hue(rgb(0,0,0), 9); - c10: adjust-hue(rgb(0,0,0), 10); - c11: adjust-hue(rgb(0,0,0), 11); - c12: adjust-hue(rgb(0,0,0), 12); - c13: adjust-hue(rgb(0,0,0), 13); - c14: adjust-hue(rgb(0,0,0), 14); - c15: adjust-hue(rgb(0,0,0), 15); - c16: adjust-hue(rgb(0,0,0), 16); - c17: adjust-hue(rgb(0,0,0), 17); - c18: adjust-hue(rgb(0,0,0), 18); - c19: adjust-hue(rgb(0,0,0), 19); - c20: adjust-hue(rgb(0,0,0), 20); - c21: adjust-hue(rgb(0,0,0), 21); - c22: adjust-hue(rgb(0,0,0), 22); - c23: adjust-hue(rgb(0,0,0), 23); - c24: adjust-hue(rgb(0,0,0), 24); - c25: adjust-hue(rgb(0,0,0), 25); - c26: adjust-hue(rgb(0,0,0), 26); - c27: adjust-hue(rgb(0,0,0), 27); - c28: adjust-hue(rgb(0,0,0), 28); - c29: adjust-hue(rgb(0,0,0), 29); - c30: adjust-hue(rgb(0,0,0), 30); - c31: adjust-hue(rgb(0,0,0), 31); - c32: adjust-hue(rgb(0,0,0), 32); - c33: adjust-hue(rgb(0,0,0), 33); - c34: adjust-hue(rgb(0,0,0), 34); - c35: adjust-hue(rgb(0,0,0), 35); - c36: adjust-hue(rgb(0,0,0), 36); - c37: adjust-hue(rgb(0,0,0), 37); - c38: adjust-hue(rgb(0,0,0), 38); - c39: adjust-hue(rgb(0,0,0), 39); - c40: adjust-hue(rgb(0,0,0), 40); - c41: adjust-hue(rgb(0,0,0), 41); - c42: adjust-hue(rgb(0,0,0), 42); - c43: adjust-hue(rgb(0,0,0), 43); - c44: adjust-hue(rgb(0,0,0), 44); - c45: adjust-hue(rgb(0,0,0), 45); - c46: adjust-hue(rgb(0,0,0), 46); - c47: adjust-hue(rgb(0,0,0), 47); - c48: adjust-hue(rgb(0,0,0), 48); - c49: adjust-hue(rgb(0,0,0), 49); - c50: adjust-hue(rgb(0,0,0), 50); - c51: adjust-hue(rgb(0,0,0), 51); - c52: adjust-hue(rgb(0,0,0), 52); - c53: adjust-hue(rgb(0,0,0), 53); - c54: adjust-hue(rgb(0,0,0), 54); - c55: adjust-hue(rgb(0,0,0), 55); - c56: adjust-hue(rgb(0,0,0), 56); - c57: adjust-hue(rgb(0,0,0), 57); - c58: adjust-hue(rgb(0,0,0), 58); - c59: adjust-hue(rgb(0,0,0), 59); - c60: adjust-hue(rgb(0,0,0), 60); - c61: adjust-hue(rgb(0,0,0), 61); - c62: adjust-hue(rgb(0,0,0), 62); - c63: adjust-hue(rgb(0,0,0), 63); - c64: adjust-hue(rgb(0,0,0), 64); - c65: adjust-hue(rgb(0,0,0), 65); - c66: adjust-hue(rgb(0,0,0), 66); - c67: adjust-hue(rgb(0,0,0), 67); - c68: adjust-hue(rgb(0,0,0), 68); - c69: adjust-hue(rgb(0,0,0), 69); - c70: adjust-hue(rgb(0,0,0), 70); - c71: adjust-hue(rgb(0,0,0), 71); - c72: adjust-hue(rgb(0,0,0), 72); - c73: adjust-hue(rgb(0,0,0), 73); - c74: adjust-hue(rgb(0,0,0), 74); - c75: adjust-hue(rgb(0,0,0), 75); - c76: adjust-hue(rgb(0,0,0), 76); - c77: adjust-hue(rgb(0,0,0), 77); - c78: adjust-hue(rgb(0,0,0), 78); - c79: adjust-hue(rgb(0,0,0), 79); - c80: adjust-hue(rgb(0,0,0), 80); - c81: adjust-hue(rgb(0,0,0), 81); - c82: adjust-hue(rgb(0,0,0), 82); - c83: adjust-hue(rgb(0,0,0), 83); - c84: adjust-hue(rgb(0,0,0), 84); - c85: adjust-hue(rgb(0,0,0), 85); - c86: adjust-hue(rgb(0,0,0), 86); - c87: adjust-hue(rgb(0,0,0), 87); - c88: adjust-hue(rgb(0,0,0), 88); - c89: adjust-hue(rgb(0,0,0), 89); - c90: adjust-hue(rgb(0,0,0), 90); - c91: adjust-hue(rgb(0,0,0), 91); - c92: adjust-hue(rgb(0,0,0), 92); - c93: adjust-hue(rgb(0,0,0), 93); - c94: adjust-hue(rgb(0,0,0), 94); - c95: adjust-hue(rgb(0,0,0), 95); - c96: adjust-hue(rgb(0,0,0), 96); - c97: adjust-hue(rgb(0,0,0), 97); - c98: adjust-hue(rgb(0,0,0), 98); - c99: adjust-hue(rgb(0,0,0), 99); - c100: adjust-hue(rgb(0,0,0), 100); - c101: adjust-hue(rgb(0,0,0), 101); - c102: adjust-hue(rgb(0,0,0), 102); - c103: adjust-hue(rgb(0,0,0), 103); - c104: adjust-hue(rgb(0,0,0), 104); - c105: adjust-hue(rgb(0,0,0), 105); - c106: adjust-hue(rgb(0,0,0), 106); - c107: adjust-hue(rgb(0,0,0), 107); - c108: adjust-hue(rgb(0,0,0), 108); - c109: adjust-hue(rgb(0,0,0), 109); - c110: adjust-hue(rgb(0,0,0), 110); - c111: adjust-hue(rgb(0,0,0), 111); - c112: adjust-hue(rgb(0,0,0), 112); - c113: adjust-hue(rgb(0,0,0), 113); - c114: adjust-hue(rgb(0,0,0), 114); - c115: adjust-hue(rgb(0,0,0), 115); - c116: adjust-hue(rgb(0,0,0), 116); - c117: adjust-hue(rgb(0,0,0), 117); - c118: adjust-hue(rgb(0,0,0), 118); - c119: adjust-hue(rgb(0,0,0), 119); - c120: adjust-hue(rgb(0,0,0), 120); - c121: adjust-hue(rgb(0,0,0), 121); - c122: adjust-hue(rgb(0,0,0), 122); - c123: adjust-hue(rgb(0,0,0), 123); - c124: adjust-hue(rgb(0,0,0), 124); - c125: adjust-hue(rgb(0,0,0), 125); - c126: adjust-hue(rgb(0,0,0), 126); - c127: adjust-hue(rgb(0,0,0), 127); - c128: adjust-hue(rgb(0,0,0), 128); - c129: adjust-hue(rgb(0,0,0), 129); - c130: adjust-hue(rgb(0,0,0), 130); - c131: adjust-hue(rgb(0,0,0), 131); - c132: adjust-hue(rgb(0,0,0), 132); - c133: adjust-hue(rgb(0,0,0), 133); - c134: adjust-hue(rgb(0,0,0), 134); - c135: adjust-hue(rgb(0,0,0), 135); - c136: adjust-hue(rgb(0,0,0), 136); - c137: adjust-hue(rgb(0,0,0), 137); - c138: adjust-hue(rgb(0,0,0), 138); - c139: adjust-hue(rgb(0,0,0), 139); - c140: adjust-hue(rgb(0,0,0), 140); - c141: adjust-hue(rgb(0,0,0), 141); - c142: adjust-hue(rgb(0,0,0), 142); - c143: adjust-hue(rgb(0,0,0), 143); - c144: adjust-hue(rgb(0,0,0), 144); - c145: adjust-hue(rgb(0,0,0), 145); - c146: adjust-hue(rgb(0,0,0), 146); - c147: adjust-hue(rgb(0,0,0), 147); - c148: adjust-hue(rgb(0,0,0), 148); - c149: adjust-hue(rgb(0,0,0), 149); - c150: adjust-hue(rgb(0,0,0), 150); - c151: adjust-hue(rgb(0,0,0), 151); - c152: adjust-hue(rgb(0,0,0), 152); - c153: adjust-hue(rgb(0,0,0), 153); - c154: adjust-hue(rgb(0,0,0), 154); - c155: adjust-hue(rgb(0,0,0), 155); - c156: adjust-hue(rgb(0,0,0), 156); - c157: adjust-hue(rgb(0,0,0), 157); - c158: adjust-hue(rgb(0,0,0), 158); - c159: adjust-hue(rgb(0,0,0), 159); - c160: adjust-hue(rgb(0,0,0), 160); - c161: adjust-hue(rgb(0,0,0), 161); - c162: adjust-hue(rgb(0,0,0), 162); - c163: adjust-hue(rgb(0,0,0), 163); - c164: adjust-hue(rgb(0,0,0), 164); - c165: adjust-hue(rgb(0,0,0), 165); - c166: adjust-hue(rgb(0,0,0), 166); - c167: adjust-hue(rgb(0,0,0), 167); - c168: adjust-hue(rgb(0,0,0), 168); - c169: adjust-hue(rgb(0,0,0), 169); - c170: adjust-hue(rgb(0,0,0), 170); - c171: adjust-hue(rgb(0,0,0), 171); - c172: adjust-hue(rgb(0,0,0), 172); - c173: adjust-hue(rgb(0,0,0), 173); - c174: adjust-hue(rgb(0,0,0), 174); - c175: adjust-hue(rgb(0,0,0), 175); - c176: adjust-hue(rgb(0,0,0), 176); - c177: adjust-hue(rgb(0,0,0), 177); - c178: adjust-hue(rgb(0,0,0), 178); - c179: adjust-hue(rgb(0,0,0), 179); - c180: adjust-hue(rgb(0,0,0), 180); - c181: adjust-hue(rgb(0,0,0), 181); - c182: adjust-hue(rgb(0,0,0), 182); - c183: adjust-hue(rgb(0,0,0), 183); - c184: adjust-hue(rgb(0,0,0), 184); - c185: adjust-hue(rgb(0,0,0), 185); - c186: adjust-hue(rgb(0,0,0), 186); - c187: adjust-hue(rgb(0,0,0), 187); - c188: adjust-hue(rgb(0,0,0), 188); - c189: adjust-hue(rgb(0,0,0), 189); - c190: adjust-hue(rgb(0,0,0), 190); - c191: adjust-hue(rgb(0,0,0), 191); - c192: adjust-hue(rgb(0,0,0), 192); - c193: adjust-hue(rgb(0,0,0), 193); - c194: adjust-hue(rgb(0,0,0), 194); - c195: adjust-hue(rgb(0,0,0), 195); - c196: adjust-hue(rgb(0,0,0), 196); - c197: adjust-hue(rgb(0,0,0), 197); - c198: adjust-hue(rgb(0,0,0), 198); - c199: adjust-hue(rgb(0,0,0), 199); - c200: adjust-hue(rgb(0,0,0), 200); - c201: adjust-hue(rgb(0,0,0), 201); - c202: adjust-hue(rgb(0,0,0), 202); - c203: adjust-hue(rgb(0,0,0), 203); - c204: adjust-hue(rgb(0,0,0), 204); - c205: adjust-hue(rgb(0,0,0), 205); - c206: adjust-hue(rgb(0,0,0), 206); - c207: adjust-hue(rgb(0,0,0), 207); - c208: adjust-hue(rgb(0,0,0), 208); - c209: adjust-hue(rgb(0,0,0), 209); - c210: adjust-hue(rgb(0,0,0), 210); - c211: adjust-hue(rgb(0,0,0), 211); - c212: adjust-hue(rgb(0,0,0), 212); - c213: adjust-hue(rgb(0,0,0), 213); - c214: adjust-hue(rgb(0,0,0), 214); - c215: adjust-hue(rgb(0,0,0), 215); - c216: adjust-hue(rgb(0,0,0), 216); - c217: adjust-hue(rgb(0,0,0), 217); - c218: adjust-hue(rgb(0,0,0), 218); - c219: adjust-hue(rgb(0,0,0), 219); - c220: adjust-hue(rgb(0,0,0), 220); - c221: adjust-hue(rgb(0,0,0), 221); - c222: adjust-hue(rgb(0,0,0), 222); - c223: adjust-hue(rgb(0,0,0), 223); - c224: adjust-hue(rgb(0,0,0), 224); - c225: adjust-hue(rgb(0,0,0), 225); - c226: adjust-hue(rgb(0,0,0), 226); - c227: adjust-hue(rgb(0,0,0), 227); - c228: adjust-hue(rgb(0,0,0), 228); - c229: adjust-hue(rgb(0,0,0), 229); - c230: adjust-hue(rgb(0,0,0), 230); - c231: adjust-hue(rgb(0,0,0), 231); - c232: adjust-hue(rgb(0,0,0), 232); - c233: adjust-hue(rgb(0,0,0), 233); - c234: adjust-hue(rgb(0,0,0), 234); - c235: adjust-hue(rgb(0,0,0), 235); - c236: adjust-hue(rgb(0,0,0), 236); - c237: adjust-hue(rgb(0,0,0), 237); - c238: adjust-hue(rgb(0,0,0), 238); - c239: adjust-hue(rgb(0,0,0), 239); - c240: adjust-hue(rgb(0,0,0), 240); - c241: adjust-hue(rgb(0,0,0), 241); - c242: adjust-hue(rgb(0,0,0), 242); - c243: adjust-hue(rgb(0,0,0), 243); - c244: adjust-hue(rgb(0,0,0), 244); - c245: adjust-hue(rgb(0,0,0), 245); - c246: adjust-hue(rgb(0,0,0), 246); - c247: adjust-hue(rgb(0,0,0), 247); - c248: adjust-hue(rgb(0,0,0), 248); - c249: adjust-hue(rgb(0,0,0), 249); - c250: adjust-hue(rgb(0,0,0), 250); - c251: adjust-hue(rgb(0,0,0), 251); - c252: adjust-hue(rgb(0,0,0), 252); - c253: adjust-hue(rgb(0,0,0), 253); - c254: adjust-hue(rgb(0,0,0), 254); - c255: adjust-hue(rgb(0,0,0), 255); - c256: adjust-hue(rgb(0,0,0), 256); - c257: adjust-hue(rgb(0,0,0), 257); - c258: adjust-hue(rgb(0,0,0), 258); - c259: adjust-hue(rgb(0,0,0), 259); - c260: adjust-hue(rgb(0,0,0), 260); - c261: adjust-hue(rgb(0,0,0), 261); - c262: adjust-hue(rgb(0,0,0), 262); - c263: adjust-hue(rgb(0,0,0), 263); - c264: adjust-hue(rgb(0,0,0), 264); - c265: adjust-hue(rgb(0,0,0), 265); - c266: adjust-hue(rgb(0,0,0), 266); - c267: adjust-hue(rgb(0,0,0), 267); - c268: adjust-hue(rgb(0,0,0), 268); - c269: adjust-hue(rgb(0,0,0), 269); - c270: adjust-hue(rgb(0,0,0), 270); - c271: adjust-hue(rgb(0,0,0), 271); - c272: adjust-hue(rgb(0,0,0), 272); - c273: adjust-hue(rgb(0,0,0), 273); - c274: adjust-hue(rgb(0,0,0), 274); - c275: adjust-hue(rgb(0,0,0), 275); - c276: adjust-hue(rgb(0,0,0), 276); - c277: adjust-hue(rgb(0,0,0), 277); - c278: adjust-hue(rgb(0,0,0), 278); - c279: adjust-hue(rgb(0,0,0), 279); - c280: adjust-hue(rgb(0,0,0), 280); - c281: adjust-hue(rgb(0,0,0), 281); - c282: adjust-hue(rgb(0,0,0), 282); - c283: adjust-hue(rgb(0,0,0), 283); - c284: adjust-hue(rgb(0,0,0), 284); - c285: adjust-hue(rgb(0,0,0), 285); - c286: adjust-hue(rgb(0,0,0), 286); - c287: adjust-hue(rgb(0,0,0), 287); - c288: adjust-hue(rgb(0,0,0), 288); - c289: adjust-hue(rgb(0,0,0), 289); - c290: adjust-hue(rgb(0,0,0), 290); - c291: adjust-hue(rgb(0,0,0), 291); - c292: adjust-hue(rgb(0,0,0), 292); - c293: adjust-hue(rgb(0,0,0), 293); - c294: adjust-hue(rgb(0,0,0), 294); - c295: adjust-hue(rgb(0,0,0), 295); - c296: adjust-hue(rgb(0,0,0), 296); - c297: adjust-hue(rgb(0,0,0), 297); - c298: adjust-hue(rgb(0,0,0), 298); - c299: adjust-hue(rgb(0,0,0), 299); - c300: adjust-hue(rgb(0,0,0), 300); - c301: adjust-hue(rgb(0,0,0), 301); - c302: adjust-hue(rgb(0,0,0), 302); - c303: adjust-hue(rgb(0,0,0), 303); - c304: adjust-hue(rgb(0,0,0), 304); - c305: adjust-hue(rgb(0,0,0), 305); - c306: adjust-hue(rgb(0,0,0), 306); - c307: adjust-hue(rgb(0,0,0), 307); - c308: adjust-hue(rgb(0,0,0), 308); - c309: adjust-hue(rgb(0,0,0), 309); - c310: adjust-hue(rgb(0,0,0), 310); - c311: adjust-hue(rgb(0,0,0), 311); - c312: adjust-hue(rgb(0,0,0), 312); - c313: adjust-hue(rgb(0,0,0), 313); - c314: adjust-hue(rgb(0,0,0), 314); - c315: adjust-hue(rgb(0,0,0), 315); - c316: adjust-hue(rgb(0,0,0), 316); - c317: adjust-hue(rgb(0,0,0), 317); - c318: adjust-hue(rgb(0,0,0), 318); - c319: adjust-hue(rgb(0,0,0), 319); - c320: adjust-hue(rgb(0,0,0), 320); - c321: adjust-hue(rgb(0,0,0), 321); - c322: adjust-hue(rgb(0,0,0), 322); - c323: adjust-hue(rgb(0,0,0), 323); - c324: adjust-hue(rgb(0,0,0), 324); - c325: adjust-hue(rgb(0,0,0), 325); - c326: adjust-hue(rgb(0,0,0), 326); - c327: adjust-hue(rgb(0,0,0), 327); - c328: adjust-hue(rgb(0,0,0), 328); - c329: adjust-hue(rgb(0,0,0), 329); - c330: adjust-hue(rgb(0,0,0), 330); - c331: adjust-hue(rgb(0,0,0), 331); - c332: adjust-hue(rgb(0,0,0), 332); - c333: adjust-hue(rgb(0,0,0), 333); - c334: adjust-hue(rgb(0,0,0), 334); - c335: adjust-hue(rgb(0,0,0), 335); - c336: adjust-hue(rgb(0,0,0), 336); - c337: adjust-hue(rgb(0,0,0), 337); - c338: adjust-hue(rgb(0,0,0), 338); - c339: adjust-hue(rgb(0,0,0), 339); - c340: adjust-hue(rgb(0,0,0), 340); - c341: adjust-hue(rgb(0,0,0), 341); - c342: adjust-hue(rgb(0,0,0), 342); - c343: adjust-hue(rgb(0,0,0), 343); - c344: adjust-hue(rgb(0,0,0), 344); - c345: adjust-hue(rgb(0,0,0), 345); - c346: adjust-hue(rgb(0,0,0), 346); - c347: adjust-hue(rgb(0,0,0), 347); - c348: adjust-hue(rgb(0,0,0), 348); - c349: adjust-hue(rgb(0,0,0), 349); - c350: adjust-hue(rgb(0,0,0), 350); - c351: adjust-hue(rgb(0,0,0), 351); - c352: adjust-hue(rgb(0,0,0), 352); - c353: adjust-hue(rgb(0,0,0), 353); - c354: adjust-hue(rgb(0,0,0), 354); - c355: adjust-hue(rgb(0,0,0), 355); - c356: adjust-hue(rgb(0,0,0), 356); - c357: adjust-hue(rgb(0,0,0), 357); - c358: adjust-hue(rgb(0,0,0), 358); - c359: adjust-hue(rgb(0,0,0), 359); - c360: adjust-hue(rgb(0,0,0), 360); - c361: adjust-hue(rgb(0,0,0), 361); -} - -<===> output.css -foo { - c-361: black; - c-360: black; - c-359: black; - c-358: black; - c-357: black; - c-356: black; - c-355: black; - c-354: black; - c-353: black; - c-352: black; - c-351: black; - c-350: black; - c-349: black; - c-348: black; - c-347: black; - c-346: black; - c-345: black; - c-344: black; - c-343: black; - c-342: black; - c-341: black; - c-340: black; - c-339: black; - c-338: black; - c-337: black; - c-336: black; - c-335: black; - c-334: black; - c-333: black; - c-332: black; - c-331: black; - c-330: black; - c-329: black; - c-328: black; - c-327: black; - c-326: black; - c-325: black; - c-324: black; - c-323: black; - c-322: black; - c-321: black; - c-320: black; - c-319: black; - c-318: black; - c-317: black; - c-316: black; - c-315: black; - c-314: black; - c-313: black; - c-312: black; - c-311: black; - c-310: black; - c-309: black; - c-308: black; - c-307: black; - c-306: black; - c-305: black; - c-304: black; - c-303: black; - c-302: black; - c-301: black; - c-300: black; - c-299: black; - c-298: black; - c-297: black; - c-296: black; - c-295: black; - c-294: black; - c-293: black; - c-292: black; - c-291: black; - c-290: black; - c-289: black; - c-288: black; - c-287: black; - c-286: black; - c-285: black; - c-284: black; - c-283: black; - c-282: black; - c-281: black; - c-280: black; - c-279: black; - c-278: black; - c-277: black; - c-276: black; - c-275: black; - c-274: black; - c-273: black; - c-272: black; - c-271: black; - c-270: black; - c-269: black; - c-268: black; - c-267: black; - c-266: black; - c-265: black; - c-264: black; - c-263: black; - c-262: black; - c-261: black; - c-260: black; - c-259: black; - c-258: black; - c-257: black; - c-256: black; - c-255: black; - c-254: black; - c-253: black; - c-252: black; - c-251: black; - c-250: black; - c-249: black; - c-248: black; - c-247: black; - c-246: black; - c-245: black; - c-244: black; - c-243: black; - c-242: black; - c-241: black; - c-240: black; - c-239: black; - c-238: black; - c-237: black; - c-236: black; - c-235: black; - c-234: black; - c-233: black; - c-232: black; - c-231: black; - c-230: black; - c-229: black; - c-228: black; - c-227: black; - c-226: black; - c-225: black; - c-224: black; - c-223: black; - c-222: black; - c-221: black; - c-220: black; - c-219: black; - c-218: black; - c-217: black; - c-216: black; - c-215: black; - c-214: black; - c-213: black; - c-212: black; - c-211: black; - c-210: black; - c-209: black; - c-208: black; - c-207: black; - c-206: black; - c-205: black; - c-204: black; - c-203: black; - c-202: black; - c-201: black; - c-200: black; - c-199: black; - c-198: black; - c-197: black; - c-196: black; - c-195: black; - c-194: black; - c-193: black; - c-192: black; - c-191: black; - c-190: black; - c-189: black; - c-188: black; - c-187: black; - c-186: black; - c-185: black; - c-184: black; - c-183: black; - c-182: black; - c-181: black; - c-180: black; - c-179: black; - c-178: black; - c-177: black; - c-176: black; - c-175: black; - c-174: black; - c-173: black; - c-172: black; - c-171: black; - c-170: black; - c-169: black; - c-168: black; - c-167: black; - c-166: black; - c-165: black; - c-164: black; - c-163: black; - c-162: black; - c-161: black; - c-160: black; - c-159: black; - c-158: black; - c-157: black; - c-156: black; - c-155: black; - c-154: black; - c-153: black; - c-152: black; - c-151: black; - c-150: black; - c-149: black; - c-148: black; - c-147: black; - c-146: black; - c-145: black; - c-144: black; - c-143: black; - c-142: black; - c-141: black; - c-140: black; - c-139: black; - c-138: black; - c-137: black; - c-136: black; - c-135: black; - c-134: black; - c-133: black; - c-132: black; - c-131: black; - c-130: black; - c-129: black; - c-128: black; - c-127: black; - c-126: black; - c-125: black; - c-124: black; - c-123: black; - c-122: black; - c-121: black; - c-120: black; - c-119: black; - c-118: black; - c-117: black; - c-116: black; - c-115: black; - c-114: black; - c-113: black; - c-112: black; - c-111: black; - c-110: black; - c-109: black; - c-108: black; - c-107: black; - c-106: black; - c-105: black; - c-104: black; - c-103: black; - c-102: black; - c-101: black; - c-100: black; - c-99: black; - c-98: black; - c-97: black; - c-96: black; - c-95: black; - c-94: black; - c-93: black; - c-92: black; - c-91: black; - c-90: black; - c-89: black; - c-88: black; - c-87: black; - c-86: black; - c-85: black; - c-84: black; - c-83: black; - c-82: black; - c-81: black; - c-80: black; - c-79: black; - c-78: black; - c-77: black; - c-76: black; - c-75: black; - c-74: black; - c-73: black; - c-72: black; - c-71: black; - c-70: black; - c-69: black; - c-68: black; - c-67: black; - c-66: black; - c-65: black; - c-64: black; - c-63: black; - c-62: black; - c-61: black; - c-60: black; - c-59: black; - c-58: black; - c-57: black; - c-56: black; - c-55: black; - c-54: black; - c-53: black; - c-52: black; - c-51: black; - c-50: black; - c-49: black; - c-48: black; - c-47: black; - c-46: black; - c-45: black; - c-44: black; - c-43: black; - c-42: black; - c-41: black; - c-40: black; - c-39: black; - c-38: black; - c-37: black; - c-36: black; - c-35: black; - c-34: black; - c-33: black; - c-32: black; - c-31: black; - c-30: black; - c-29: black; - c-28: black; - c-27: black; - c-26: black; - c-25: black; - c-24: black; - c-23: black; - c-22: black; - c-21: black; - c-20: black; - c-19: black; - c-18: black; - c-17: black; - c-16: black; - c-15: black; - c-14: black; - c-13: black; - c-12: black; - c-11: black; - c-10: black; - c-9: black; - c-8: black; - c-7: black; - c-6: black; - c-5: black; - c-4: black; - c-3: black; - c-2: black; - c-1: black; - c0: black; - c1: black; - c2: black; - c3: black; - c4: black; - c5: black; - c6: black; - c7: black; - c8: black; - c9: black; - c10: black; - c11: black; - c12: black; - c13: black; - c14: black; - c15: black; - c16: black; - c17: black; - c18: black; - c19: black; - c20: black; - c21: black; - c22: black; - c23: black; - c24: black; - c25: black; - c26: black; - c27: black; - c28: black; - c29: black; - c30: black; - c31: black; - c32: black; - c33: black; - c34: black; - c35: black; - c36: black; - c37: black; - c38: black; - c39: black; - c40: black; - c41: black; - c42: black; - c43: black; - c44: black; - c45: black; - c46: black; - c47: black; - c48: black; - c49: black; - c50: black; - c51: black; - c52: black; - c53: black; - c54: black; - c55: black; - c56: black; - c57: black; - c58: black; - c59: black; - c60: black; - c61: black; - c62: black; - c63: black; - c64: black; - c65: black; - c66: black; - c67: black; - c68: black; - c69: black; - c70: black; - c71: black; - c72: black; - c73: black; - c74: black; - c75: black; - c76: black; - c77: black; - c78: black; - c79: black; - c80: black; - c81: black; - c82: black; - c83: black; - c84: black; - c85: black; - c86: black; - c87: black; - c88: black; - c89: black; - c90: black; - c91: black; - c92: black; - c93: black; - c94: black; - c95: black; - c96: black; - c97: black; - c98: black; - c99: black; - c100: black; - c101: black; - c102: black; - c103: black; - c104: black; - c105: black; - c106: black; - c107: black; - c108: black; - c109: black; - c110: black; - c111: black; - c112: black; - c113: black; - c114: black; - c115: black; - c116: black; - c117: black; - c118: black; - c119: black; - c120: black; - c121: black; - c122: black; - c123: black; - c124: black; - c125: black; - c126: black; - c127: black; - c128: black; - c129: black; - c130: black; - c131: black; - c132: black; - c133: black; - c134: black; - c135: black; - c136: black; - c137: black; - c138: black; - c139: black; - c140: black; - c141: black; - c142: black; - c143: black; - c144: black; - c145: black; - c146: black; - c147: black; - c148: black; - c149: black; - c150: black; - c151: black; - c152: black; - c153: black; - c154: black; - c155: black; - c156: black; - c157: black; - c158: black; - c159: black; - c160: black; - c161: black; - c162: black; - c163: black; - c164: black; - c165: black; - c166: black; - c167: black; - c168: black; - c169: black; - c170: black; - c171: black; - c172: black; - c173: black; - c174: black; - c175: black; - c176: black; - c177: black; - c178: black; - c179: black; - c180: black; - c181: black; - c182: black; - c183: black; - c184: black; - c185: black; - c186: black; - c187: black; - c188: black; - c189: black; - c190: black; - c191: black; - c192: black; - c193: black; - c194: black; - c195: black; - c196: black; - c197: black; - c198: black; - c199: black; - c200: black; - c201: black; - c202: black; - c203: black; - c204: black; - c205: black; - c206: black; - c207: black; - c208: black; - c209: black; - c210: black; - c211: black; - c212: black; - c213: black; - c214: black; - c215: black; - c216: black; - c217: black; - c218: black; - c219: black; - c220: black; - c221: black; - c222: black; - c223: black; - c224: black; - c225: black; - c226: black; - c227: black; - c228: black; - c229: black; - c230: black; - c231: black; - c232: black; - c233: black; - c234: black; - c235: black; - c236: black; - c237: black; - c238: black; - c239: black; - c240: black; - c241: black; - c242: black; - c243: black; - c244: black; - c245: black; - c246: black; - c247: black; - c248: black; - c249: black; - c250: black; - c251: black; - c252: black; - c253: black; - c254: black; - c255: black; - c256: black; - c257: black; - c258: black; - c259: black; - c260: black; - c261: black; - c262: black; - c263: black; - c264: black; - c265: black; - c266: black; - c267: black; - c268: black; - c269: black; - c270: black; - c271: black; - c272: black; - c273: black; - c274: black; - c275: black; - c276: black; - c277: black; - c278: black; - c279: black; - c280: black; - c281: black; - c282: black; - c283: black; - c284: black; - c285: black; - c286: black; - c287: black; - c288: black; - c289: black; - c290: black; - c291: black; - c292: black; - c293: black; - c294: black; - c295: black; - c296: black; - c297: black; - c298: black; - c299: black; - c300: black; - c301: black; - c302: black; - c303: black; - c304: black; - c305: black; - c306: black; - c307: black; - c308: black; - c309: black; - c310: black; - c311: black; - c312: black; - c313: black; - c314: black; - c315: black; - c316: black; - c317: black; - c318: black; - c319: black; - c320: black; - c321: black; - c322: black; - c323: black; - c324: black; - c325: black; - c326: black; - c327: black; - c328: black; - c329: black; - c330: black; - c331: black; - c332: black; - c333: black; - c334: black; - c335: black; - c336: black; - c337: black; - c338: black; - c339: black; - c340: black; - c341: black; - c342: black; - c343: black; - c344: black; - c345: black; - c346: black; - c347: black; - c348: black; - c349: black; - c350: black; - c351: black; - c352: black; - c353: black; - c354: black; - c355: black; - c356: black; - c357: black; - c358: black; - c359: black; - c360: black; - c361: black; -} diff --git a/spec/libsass/color-functions/hsl/complement.hrx b/spec/libsass/color-functions/hsl/complement.hrx deleted file mode 100644 index 0ce30692c1..0000000000 --- a/spec/libsass/color-functions/hsl/complement.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: desaturate(hsl(100, 100%, 0), 0%); - c1: desaturate(hsl(100, 100%, 0), 1%); - c2: desaturate(hsl(100, 100%, 0), 2%); - c3: desaturate(hsl(100, 100%, 0), 3%); - c4: desaturate(hsl(100, 100%, 0), 4%); - c5: desaturate(hsl(100, 100%, 0), 5%); - c6: desaturate(hsl(100, 100%, 0), 6%); - c7: desaturate(hsl(100, 100%, 0), 7%); - c8: desaturate(hsl(100, 100%, 0), 8%); - c9: desaturate(hsl(100, 100%, 0), 9%); - c10: desaturate(hsl(100, 100%, 0), 10%); - c11: desaturate(hsl(100, 100%, 0), 11%); - c12: desaturate(hsl(100, 100%, 0), 12%); - c13: desaturate(hsl(100, 100%, 0), 13%); - c14: desaturate(hsl(100, 100%, 0), 14%); - c15: desaturate(hsl(100, 100%, 0), 15%); - c16: desaturate(hsl(100, 100%, 0), 16%); - c17: desaturate(hsl(100, 100%, 0), 17%); - c18: desaturate(hsl(100, 100%, 0), 18%); - c19: desaturate(hsl(100, 100%, 0), 19%); - c20: desaturate(hsl(100, 100%, 0), 20%); - c21: desaturate(hsl(100, 100%, 0), 21%); - c22: desaturate(hsl(100, 100%, 0), 22%); - c23: desaturate(hsl(100, 100%, 0), 23%); - c24: desaturate(hsl(100, 100%, 0), 24%); - c25: desaturate(hsl(100, 100%, 0), 25%); - c26: desaturate(hsl(100, 100%, 0), 26%); - c27: desaturate(hsl(100, 100%, 0), 27%); - c28: desaturate(hsl(100, 100%, 0), 28%); - c29: desaturate(hsl(100, 100%, 0), 29%); - c30: desaturate(hsl(100, 100%, 0), 30%); - c31: desaturate(hsl(100, 100%, 0), 31%); - c32: desaturate(hsl(100, 100%, 0), 32%); - c33: desaturate(hsl(100, 100%, 0), 33%); - c34: desaturate(hsl(100, 100%, 0), 34%); - c35: desaturate(hsl(100, 100%, 0), 35%); - c36: desaturate(hsl(100, 100%, 0), 36%); - c37: desaturate(hsl(100, 100%, 0), 37%); - c38: desaturate(hsl(100, 100%, 0), 38%); - c39: desaturate(hsl(100, 100%, 0), 39%); - c40: desaturate(hsl(100, 100%, 0), 40%); - c41: desaturate(hsl(100, 100%, 0), 41%); - c42: desaturate(hsl(100, 100%, 0), 42%); - c43: desaturate(hsl(100, 100%, 0), 43%); - c44: desaturate(hsl(100, 100%, 0), 44%); - c45: desaturate(hsl(100, 100%, 0), 45%); - c46: desaturate(hsl(100, 100%, 0), 46%); - c47: desaturate(hsl(100, 100%, 0), 47%); - c48: desaturate(hsl(100, 100%, 0), 48%); - c49: desaturate(hsl(100, 100%, 0), 49%); - c50: desaturate(hsl(100, 100%, 0), 50%); - c51: desaturate(hsl(100, 100%, 0), 51%); - c52: desaturate(hsl(100, 100%, 0), 52%); - c53: desaturate(hsl(100, 100%, 0), 53%); - c54: desaturate(hsl(100, 100%, 0), 54%); - c55: desaturate(hsl(100, 100%, 0), 55%); - c56: desaturate(hsl(100, 100%, 0), 56%); - c57: desaturate(hsl(100, 100%, 0), 57%); - c58: desaturate(hsl(100, 100%, 0), 58%); - c59: desaturate(hsl(100, 100%, 0), 59%); - c60: desaturate(hsl(100, 100%, 0), 60%); - c61: desaturate(hsl(100, 100%, 0), 61%); - c62: desaturate(hsl(100, 100%, 0), 62%); - c63: desaturate(hsl(100, 100%, 0), 63%); - c64: desaturate(hsl(100, 100%, 0), 64%); - c65: desaturate(hsl(100, 100%, 0), 65%); - c66: desaturate(hsl(100, 100%, 0), 66%); - c67: desaturate(hsl(100, 100%, 0), 67%); - c68: desaturate(hsl(100, 100%, 0), 68%); - c69: desaturate(hsl(100, 100%, 0), 69%); - c70: desaturate(hsl(100, 100%, 0), 70%); - c71: desaturate(hsl(100, 100%, 0), 71%); - c72: desaturate(hsl(100, 100%, 0), 72%); - c73: desaturate(hsl(100, 100%, 0), 73%); - c74: desaturate(hsl(100, 100%, 0), 74%); - c75: desaturate(hsl(100, 100%, 0), 75%); - c76: desaturate(hsl(100, 100%, 0), 76%); - c77: desaturate(hsl(100, 100%, 0), 77%); - c78: desaturate(hsl(100, 100%, 0), 78%); - c79: desaturate(hsl(100, 100%, 0), 79%); - c80: desaturate(hsl(100, 100%, 0), 80%); - c81: desaturate(hsl(100, 100%, 0), 81%); - c82: desaturate(hsl(100, 100%, 0), 82%); - c83: desaturate(hsl(100, 100%, 0), 83%); - c84: desaturate(hsl(100, 100%, 0), 84%); - c85: desaturate(hsl(100, 100%, 0), 85%); - c86: desaturate(hsl(100, 100%, 0), 86%); - c87: desaturate(hsl(100, 100%, 0), 87%); - c88: desaturate(hsl(100, 100%, 0), 88%); - c89: desaturate(hsl(100, 100%, 0), 89%); - c90: desaturate(hsl(100, 100%, 0), 90%); - c91: desaturate(hsl(100, 100%, 0), 91%); - c92: desaturate(hsl(100, 100%, 0), 92%); - c93: desaturate(hsl(100, 100%, 0), 93%); - c94: desaturate(hsl(100, 100%, 0), 94%); - c95: desaturate(hsl(100, 100%, 0), 95%); - c96: desaturate(hsl(100, 100%, 0), 96%); - c97: desaturate(hsl(100, 100%, 0), 97%); - c98: desaturate(hsl(100, 100%, 0), 98%); - c99: desaturate(hsl(100, 100%, 0), 99%); - c100: desaturate(hsl(100, 100%, 0), 100%); -} - -<===> output.css -foo { - c0: black; - c1: black; - c2: black; - c3: black; - c4: black; - c5: black; - c6: black; - c7: black; - c8: black; - c9: black; - c10: black; - c11: black; - c12: black; - c13: black; - c14: black; - c15: black; - c16: black; - c17: black; - c18: black; - c19: black; - c20: black; - c21: black; - c22: black; - c23: black; - c24: black; - c25: black; - c26: black; - c27: black; - c28: black; - c29: black; - c30: black; - c31: black; - c32: black; - c33: black; - c34: black; - c35: black; - c36: black; - c37: black; - c38: black; - c39: black; - c40: black; - c41: black; - c42: black; - c43: black; - c44: black; - c45: black; - c46: black; - c47: black; - c48: black; - c49: black; - c50: black; - c51: black; - c52: black; - c53: black; - c54: black; - c55: black; - c56: black; - c57: black; - c58: black; - c59: black; - c60: black; - c61: black; - c62: black; - c63: black; - c64: black; - c65: black; - c66: black; - c67: black; - c68: black; - c69: black; - c70: black; - c71: black; - c72: black; - c73: black; - c74: black; - c75: black; - c76: black; - c77: black; - c78: black; - c79: black; - c80: black; - c81: black; - c82: black; - c83: black; - c84: black; - c85: black; - c86: black; - c87: black; - c88: black; - c89: black; - c90: black; - c91: black; - c92: black; - c93: black; - c94: black; - c95: black; - c96: black; - c97: black; - c98: black; - c99: black; - c100: black; -} diff --git a/spec/libsass/color-functions/hsl/darken.hrx b/spec/libsass/color-functions/hsl/darken.hrx deleted file mode 100644 index efa6568308..0000000000 --- a/spec/libsass/color-functions/hsl/darken.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: darken(white, 0%); - c1: darken(white, 1%); - c2: darken(white, 2%); - c3: darken(white, 3%); - c4: darken(white, 4%); - c5: darken(white, 5%); - c6: darken(white, 6%); - c7: darken(white, 7%); - c8: darken(white, 8%); - c9: darken(white, 9%); - c10: darken(white, 10%); - c11: darken(white, 11%); - c12: darken(white, 12%); - c13: darken(white, 13%); - c14: darken(white, 14%); - c15: darken(white, 15%); - c16: darken(white, 16%); - c17: darken(white, 17%); - c18: darken(white, 18%); - c19: darken(white, 19%); - c20: darken(white, 20%); - c21: darken(white, 21%); - c22: darken(white, 22%); - c23: darken(white, 23%); - c24: darken(white, 24%); - c25: darken(white, 25%); - c26: darken(white, 26%); - c27: darken(white, 27%); - c28: darken(white, 28%); - c29: darken(white, 29%); - c30: darken(white, 30%); - c31: darken(white, 31%); - c32: darken(white, 32%); - c33: darken(white, 33%); - c34: darken(white, 34%); - c35: darken(white, 35%); - c36: darken(white, 36%); - c37: darken(white, 37%); - c38: darken(white, 38%); - c39: darken(white, 39%); - c40: darken(white, 40%); - c41: darken(white, 41%); - c42: darken(white, 42%); - c43: darken(white, 43%); - c44: darken(white, 44%); - c45: darken(white, 45%); - c46: darken(white, 46%); - c47: darken(white, 47%); - c48: darken(white, 48%); - c49: darken(white, 49%); - c50: darken(white, 50%); - c51: darken(white, 51%); - c52: darken(white, 52%); - c53: darken(white, 53%); - c54: darken(white, 54%); - c55: darken(white, 55%); - c56: darken(white, 56%); - c57: darken(white, 57%); - c58: darken(white, 58%); - c59: darken(white, 59%); - c60: darken(white, 60%); - c61: darken(white, 61%); - c62: darken(white, 62%); - c63: darken(white, 63%); - c64: darken(white, 64%); - c65: darken(white, 65%); - c66: darken(white, 66%); - c67: darken(white, 67%); - c68: darken(white, 68%); - c69: darken(white, 69%); - c70: darken(white, 70%); - c71: darken(white, 71%); - c72: darken(white, 72%); - c73: darken(white, 73%); - c74: darken(white, 74%); - c75: darken(white, 75%); - c76: darken(white, 76%); - c77: darken(white, 77%); - c78: darken(white, 78%); - c79: darken(white, 79%); - c80: darken(white, 80%); - c81: darken(white, 81%); - c82: darken(white, 82%); - c83: darken(white, 83%); - c84: darken(white, 84%); - c85: darken(white, 85%); - c86: darken(white, 86%); - c87: darken(white, 87%); - c88: darken(white, 88%); - c89: darken(white, 89%); - c90: darken(white, 90%); - c91: darken(white, 91%); - c92: darken(white, 92%); - c93: darken(white, 93%); - c94: darken(white, 94%); - c95: darken(white, 95%); - c96: darken(white, 96%); - c97: darken(white, 97%); - c98: darken(white, 98%); - c99: darken(white, 99%); - c100: darken(white, 100%); -} - -<===> output.css -foo { - c0: white; - c1: #fcfcfc; - c2: #fafafa; - c3: #f7f7f7; - c4: whitesmoke; - c5: #f2f2f2; - c6: #f0f0f0; - c7: #ededed; - c8: #ebebeb; - c9: #e8e8e8; - c10: #e6e6e6; - c11: #e3e3e3; - c12: #e0e0e0; - c13: #dedede; - c14: #dbdbdb; - c15: #d9d9d9; - c16: #d6d6d6; - c17: #d4d4d4; - c18: #d1d1d1; - c19: #cfcfcf; - c20: #cccccc; - c21: #c9c9c9; - c22: #c7c7c7; - c23: #c4c4c4; - c24: #c2c2c2; - c25: #bfbfbf; - c26: #bdbdbd; - c27: #bababa; - c28: #b8b8b8; - c29: #b5b5b5; - c30: #b3b3b3; - c31: #b0b0b0; - c32: #adadad; - c33: #ababab; - c34: #a8a8a8; - c35: #a6a6a6; - c36: #a3a3a3; - c37: #a1a1a1; - c38: #9e9e9e; - c39: #9c9c9c; - c40: #999999; - c41: #969696; - c42: #949494; - c43: #919191; - c44: #8f8f8f; - c45: #8c8c8c; - c46: #8a8a8a; - c47: #878787; - c48: #858585; - c49: #828282; - c50: gray; - c51: #7d7d7d; - c52: #7a7a7a; - c53: #787878; - c54: #757575; - c55: #737373; - c56: #707070; - c57: #6e6e6e; - c58: #6b6b6b; - c59: dimgray; - c60: #666666; - c61: #636363; - c62: #616161; - c63: #5e5e5e; - c64: #5c5c5c; - c65: #595959; - c66: #575757; - c67: #545454; - c68: #525252; - c69: #4f4f4f; - c70: #4d4d4d; - c71: #4a4a4a; - c72: #474747; - c73: #454545; - c74: #424242; - c75: #404040; - c76: #3d3d3d; - c77: #3b3b3b; - c78: #383838; - c79: #363636; - c80: #333333; - c81: #303030; - c82: #2e2e2e; - c83: #2b2b2b; - c84: #292929; - c85: #262626; - c86: #242424; - c87: #212121; - c88: #1f1f1f; - c89: #1c1c1c; - c90: #1a1a1a; - c91: #171717; - c92: #141414; - c93: #121212; - c94: #0f0f0f; - c95: #0d0d0d; - c96: #0a0a0a; - c97: #080808; - c98: #050505; - c99: #030303; - c100: black; -} diff --git a/spec/libsass/color-functions/hsl/desaturate.hrx b/spec/libsass/color-functions/hsl/desaturate.hrx deleted file mode 100644 index d14f07bbfa..0000000000 --- a/spec/libsass/color-functions/hsl/desaturate.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: desaturate(hsl(100, 100%, 50%), 0%); - c1: desaturate(hsl(100, 100%, 50%), 1%); - c2: desaturate(hsl(100, 100%, 50%), 2%); - c3: desaturate(hsl(100, 100%, 50%), 3%); - c4: desaturate(hsl(100, 100%, 50%), 4%); - c5: desaturate(hsl(100, 100%, 50%), 5%); - c6: desaturate(hsl(100, 100%, 50%), 6%); - c7: desaturate(hsl(100, 100%, 50%), 7%); - c8: desaturate(hsl(100, 100%, 50%), 8%); - c9: desaturate(hsl(100, 100%, 50%), 9%); - c10: desaturate(hsl(100, 100%, 50%), 10%); - c11: desaturate(hsl(100, 100%, 50%), 11%); - c12: desaturate(hsl(100, 100%, 50%), 12%); - c13: desaturate(hsl(100, 100%, 50%), 13%); - c14: desaturate(hsl(100, 100%, 50%), 14%); - c15: desaturate(hsl(100, 100%, 50%), 15%); - c16: desaturate(hsl(100, 100%, 50%), 16%); - c17: desaturate(hsl(100, 100%, 50%), 17%); - c18: desaturate(hsl(100, 100%, 50%), 18%); - c19: desaturate(hsl(100, 100%, 50%), 19%); - c20: desaturate(hsl(100, 100%, 50%), 20%); - c21: desaturate(hsl(100, 100%, 50%), 21%); - c22: desaturate(hsl(100, 100%, 50%), 22%); - c23: desaturate(hsl(100, 100%, 50%), 23%); - c24: desaturate(hsl(100, 100%, 50%), 24%); - c25: desaturate(hsl(100, 100%, 50%), 25%); - c26: desaturate(hsl(100, 100%, 50%), 26%); - c27: desaturate(hsl(100, 100%, 50%), 27%); - c28: desaturate(hsl(100, 100%, 50%), 28%); - c29: desaturate(hsl(100, 100%, 50%), 29%); - c30: desaturate(hsl(100, 100%, 50%), 30%); - c31: desaturate(hsl(100, 100%, 50%), 31%); - c32: desaturate(hsl(100, 100%, 50%), 32%); - c33: desaturate(hsl(100, 100%, 50%), 33%); - c34: desaturate(hsl(100, 100%, 50%), 34%); - c35: desaturate(hsl(100, 100%, 50%), 35%); - c36: desaturate(hsl(100, 100%, 50%), 36%); - c37: desaturate(hsl(100, 100%, 50%), 37%); - c38: desaturate(hsl(100, 100%, 50%), 38%); - c39: desaturate(hsl(100, 100%, 50%), 39%); - c40: desaturate(hsl(100, 100%, 50%), 40%); - c41: desaturate(hsl(100, 100%, 50%), 41%); - c42: desaturate(hsl(100, 100%, 50%), 42%); - c43: desaturate(hsl(100, 100%, 50%), 43%); - c44: desaturate(hsl(100, 100%, 50%), 44%); - c45: desaturate(hsl(100, 100%, 50%), 45%); - c46: desaturate(hsl(100, 100%, 50%), 46%); - c47: desaturate(hsl(100, 100%, 50%), 47%); - c48: desaturate(hsl(100, 100%, 50%), 48%); - c49: desaturate(hsl(100, 100%, 50%), 49%); - c50: desaturate(hsl(100, 100%, 50%), 50%); - c51: desaturate(hsl(100, 100%, 50%), 51%); - c52: desaturate(hsl(100, 100%, 50%), 52%); - c53: desaturate(hsl(100, 100%, 50%), 53%); - c54: desaturate(hsl(100, 100%, 50%), 54%); - c55: desaturate(hsl(100, 100%, 50%), 55%); - c56: desaturate(hsl(100, 100%, 50%), 56%); - c57: desaturate(hsl(100, 100%, 50%), 57%); - c58: desaturate(hsl(100, 100%, 50%), 58%); - c59: desaturate(hsl(100, 100%, 50%), 59%); - c60: desaturate(hsl(100, 100%, 50%), 60%); - c61: desaturate(hsl(100, 100%, 50%), 61%); - c62: desaturate(hsl(100, 100%, 50%), 62%); - c63: desaturate(hsl(100, 100%, 50%), 63%); - c64: desaturate(hsl(100, 100%, 50%), 64%); - c65: desaturate(hsl(100, 100%, 50%), 65%); - c66: desaturate(hsl(100, 100%, 50%), 66%); - c67: desaturate(hsl(100, 100%, 50%), 67%); - c68: desaturate(hsl(100, 100%, 50%), 68%); - c69: desaturate(hsl(100, 100%, 50%), 69%); - c70: desaturate(hsl(100, 100%, 50%), 70%); - c71: desaturate(hsl(100, 100%, 50%), 71%); - c72: desaturate(hsl(100, 100%, 50%), 72%); - c73: desaturate(hsl(100, 100%, 50%), 73%); - c74: desaturate(hsl(100, 100%, 50%), 74%); - c75: desaturate(hsl(100, 100%, 50%), 75%); - c76: desaturate(hsl(100, 100%, 50%), 76%); - c77: desaturate(hsl(100, 100%, 50%), 77%); - c78: desaturate(hsl(100, 100%, 50%), 78%); - c79: desaturate(hsl(100, 100%, 50%), 79%); - c80: desaturate(hsl(100, 100%, 50%), 80%); - c81: desaturate(hsl(100, 100%, 50%), 81%); - c82: desaturate(hsl(100, 100%, 50%), 82%); - c83: desaturate(hsl(100, 100%, 50%), 83%); - c84: desaturate(hsl(100, 100%, 50%), 84%); - c85: desaturate(hsl(100, 100%, 50%), 85%); - c86: desaturate(hsl(100, 100%, 50%), 86%); - c87: desaturate(hsl(100, 100%, 50%), 87%); - c88: desaturate(hsl(100, 100%, 50%), 88%); - c89: desaturate(hsl(100, 100%, 50%), 89%); - c90: desaturate(hsl(100, 100%, 50%), 90%); - c91: desaturate(hsl(100, 100%, 50%), 91%); - c92: desaturate(hsl(100, 100%, 50%), 92%); - c93: desaturate(hsl(100, 100%, 50%), 93%); - c94: desaturate(hsl(100, 100%, 50%), 94%); - c95: desaturate(hsl(100, 100%, 50%), 95%); - c96: desaturate(hsl(100, 100%, 50%), 96%); - c97: desaturate(hsl(100, 100%, 50%), 97%); - c98: desaturate(hsl(100, 100%, 50%), 98%); - c99: desaturate(hsl(100, 100%, 50%), 99%); - c100: desaturate(hsl(100, 100%, 50%), 100%); -} - -<===> output.css -foo { - c0: #55ff00; - c1: #55fe01; - c2: #56fc03; - c3: #56fb04; - c4: #57fa05; - c5: #57f906; - c6: #58f708; - c7: #58f609; - c8: #58f50a; - c9: #59f40b; - c10: #59f20d; - c11: #5af10e; - c12: #5af00f; - c13: #5bee11; - c14: #5bed12; - c15: #5bec13; - c16: #5ceb14; - c17: #5ce916; - c18: #5de817; - c19: #5de718; - c20: #5ee61a; - c21: #5ee41b; - c22: #5ee31c; - c23: #5fe21d; - c24: #5fe01f; - c25: #60df20; - c26: #60de21; - c27: #60dd22; - c28: #61db24; - c29: #61da25; - c30: #62d926; - c31: #62d728; - c32: #63d629; - c33: #63d52a; - c34: #63d42b; - c35: #64d22d; - c36: #64d12e; - c37: #65d02f; - c38: #65cf30; - c39: #66cd32; - c40: #66cc33; - c41: #66cb34; - c42: #67c936; - c43: #67c837; - c44: #68c738; - c45: #68c639; - c46: #69c43b; - c47: #69c33c; - c48: #69c23d; - c49: #6ac13e; - c50: #6abf40; - c51: #6bbe41; - c52: #6bbd42; - c53: #6cbb44; - c54: #6cba45; - c55: #6cb946; - c56: #6db847; - c57: #6db649; - c58: #6eb54a; - c59: #6eb44b; - c60: #6fb34d; - c61: #6fb14e; - c62: #6fb04f; - c63: #70af50; - c64: #70ad52; - c65: #71ac53; - c66: #71ab54; - c67: #71aa55; - c68: #72a857; - c69: #72a758; - c70: #73a659; - c71: #73a45b; - c72: #74a35c; - c73: #74a25d; - c74: #74a15e; - c75: #759f60; - c76: #759e61; - c77: #769d62; - c78: #769c63; - c79: #779a65; - c80: #779966; - c81: #779867; - c82: #789669; - c83: #78956a; - c84: #79946b; - c85: #79936c; - c86: #7a916e; - c87: #7a906f; - c88: #7a8f70; - c89: #7b8e71; - c90: #7b8c73; - c91: #7c8b74; - c92: #7c8a75; - c93: #7d8877; - c94: #7d8778; - c95: #7d8679; - c96: #7e857a; - c97: #7e837c; - c98: #7f827d; - c99: #7f817e; - c100: gray; -} diff --git a/spec/libsass/color-functions/hsl/hue.hrx b/spec/libsass/color-functions/hsl/hue.hrx deleted file mode 100644 index 29b9c4a8c7..0000000000 --- a/spec/libsass/color-functions/hsl/hue.hrx +++ /dev/null @@ -1,1453 +0,0 @@ -<===> input.scss -foo { - c-361: hue(hsl(-361%, 100%, 50%)); - c-360: hue(hsl(-360%, 100%, 50%)); - c-359: hue(hsl(-359%, 100%, 50%)); - c-358: hue(hsl(-358%, 100%, 50%)); - c-357: hue(hsl(-357%, 100%, 50%)); - c-356: hue(hsl(-356%, 100%, 50%)); - c-355: hue(hsl(-355%, 100%, 50%)); - c-354: hue(hsl(-354%, 100%, 50%)); - c-353: hue(hsl(-353%, 100%, 50%)); - c-352: hue(hsl(-352%, 100%, 50%)); - c-351: hue(hsl(-351%, 100%, 50%)); - c-350: hue(hsl(-350%, 100%, 50%)); - c-349: hue(hsl(-349%, 100%, 50%)); - c-348: hue(hsl(-348%, 100%, 50%)); - c-347: hue(hsl(-347%, 100%, 50%)); - c-346: hue(hsl(-346%, 100%, 50%)); - c-345: hue(hsl(-345%, 100%, 50%)); - c-344: hue(hsl(-344%, 100%, 50%)); - c-343: hue(hsl(-343%, 100%, 50%)); - c-342: hue(hsl(-342%, 100%, 50%)); - c-341: hue(hsl(-341%, 100%, 50%)); - c-340: hue(hsl(-340%, 100%, 50%)); - c-339: hue(hsl(-339%, 100%, 50%)); - c-338: hue(hsl(-338%, 100%, 50%)); - c-337: hue(hsl(-337%, 100%, 50%)); - c-336: hue(hsl(-336%, 100%, 50%)); - c-335: hue(hsl(-335%, 100%, 50%)); - c-334: hue(hsl(-334%, 100%, 50%)); - c-333: hue(hsl(-333%, 100%, 50%)); - c-332: hue(hsl(-332%, 100%, 50%)); - c-331: hue(hsl(-331%, 100%, 50%)); - c-330: hue(hsl(-330%, 100%, 50%)); - c-329: hue(hsl(-329%, 100%, 50%)); - c-328: hue(hsl(-328%, 100%, 50%)); - c-327: hue(hsl(-327%, 100%, 50%)); - c-326: hue(hsl(-326%, 100%, 50%)); - c-325: hue(hsl(-325%, 100%, 50%)); - c-324: hue(hsl(-324%, 100%, 50%)); - c-323: hue(hsl(-323%, 100%, 50%)); - c-322: hue(hsl(-322%, 100%, 50%)); - c-321: hue(hsl(-321%, 100%, 50%)); - c-320: hue(hsl(-320%, 100%, 50%)); - c-319: hue(hsl(-319%, 100%, 50%)); - c-318: hue(hsl(-318%, 100%, 50%)); - c-317: hue(hsl(-317%, 100%, 50%)); - c-316: hue(hsl(-316%, 100%, 50%)); - c-315: hue(hsl(-315%, 100%, 50%)); - c-314: hue(hsl(-314%, 100%, 50%)); - c-313: hue(hsl(-313%, 100%, 50%)); - c-312: hue(hsl(-312%, 100%, 50%)); - c-311: hue(hsl(-311%, 100%, 50%)); - c-310: hue(hsl(-310%, 100%, 50%)); - c-309: hue(hsl(-309%, 100%, 50%)); - c-308: hue(hsl(-308%, 100%, 50%)); - c-307: hue(hsl(-307%, 100%, 50%)); - c-306: hue(hsl(-306%, 100%, 50%)); - c-305: hue(hsl(-305%, 100%, 50%)); - c-304: hue(hsl(-304%, 100%, 50%)); - c-303: hue(hsl(-303%, 100%, 50%)); - c-302: hue(hsl(-302%, 100%, 50%)); - c-301: hue(hsl(-301%, 100%, 50%)); - c-300: hue(hsl(-300%, 100%, 50%)); - c-299: hue(hsl(-299%, 100%, 50%)); - c-298: hue(hsl(-298%, 100%, 50%)); - c-297: hue(hsl(-297%, 100%, 50%)); - c-296: hue(hsl(-296%, 100%, 50%)); - c-295: hue(hsl(-295%, 100%, 50%)); - c-294: hue(hsl(-294%, 100%, 50%)); - c-293: hue(hsl(-293%, 100%, 50%)); - c-292: hue(hsl(-292%, 100%, 50%)); - c-291: hue(hsl(-291%, 100%, 50%)); - c-290: hue(hsl(-290%, 100%, 50%)); - c-289: hue(hsl(-289%, 100%, 50%)); - c-288: hue(hsl(-288%, 100%, 50%)); - c-287: hue(hsl(-287%, 100%, 50%)); - c-286: hue(hsl(-286%, 100%, 50%)); - c-285: hue(hsl(-285%, 100%, 50%)); - c-284: hue(hsl(-284%, 100%, 50%)); - c-283: hue(hsl(-283%, 100%, 50%)); - c-282: hue(hsl(-282%, 100%, 50%)); - c-281: hue(hsl(-281%, 100%, 50%)); - c-280: hue(hsl(-280%, 100%, 50%)); - c-279: hue(hsl(-279%, 100%, 50%)); - c-278: hue(hsl(-278%, 100%, 50%)); - c-277: hue(hsl(-277%, 100%, 50%)); - c-276: hue(hsl(-276%, 100%, 50%)); - c-275: hue(hsl(-275%, 100%, 50%)); - c-274: hue(hsl(-274%, 100%, 50%)); - c-273: hue(hsl(-273%, 100%, 50%)); - c-272: hue(hsl(-272%, 100%, 50%)); - c-271: hue(hsl(-271%, 100%, 50%)); - c-270: hue(hsl(-270%, 100%, 50%)); - c-269: hue(hsl(-269%, 100%, 50%)); - c-268: hue(hsl(-268%, 100%, 50%)); - c-267: hue(hsl(-267%, 100%, 50%)); - c-266: hue(hsl(-266%, 100%, 50%)); - c-265: hue(hsl(-265%, 100%, 50%)); - c-264: hue(hsl(-264%, 100%, 50%)); - c-263: hue(hsl(-263%, 100%, 50%)); - c-262: hue(hsl(-262%, 100%, 50%)); - c-261: hue(hsl(-261%, 100%, 50%)); - c-260: hue(hsl(-260%, 100%, 50%)); - c-259: hue(hsl(-259%, 100%, 50%)); - c-258: hue(hsl(-258%, 100%, 50%)); - c-257: hue(hsl(-257%, 100%, 50%)); - c-256: hue(hsl(-256%, 100%, 50%)); - c-255: hue(hsl(-255%, 100%, 50%)); - c-254: hue(hsl(-254%, 100%, 50%)); - c-253: hue(hsl(-253%, 100%, 50%)); - c-252: hue(hsl(-252%, 100%, 50%)); - c-251: hue(hsl(-251%, 100%, 50%)); - c-250: hue(hsl(-250%, 100%, 50%)); - c-249: hue(hsl(-249%, 100%, 50%)); - c-248: hue(hsl(-248%, 100%, 50%)); - c-247: hue(hsl(-247%, 100%, 50%)); - c-246: hue(hsl(-246%, 100%, 50%)); - c-245: hue(hsl(-245%, 100%, 50%)); - c-244: hue(hsl(-244%, 100%, 50%)); - c-243: hue(hsl(-243%, 100%, 50%)); - c-242: hue(hsl(-242%, 100%, 50%)); - c-241: hue(hsl(-241%, 100%, 50%)); - c-240: hue(hsl(-240%, 100%, 50%)); - c-239: hue(hsl(-239%, 100%, 50%)); - c-238: hue(hsl(-238%, 100%, 50%)); - c-237: hue(hsl(-237%, 100%, 50%)); - c-236: hue(hsl(-236%, 100%, 50%)); - c-235: hue(hsl(-235%, 100%, 50%)); - c-234: hue(hsl(-234%, 100%, 50%)); - c-233: hue(hsl(-233%, 100%, 50%)); - c-232: hue(hsl(-232%, 100%, 50%)); - c-231: hue(hsl(-231%, 100%, 50%)); - c-230: hue(hsl(-230%, 100%, 50%)); - c-229: hue(hsl(-229%, 100%, 50%)); - c-228: hue(hsl(-228%, 100%, 50%)); - c-227: hue(hsl(-227%, 100%, 50%)); - c-226: hue(hsl(-226%, 100%, 50%)); - c-225: hue(hsl(-225%, 100%, 50%)); - c-224: hue(hsl(-224%, 100%, 50%)); - c-223: hue(hsl(-223%, 100%, 50%)); - c-222: hue(hsl(-222%, 100%, 50%)); - c-221: hue(hsl(-221%, 100%, 50%)); - c-220: hue(hsl(-220%, 100%, 50%)); - c-219: hue(hsl(-219%, 100%, 50%)); - c-218: hue(hsl(-218%, 100%, 50%)); - c-217: hue(hsl(-217%, 100%, 50%)); - c-216: hue(hsl(-216%, 100%, 50%)); - c-215: hue(hsl(-215%, 100%, 50%)); - c-214: hue(hsl(-214%, 100%, 50%)); - c-213: hue(hsl(-213%, 100%, 50%)); - c-212: hue(hsl(-212%, 100%, 50%)); - c-211: hue(hsl(-211%, 100%, 50%)); - c-210: hue(hsl(-210%, 100%, 50%)); - c-209: hue(hsl(-209%, 100%, 50%)); - c-208: hue(hsl(-208%, 100%, 50%)); - c-207: hue(hsl(-207%, 100%, 50%)); - c-206: hue(hsl(-206%, 100%, 50%)); - c-205: hue(hsl(-205%, 100%, 50%)); - c-204: hue(hsl(-204%, 100%, 50%)); - c-203: hue(hsl(-203%, 100%, 50%)); - c-202: hue(hsl(-202%, 100%, 50%)); - c-201: hue(hsl(-201%, 100%, 50%)); - c-200: hue(hsl(-200%, 100%, 50%)); - c-199: hue(hsl(-199%, 100%, 50%)); - c-198: hue(hsl(-198%, 100%, 50%)); - c-197: hue(hsl(-197%, 100%, 50%)); - c-196: hue(hsl(-196%, 100%, 50%)); - c-195: hue(hsl(-195%, 100%, 50%)); - c-194: hue(hsl(-194%, 100%, 50%)); - c-193: hue(hsl(-193%, 100%, 50%)); - c-192: hue(hsl(-192%, 100%, 50%)); - c-191: hue(hsl(-191%, 100%, 50%)); - c-190: hue(hsl(-190%, 100%, 50%)); - c-189: hue(hsl(-189%, 100%, 50%)); - c-188: hue(hsl(-188%, 100%, 50%)); - c-187: hue(hsl(-187%, 100%, 50%)); - c-186: hue(hsl(-186%, 100%, 50%)); - c-185: hue(hsl(-185%, 100%, 50%)); - c-184: hue(hsl(-184%, 100%, 50%)); - c-183: hue(hsl(-183%, 100%, 50%)); - c-182: hue(hsl(-182%, 100%, 50%)); - c-181: hue(hsl(-181%, 100%, 50%)); - c-180: hue(hsl(-180%, 100%, 50%)); - c-179: hue(hsl(-179%, 100%, 50%)); - c-178: hue(hsl(-178%, 100%, 50%)); - c-177: hue(hsl(-177%, 100%, 50%)); - c-176: hue(hsl(-176%, 100%, 50%)); - c-175: hue(hsl(-175%, 100%, 50%)); - c-174: hue(hsl(-174%, 100%, 50%)); - c-173: hue(hsl(-173%, 100%, 50%)); - c-172: hue(hsl(-172%, 100%, 50%)); - c-171: hue(hsl(-171%, 100%, 50%)); - c-170: hue(hsl(-170%, 100%, 50%)); - c-169: hue(hsl(-169%, 100%, 50%)); - c-168: hue(hsl(-168%, 100%, 50%)); - c-167: hue(hsl(-167%, 100%, 50%)); - c-166: hue(hsl(-166%, 100%, 50%)); - c-165: hue(hsl(-165%, 100%, 50%)); - c-164: hue(hsl(-164%, 100%, 50%)); - c-163: hue(hsl(-163%, 100%, 50%)); - c-162: hue(hsl(-162%, 100%, 50%)); - c-161: hue(hsl(-161%, 100%, 50%)); - c-160: hue(hsl(-160%, 100%, 50%)); - c-159: hue(hsl(-159%, 100%, 50%)); - c-158: hue(hsl(-158%, 100%, 50%)); - c-157: hue(hsl(-157%, 100%, 50%)); - c-156: hue(hsl(-156%, 100%, 50%)); - c-155: hue(hsl(-155%, 100%, 50%)); - c-154: hue(hsl(-154%, 100%, 50%)); - c-153: hue(hsl(-153%, 100%, 50%)); - c-152: hue(hsl(-152%, 100%, 50%)); - c-151: hue(hsl(-151%, 100%, 50%)); - c-150: hue(hsl(-150%, 100%, 50%)); - c-149: hue(hsl(-149%, 100%, 50%)); - c-148: hue(hsl(-148%, 100%, 50%)); - c-147: hue(hsl(-147%, 100%, 50%)); - c-146: hue(hsl(-146%, 100%, 50%)); - c-145: hue(hsl(-145%, 100%, 50%)); - c-144: hue(hsl(-144%, 100%, 50%)); - c-143: hue(hsl(-143%, 100%, 50%)); - c-142: hue(hsl(-142%, 100%, 50%)); - c-141: hue(hsl(-141%, 100%, 50%)); - c-140: hue(hsl(-140%, 100%, 50%)); - c-139: hue(hsl(-139%, 100%, 50%)); - c-138: hue(hsl(-138%, 100%, 50%)); - c-137: hue(hsl(-137%, 100%, 50%)); - c-136: hue(hsl(-136%, 100%, 50%)); - c-135: hue(hsl(-135%, 100%, 50%)); - c-134: hue(hsl(-134%, 100%, 50%)); - c-133: hue(hsl(-133%, 100%, 50%)); - c-132: hue(hsl(-132%, 100%, 50%)); - c-131: hue(hsl(-131%, 100%, 50%)); - c-130: hue(hsl(-130%, 100%, 50%)); - c-129: hue(hsl(-129%, 100%, 50%)); - c-128: hue(hsl(-128%, 100%, 50%)); - c-127: hue(hsl(-127%, 100%, 50%)); - c-126: hue(hsl(-126%, 100%, 50%)); - c-125: hue(hsl(-125%, 100%, 50%)); - c-124: hue(hsl(-124%, 100%, 50%)); - c-123: hue(hsl(-123%, 100%, 50%)); - c-122: hue(hsl(-122%, 100%, 50%)); - c-121: hue(hsl(-121%, 100%, 50%)); - c-120: hue(hsl(-120%, 100%, 50%)); - c-119: hue(hsl(-119%, 100%, 50%)); - c-118: hue(hsl(-118%, 100%, 50%)); - c-117: hue(hsl(-117%, 100%, 50%)); - c-116: hue(hsl(-116%, 100%, 50%)); - c-115: hue(hsl(-115%, 100%, 50%)); - c-114: hue(hsl(-114%, 100%, 50%)); - c-113: hue(hsl(-113%, 100%, 50%)); - c-112: hue(hsl(-112%, 100%, 50%)); - c-111: hue(hsl(-111%, 100%, 50%)); - c-110: hue(hsl(-110%, 100%, 50%)); - c-109: hue(hsl(-109%, 100%, 50%)); - c-108: hue(hsl(-108%, 100%, 50%)); - c-107: hue(hsl(-107%, 100%, 50%)); - c-106: hue(hsl(-106%, 100%, 50%)); - c-105: hue(hsl(-105%, 100%, 50%)); - c-104: hue(hsl(-104%, 100%, 50%)); - c-103: hue(hsl(-103%, 100%, 50%)); - c-102: hue(hsl(-102%, 100%, 50%)); - c-101: hue(hsl(-101%, 100%, 50%)); - c-100: hue(hsl(-100%, 100%, 50%)); - c-99: hue(hsl(-99%, 100%, 50%)); - c-98: hue(hsl(-98%, 100%, 50%)); - c-97: hue(hsl(-97%, 100%, 50%)); - c-96: hue(hsl(-96%, 100%, 50%)); - c-95: hue(hsl(-95%, 100%, 50%)); - c-94: hue(hsl(-94%, 100%, 50%)); - c-93: hue(hsl(-93%, 100%, 50%)); - c-92: hue(hsl(-92%, 100%, 50%)); - c-91: hue(hsl(-91%, 100%, 50%)); - c-90: hue(hsl(-90%, 100%, 50%)); - c-89: hue(hsl(-89%, 100%, 50%)); - c-88: hue(hsl(-88%, 100%, 50%)); - c-87: hue(hsl(-87%, 100%, 50%)); - c-86: hue(hsl(-86%, 100%, 50%)); - c-85: hue(hsl(-85%, 100%, 50%)); - c-84: hue(hsl(-84%, 100%, 50%)); - c-83: hue(hsl(-83%, 100%, 50%)); - c-82: hue(hsl(-82%, 100%, 50%)); - c-81: hue(hsl(-81%, 100%, 50%)); - c-80: hue(hsl(-80%, 100%, 50%)); - c-79: hue(hsl(-79%, 100%, 50%)); - c-78: hue(hsl(-78%, 100%, 50%)); - c-77: hue(hsl(-77%, 100%, 50%)); - c-76: hue(hsl(-76%, 100%, 50%)); - c-75: hue(hsl(-75%, 100%, 50%)); - c-74: hue(hsl(-74%, 100%, 50%)); - c-73: hue(hsl(-73%, 100%, 50%)); - c-72: hue(hsl(-72%, 100%, 50%)); - c-71: hue(hsl(-71%, 100%, 50%)); - c-70: hue(hsl(-70%, 100%, 50%)); - c-69: hue(hsl(-69%, 100%, 50%)); - c-68: hue(hsl(-68%, 100%, 50%)); - c-67: hue(hsl(-67%, 100%, 50%)); - c-66: hue(hsl(-66%, 100%, 50%)); - c-65: hue(hsl(-65%, 100%, 50%)); - c-64: hue(hsl(-64%, 100%, 50%)); - c-63: hue(hsl(-63%, 100%, 50%)); - c-62: hue(hsl(-62%, 100%, 50%)); - c-61: hue(hsl(-61%, 100%, 50%)); - c-60: hue(hsl(-60%, 100%, 50%)); - c-59: hue(hsl(-59%, 100%, 50%)); - c-58: hue(hsl(-58%, 100%, 50%)); - c-57: hue(hsl(-57%, 100%, 50%)); - c-56: hue(hsl(-56%, 100%, 50%)); - c-55: hue(hsl(-55%, 100%, 50%)); - c-54: hue(hsl(-54%, 100%, 50%)); - c-53: hue(hsl(-53%, 100%, 50%)); - c-52: hue(hsl(-52%, 100%, 50%)); - c-51: hue(hsl(-51%, 100%, 50%)); - c-50: hue(hsl(-50%, 100%, 50%)); - c-49: hue(hsl(-49%, 100%, 50%)); - c-48: hue(hsl(-48%, 100%, 50%)); - c-47: hue(hsl(-47%, 100%, 50%)); - c-46: hue(hsl(-46%, 100%, 50%)); - c-45: hue(hsl(-45%, 100%, 50%)); - c-44: hue(hsl(-44%, 100%, 50%)); - c-43: hue(hsl(-43%, 100%, 50%)); - c-42: hue(hsl(-42%, 100%, 50%)); - c-41: hue(hsl(-41%, 100%, 50%)); - c-40: hue(hsl(-40%, 100%, 50%)); - c-39: hue(hsl(-39%, 100%, 50%)); - c-38: hue(hsl(-38%, 100%, 50%)); - c-37: hue(hsl(-37%, 100%, 50%)); - c-36: hue(hsl(-36%, 100%, 50%)); - c-35: hue(hsl(-35%, 100%, 50%)); - c-34: hue(hsl(-34%, 100%, 50%)); - c-33: hue(hsl(-33%, 100%, 50%)); - c-32: hue(hsl(-32%, 100%, 50%)); - c-31: hue(hsl(-31%, 100%, 50%)); - c-30: hue(hsl(-30%, 100%, 50%)); - c-29: hue(hsl(-29%, 100%, 50%)); - c-28: hue(hsl(-28%, 100%, 50%)); - c-27: hue(hsl(-27%, 100%, 50%)); - c-26: hue(hsl(-26%, 100%, 50%)); - c-25: hue(hsl(-25%, 100%, 50%)); - c-24: hue(hsl(-24%, 100%, 50%)); - c-23: hue(hsl(-23%, 100%, 50%)); - c-22: hue(hsl(-22%, 100%, 50%)); - c-21: hue(hsl(-21%, 100%, 50%)); - c-20: hue(hsl(-20%, 100%, 50%)); - c-19: hue(hsl(-19%, 100%, 50%)); - c-18: hue(hsl(-18%, 100%, 50%)); - c-17: hue(hsl(-17%, 100%, 50%)); - c-16: hue(hsl(-16%, 100%, 50%)); - c-15: hue(hsl(-15%, 100%, 50%)); - c-14: hue(hsl(-14%, 100%, 50%)); - c-13: hue(hsl(-13%, 100%, 50%)); - c-12: hue(hsl(-12%, 100%, 50%)); - c-11: hue(hsl(-11%, 100%, 50%)); - c-10: hue(hsl(-10%, 100%, 50%)); - c-9: hue(hsl(-9%, 100%, 50%)); - c-8: hue(hsl(-8%, 100%, 50%)); - c-7: hue(hsl(-7%, 100%, 50%)); - c-6: hue(hsl(-6%, 100%, 50%)); - c-5: hue(hsl(-5%, 100%, 50%)); - c-4: hue(hsl(-4%, 100%, 50%)); - c-3: hue(hsl(-3%, 100%, 50%)); - c-2: hue(hsl(-2%, 100%, 50%)); - c-1: hue(hsl(-1%, 100%, 50%)); - c0: hue(hsl(0%, 100%, 50%)); - c1: hue(hsl(1%, 100%, 50%)); - c2: hue(hsl(2%, 100%, 50%)); - c3: hue(hsl(3%, 100%, 50%)); - c4: hue(hsl(4%, 100%, 50%)); - c5: hue(hsl(5%, 100%, 50%)); - c6: hue(hsl(6%, 100%, 50%)); - c7: hue(hsl(7%, 100%, 50%)); - c8: hue(hsl(8%, 100%, 50%)); - c9: hue(hsl(9%, 100%, 50%)); - c10: hue(hsl(10%, 100%, 50%)); - c11: hue(hsl(11%, 100%, 50%)); - c12: hue(hsl(12%, 100%, 50%)); - c13: hue(hsl(13%, 100%, 50%)); - c14: hue(hsl(14%, 100%, 50%)); - c15: hue(hsl(15%, 100%, 50%)); - c16: hue(hsl(16%, 100%, 50%)); - c17: hue(hsl(17%, 100%, 50%)); - c18: hue(hsl(18%, 100%, 50%)); - c19: hue(hsl(19%, 100%, 50%)); - c20: hue(hsl(20%, 100%, 50%)); - c21: hue(hsl(21%, 100%, 50%)); - c22: hue(hsl(22%, 100%, 50%)); - c23: hue(hsl(23%, 100%, 50%)); - c24: hue(hsl(24%, 100%, 50%)); - c25: hue(hsl(25%, 100%, 50%)); - c26: hue(hsl(26%, 100%, 50%)); - c27: hue(hsl(27%, 100%, 50%)); - c28: hue(hsl(28%, 100%, 50%)); - c29: hue(hsl(29%, 100%, 50%)); - c30: hue(hsl(30%, 100%, 50%)); - c31: hue(hsl(31%, 100%, 50%)); - c32: hue(hsl(32%, 100%, 50%)); - c33: hue(hsl(33%, 100%, 50%)); - c34: hue(hsl(34%, 100%, 50%)); - c35: hue(hsl(35%, 100%, 50%)); - c36: hue(hsl(36%, 100%, 50%)); - c37: hue(hsl(37%, 100%, 50%)); - c38: hue(hsl(38%, 100%, 50%)); - c39: hue(hsl(39%, 100%, 50%)); - c40: hue(hsl(40%, 100%, 50%)); - c41: hue(hsl(41%, 100%, 50%)); - c42: hue(hsl(42%, 100%, 50%)); - c43: hue(hsl(43%, 100%, 50%)); - c44: hue(hsl(44%, 100%, 50%)); - c45: hue(hsl(45%, 100%, 50%)); - c46: hue(hsl(46%, 100%, 50%)); - c47: hue(hsl(47%, 100%, 50%)); - c48: hue(hsl(48%, 100%, 50%)); - c49: hue(hsl(49%, 100%, 50%)); - c50: hue(hsl(50%, 100%, 50%)); - c51: hue(hsl(51%, 100%, 50%)); - c52: hue(hsl(52%, 100%, 50%)); - c53: hue(hsl(53%, 100%, 50%)); - c54: hue(hsl(54%, 100%, 50%)); - c55: hue(hsl(55%, 100%, 50%)); - c56: hue(hsl(56%, 100%, 50%)); - c57: hue(hsl(57%, 100%, 50%)); - c58: hue(hsl(58%, 100%, 50%)); - c59: hue(hsl(59%, 100%, 50%)); - c60: hue(hsl(60%, 100%, 50%)); - c61: hue(hsl(61%, 100%, 50%)); - c62: hue(hsl(62%, 100%, 50%)); - c63: hue(hsl(63%, 100%, 50%)); - c64: hue(hsl(64%, 100%, 50%)); - c65: hue(hsl(65%, 100%, 50%)); - c66: hue(hsl(66%, 100%, 50%)); - c67: hue(hsl(67%, 100%, 50%)); - c68: hue(hsl(68%, 100%, 50%)); - c69: hue(hsl(69%, 100%, 50%)); - c70: hue(hsl(70%, 100%, 50%)); - c71: hue(hsl(71%, 100%, 50%)); - c72: hue(hsl(72%, 100%, 50%)); - c73: hue(hsl(73%, 100%, 50%)); - c74: hue(hsl(74%, 100%, 50%)); - c75: hue(hsl(75%, 100%, 50%)); - c76: hue(hsl(76%, 100%, 50%)); - c77: hue(hsl(77%, 100%, 50%)); - c78: hue(hsl(78%, 100%, 50%)); - c79: hue(hsl(79%, 100%, 50%)); - c80: hue(hsl(80%, 100%, 50%)); - c81: hue(hsl(81%, 100%, 50%)); - c82: hue(hsl(82%, 100%, 50%)); - c83: hue(hsl(83%, 100%, 50%)); - c84: hue(hsl(84%, 100%, 50%)); - c85: hue(hsl(85%, 100%, 50%)); - c86: hue(hsl(86%, 100%, 50%)); - c87: hue(hsl(87%, 100%, 50%)); - c88: hue(hsl(88%, 100%, 50%)); - c89: hue(hsl(89%, 100%, 50%)); - c90: hue(hsl(90%, 100%, 50%)); - c91: hue(hsl(91%, 100%, 50%)); - c92: hue(hsl(92%, 100%, 50%)); - c93: hue(hsl(93%, 100%, 50%)); - c94: hue(hsl(94%, 100%, 50%)); - c95: hue(hsl(95%, 100%, 50%)); - c96: hue(hsl(96%, 100%, 50%)); - c97: hue(hsl(97%, 100%, 50%)); - c98: hue(hsl(98%, 100%, 50%)); - c99: hue(hsl(99%, 100%, 50%)); - c100: hue(hsl(100%, 100%, 50%)); - c101: hue(hsl(101%, 100%, 50%)); - c102: hue(hsl(102%, 100%, 50%)); - c103: hue(hsl(103%, 100%, 50%)); - c104: hue(hsl(104%, 100%, 50%)); - c105: hue(hsl(105%, 100%, 50%)); - c106: hue(hsl(106%, 100%, 50%)); - c107: hue(hsl(107%, 100%, 50%)); - c108: hue(hsl(108%, 100%, 50%)); - c109: hue(hsl(109%, 100%, 50%)); - c110: hue(hsl(110%, 100%, 50%)); - c111: hue(hsl(111%, 100%, 50%)); - c112: hue(hsl(112%, 100%, 50%)); - c113: hue(hsl(113%, 100%, 50%)); - c114: hue(hsl(114%, 100%, 50%)); - c115: hue(hsl(115%, 100%, 50%)); - c116: hue(hsl(116%, 100%, 50%)); - c117: hue(hsl(117%, 100%, 50%)); - c118: hue(hsl(118%, 100%, 50%)); - c119: hue(hsl(119%, 100%, 50%)); - c120: hue(hsl(120%, 100%, 50%)); - c121: hue(hsl(121%, 100%, 50%)); - c122: hue(hsl(122%, 100%, 50%)); - c123: hue(hsl(123%, 100%, 50%)); - c124: hue(hsl(124%, 100%, 50%)); - c125: hue(hsl(125%, 100%, 50%)); - c126: hue(hsl(126%, 100%, 50%)); - c127: hue(hsl(127%, 100%, 50%)); - c128: hue(hsl(128%, 100%, 50%)); - c129: hue(hsl(129%, 100%, 50%)); - c130: hue(hsl(130%, 100%, 50%)); - c131: hue(hsl(131%, 100%, 50%)); - c132: hue(hsl(132%, 100%, 50%)); - c133: hue(hsl(133%, 100%, 50%)); - c134: hue(hsl(134%, 100%, 50%)); - c135: hue(hsl(135%, 100%, 50%)); - c136: hue(hsl(136%, 100%, 50%)); - c137: hue(hsl(137%, 100%, 50%)); - c138: hue(hsl(138%, 100%, 50%)); - c139: hue(hsl(139%, 100%, 50%)); - c140: hue(hsl(140%, 100%, 50%)); - c141: hue(hsl(141%, 100%, 50%)); - c142: hue(hsl(142%, 100%, 50%)); - c143: hue(hsl(143%, 100%, 50%)); - c144: hue(hsl(144%, 100%, 50%)); - c145: hue(hsl(145%, 100%, 50%)); - c146: hue(hsl(146%, 100%, 50%)); - c147: hue(hsl(147%, 100%, 50%)); - c148: hue(hsl(148%, 100%, 50%)); - c149: hue(hsl(149%, 100%, 50%)); - c150: hue(hsl(150%, 100%, 50%)); - c151: hue(hsl(151%, 100%, 50%)); - c152: hue(hsl(152%, 100%, 50%)); - c153: hue(hsl(153%, 100%, 50%)); - c154: hue(hsl(154%, 100%, 50%)); - c155: hue(hsl(155%, 100%, 50%)); - c156: hue(hsl(156%, 100%, 50%)); - c157: hue(hsl(157%, 100%, 50%)); - c158: hue(hsl(158%, 100%, 50%)); - c159: hue(hsl(159%, 100%, 50%)); - c160: hue(hsl(160%, 100%, 50%)); - c161: hue(hsl(161%, 100%, 50%)); - c162: hue(hsl(162%, 100%, 50%)); - c163: hue(hsl(163%, 100%, 50%)); - c164: hue(hsl(164%, 100%, 50%)); - c165: hue(hsl(165%, 100%, 50%)); - c166: hue(hsl(166%, 100%, 50%)); - c167: hue(hsl(167%, 100%, 50%)); - c168: hue(hsl(168%, 100%, 50%)); - c169: hue(hsl(169%, 100%, 50%)); - c170: hue(hsl(170%, 100%, 50%)); - c171: hue(hsl(171%, 100%, 50%)); - c172: hue(hsl(172%, 100%, 50%)); - c173: hue(hsl(173%, 100%, 50%)); - c174: hue(hsl(174%, 100%, 50%)); - c175: hue(hsl(175%, 100%, 50%)); - c176: hue(hsl(176%, 100%, 50%)); - c177: hue(hsl(177%, 100%, 50%)); - c178: hue(hsl(178%, 100%, 50%)); - c179: hue(hsl(179%, 100%, 50%)); - c180: hue(hsl(180%, 100%, 50%)); - c181: hue(hsl(181%, 100%, 50%)); - c182: hue(hsl(182%, 100%, 50%)); - c183: hue(hsl(183%, 100%, 50%)); - c184: hue(hsl(184%, 100%, 50%)); - c185: hue(hsl(185%, 100%, 50%)); - c186: hue(hsl(186%, 100%, 50%)); - c187: hue(hsl(187%, 100%, 50%)); - c188: hue(hsl(188%, 100%, 50%)); - c189: hue(hsl(189%, 100%, 50%)); - c190: hue(hsl(190%, 100%, 50%)); - c191: hue(hsl(191%, 100%, 50%)); - c192: hue(hsl(192%, 100%, 50%)); - c193: hue(hsl(193%, 100%, 50%)); - c194: hue(hsl(194%, 100%, 50%)); - c195: hue(hsl(195%, 100%, 50%)); - c196: hue(hsl(196%, 100%, 50%)); - c197: hue(hsl(197%, 100%, 50%)); - c198: hue(hsl(198%, 100%, 50%)); - c199: hue(hsl(199%, 100%, 50%)); - c200: hue(hsl(200%, 100%, 50%)); - c201: hue(hsl(201%, 100%, 50%)); - c202: hue(hsl(202%, 100%, 50%)); - c203: hue(hsl(203%, 100%, 50%)); - c204: hue(hsl(204%, 100%, 50%)); - c205: hue(hsl(205%, 100%, 50%)); - c206: hue(hsl(206%, 100%, 50%)); - c207: hue(hsl(207%, 100%, 50%)); - c208: hue(hsl(208%, 100%, 50%)); - c209: hue(hsl(209%, 100%, 50%)); - c210: hue(hsl(210%, 100%, 50%)); - c211: hue(hsl(211%, 100%, 50%)); - c212: hue(hsl(212%, 100%, 50%)); - c213: hue(hsl(213%, 100%, 50%)); - c214: hue(hsl(214%, 100%, 50%)); - c215: hue(hsl(215%, 100%, 50%)); - c216: hue(hsl(216%, 100%, 50%)); - c217: hue(hsl(217%, 100%, 50%)); - c218: hue(hsl(218%, 100%, 50%)); - c219: hue(hsl(219%, 100%, 50%)); - c220: hue(hsl(220%, 100%, 50%)); - c221: hue(hsl(221%, 100%, 50%)); - c222: hue(hsl(222%, 100%, 50%)); - c223: hue(hsl(223%, 100%, 50%)); - c224: hue(hsl(224%, 100%, 50%)); - c225: hue(hsl(225%, 100%, 50%)); - c226: hue(hsl(226%, 100%, 50%)); - c227: hue(hsl(227%, 100%, 50%)); - c228: hue(hsl(228%, 100%, 50%)); - c229: hue(hsl(229%, 100%, 50%)); - c230: hue(hsl(230%, 100%, 50%)); - c231: hue(hsl(231%, 100%, 50%)); - c232: hue(hsl(232%, 100%, 50%)); - c233: hue(hsl(233%, 100%, 50%)); - c234: hue(hsl(234%, 100%, 50%)); - c235: hue(hsl(235%, 100%, 50%)); - c236: hue(hsl(236%, 100%, 50%)); - c237: hue(hsl(237%, 100%, 50%)); - c238: hue(hsl(238%, 100%, 50%)); - c239: hue(hsl(239%, 100%, 50%)); - c240: hue(hsl(240%, 100%, 50%)); - c241: hue(hsl(241%, 100%, 50%)); - c242: hue(hsl(242%, 100%, 50%)); - c243: hue(hsl(243%, 100%, 50%)); - c244: hue(hsl(244%, 100%, 50%)); - c245: hue(hsl(245%, 100%, 50%)); - c246: hue(hsl(246%, 100%, 50%)); - c247: hue(hsl(247%, 100%, 50%)); - c248: hue(hsl(248%, 100%, 50%)); - c249: hue(hsl(249%, 100%, 50%)); - c250: hue(hsl(250%, 100%, 50%)); - c251: hue(hsl(251%, 100%, 50%)); - c252: hue(hsl(252%, 100%, 50%)); - c253: hue(hsl(253%, 100%, 50%)); - c254: hue(hsl(254%, 100%, 50%)); - c255: hue(hsl(255%, 100%, 50%)); - c256: hue(hsl(256%, 100%, 50%)); - c257: hue(hsl(257%, 100%, 50%)); - c258: hue(hsl(258%, 100%, 50%)); - c259: hue(hsl(259%, 100%, 50%)); - c260: hue(hsl(260%, 100%, 50%)); - c261: hue(hsl(261%, 100%, 50%)); - c262: hue(hsl(262%, 100%, 50%)); - c263: hue(hsl(263%, 100%, 50%)); - c264: hue(hsl(264%, 100%, 50%)); - c265: hue(hsl(265%, 100%, 50%)); - c266: hue(hsl(266%, 100%, 50%)); - c267: hue(hsl(267%, 100%, 50%)); - c268: hue(hsl(268%, 100%, 50%)); - c269: hue(hsl(269%, 100%, 50%)); - c270: hue(hsl(270%, 100%, 50%)); - c271: hue(hsl(271%, 100%, 50%)); - c272: hue(hsl(272%, 100%, 50%)); - c273: hue(hsl(273%, 100%, 50%)); - c274: hue(hsl(274%, 100%, 50%)); - c275: hue(hsl(275%, 100%, 50%)); - c276: hue(hsl(276%, 100%, 50%)); - c277: hue(hsl(277%, 100%, 50%)); - c278: hue(hsl(278%, 100%, 50%)); - c279: hue(hsl(279%, 100%, 50%)); - c280: hue(hsl(280%, 100%, 50%)); - c281: hue(hsl(281%, 100%, 50%)); - c282: hue(hsl(282%, 100%, 50%)); - c283: hue(hsl(283%, 100%, 50%)); - c284: hue(hsl(284%, 100%, 50%)); - c285: hue(hsl(285%, 100%, 50%)); - c286: hue(hsl(286%, 100%, 50%)); - c287: hue(hsl(287%, 100%, 50%)); - c288: hue(hsl(288%, 100%, 50%)); - c289: hue(hsl(289%, 100%, 50%)); - c290: hue(hsl(290%, 100%, 50%)); - c291: hue(hsl(291%, 100%, 50%)); - c292: hue(hsl(292%, 100%, 50%)); - c293: hue(hsl(293%, 100%, 50%)); - c294: hue(hsl(294%, 100%, 50%)); - c295: hue(hsl(295%, 100%, 50%)); - c296: hue(hsl(296%, 100%, 50%)); - c297: hue(hsl(297%, 100%, 50%)); - c298: hue(hsl(298%, 100%, 50%)); - c299: hue(hsl(299%, 100%, 50%)); - c300: hue(hsl(300%, 100%, 50%)); - c301: hue(hsl(301%, 100%, 50%)); - c302: hue(hsl(302%, 100%, 50%)); - c303: hue(hsl(303%, 100%, 50%)); - c304: hue(hsl(304%, 100%, 50%)); - c305: hue(hsl(305%, 100%, 50%)); - c306: hue(hsl(306%, 100%, 50%)); - c307: hue(hsl(307%, 100%, 50%)); - c308: hue(hsl(308%, 100%, 50%)); - c309: hue(hsl(309%, 100%, 50%)); - c310: hue(hsl(310%, 100%, 50%)); - c311: hue(hsl(311%, 100%, 50%)); - c312: hue(hsl(312%, 100%, 50%)); - c313: hue(hsl(313%, 100%, 50%)); - c314: hue(hsl(314%, 100%, 50%)); - c315: hue(hsl(315%, 100%, 50%)); - c316: hue(hsl(316%, 100%, 50%)); - c317: hue(hsl(317%, 100%, 50%)); - c318: hue(hsl(318%, 100%, 50%)); - c319: hue(hsl(319%, 100%, 50%)); - c320: hue(hsl(320%, 100%, 50%)); - c321: hue(hsl(321%, 100%, 50%)); - c322: hue(hsl(322%, 100%, 50%)); - c323: hue(hsl(323%, 100%, 50%)); - c324: hue(hsl(324%, 100%, 50%)); - c325: hue(hsl(325%, 100%, 50%)); - c326: hue(hsl(326%, 100%, 50%)); - c327: hue(hsl(327%, 100%, 50%)); - c328: hue(hsl(328%, 100%, 50%)); - c329: hue(hsl(329%, 100%, 50%)); - c330: hue(hsl(330%, 100%, 50%)); - c331: hue(hsl(331%, 100%, 50%)); - c332: hue(hsl(332%, 100%, 50%)); - c333: hue(hsl(333%, 100%, 50%)); - c334: hue(hsl(334%, 100%, 50%)); - c335: hue(hsl(335%, 100%, 50%)); - c336: hue(hsl(336%, 100%, 50%)); - c337: hue(hsl(337%, 100%, 50%)); - c338: hue(hsl(338%, 100%, 50%)); - c339: hue(hsl(339%, 100%, 50%)); - c340: hue(hsl(340%, 100%, 50%)); - c341: hue(hsl(341%, 100%, 50%)); - c342: hue(hsl(342%, 100%, 50%)); - c343: hue(hsl(343%, 100%, 50%)); - c344: hue(hsl(344%, 100%, 50%)); - c345: hue(hsl(345%, 100%, 50%)); - c346: hue(hsl(346%, 100%, 50%)); - c347: hue(hsl(347%, 100%, 50%)); - c348: hue(hsl(348%, 100%, 50%)); - c349: hue(hsl(349%, 100%, 50%)); - c350: hue(hsl(350%, 100%, 50%)); - c351: hue(hsl(351%, 100%, 50%)); - c352: hue(hsl(352%, 100%, 50%)); - c353: hue(hsl(353%, 100%, 50%)); - c354: hue(hsl(354%, 100%, 50%)); - c355: hue(hsl(355%, 100%, 50%)); - c356: hue(hsl(356%, 100%, 50%)); - c357: hue(hsl(357%, 100%, 50%)); - c358: hue(hsl(358%, 100%, 50%)); - c359: hue(hsl(359%, 100%, 50%)); - c360: hue(hsl(360%, 100%, 50%)); - c361: hue(hsl(361%, 100%, 50%)); -} - -<===> output.css -foo { - c-361: 359deg; - c-360: 0deg; - c-359: 1deg; - c-358: 2deg; - c-357: 3deg; - c-356: 4deg; - c-355: 5deg; - c-354: 6deg; - c-353: 7deg; - c-352: 8deg; - c-351: 9deg; - c-350: 10deg; - c-349: 11deg; - c-348: 12deg; - c-347: 13deg; - c-346: 14deg; - c-345: 15deg; - c-344: 16deg; - c-343: 17deg; - c-342: 18deg; - c-341: 19deg; - c-340: 20deg; - c-339: 21deg; - c-338: 22deg; - c-337: 23deg; - c-336: 24deg; - c-335: 25deg; - c-334: 26deg; - c-333: 27deg; - c-332: 28deg; - c-331: 29deg; - c-330: 30deg; - c-329: 31deg; - c-328: 32deg; - c-327: 33deg; - c-326: 34deg; - c-325: 35deg; - c-324: 36deg; - c-323: 37deg; - c-322: 38deg; - c-321: 39deg; - c-320: 40deg; - c-319: 41deg; - c-318: 42deg; - c-317: 43deg; - c-316: 44deg; - c-315: 45deg; - c-314: 46deg; - c-313: 47deg; - c-312: 48deg; - c-311: 49deg; - c-310: 50deg; - c-309: 51deg; - c-308: 52deg; - c-307: 53deg; - c-306: 54deg; - c-305: 55deg; - c-304: 56deg; - c-303: 57deg; - c-302: 58deg; - c-301: 59deg; - c-300: 60deg; - c-299: 61deg; - c-298: 62deg; - c-297: 63deg; - c-296: 64deg; - c-295: 65deg; - c-294: 66deg; - c-293: 67deg; - c-292: 68deg; - c-291: 69deg; - c-290: 70deg; - c-289: 71deg; - c-288: 72deg; - c-287: 73deg; - c-286: 74deg; - c-285: 75deg; - c-284: 76deg; - c-283: 77deg; - c-282: 78deg; - c-281: 79deg; - c-280: 80deg; - c-279: 81deg; - c-278: 82deg; - c-277: 83deg; - c-276: 84deg; - c-275: 85deg; - c-274: 86deg; - c-273: 87deg; - c-272: 88deg; - c-271: 89deg; - c-270: 90deg; - c-269: 91deg; - c-268: 92deg; - c-267: 93deg; - c-266: 94deg; - c-265: 95deg; - c-264: 96deg; - c-263: 97deg; - c-262: 98deg; - c-261: 99deg; - c-260: 100deg; - c-259: 101deg; - c-258: 102deg; - c-257: 103deg; - c-256: 104deg; - c-255: 105deg; - c-254: 106deg; - c-253: 107deg; - c-252: 108deg; - c-251: 109deg; - c-250: 110deg; - c-249: 111deg; - c-248: 112deg; - c-247: 113deg; - c-246: 114deg; - c-245: 115deg; - c-244: 116deg; - c-243: 117deg; - c-242: 118deg; - c-241: 119deg; - c-240: 120deg; - c-239: 121deg; - c-238: 122deg; - c-237: 123deg; - c-236: 124deg; - c-235: 125deg; - c-234: 126deg; - c-233: 127deg; - c-232: 128deg; - c-231: 129deg; - c-230: 130deg; - c-229: 131deg; - c-228: 132deg; - c-227: 133deg; - c-226: 134deg; - c-225: 135deg; - c-224: 136deg; - c-223: 137deg; - c-222: 138deg; - c-221: 139deg; - c-220: 140deg; - c-219: 141deg; - c-218: 142deg; - c-217: 143deg; - c-216: 144deg; - c-215: 145deg; - c-214: 146deg; - c-213: 147deg; - c-212: 148deg; - c-211: 149deg; - c-210: 150deg; - c-209: 151deg; - c-208: 152deg; - c-207: 153deg; - c-206: 154deg; - c-205: 155deg; - c-204: 156deg; - c-203: 157deg; - c-202: 158deg; - c-201: 159deg; - c-200: 160deg; - c-199: 161deg; - c-198: 162deg; - c-197: 163deg; - c-196: 164deg; - c-195: 165deg; - c-194: 166deg; - c-193: 167deg; - c-192: 168deg; - c-191: 169deg; - c-190: 170deg; - c-189: 171deg; - c-188: 172deg; - c-187: 173deg; - c-186: 174deg; - c-185: 175deg; - c-184: 176deg; - c-183: 177deg; - c-182: 178deg; - c-181: 179deg; - c-180: 180deg; - c-179: 181deg; - c-178: 182deg; - c-177: 183deg; - c-176: 184deg; - c-175: 185deg; - c-174: 186deg; - c-173: 187deg; - c-172: 188deg; - c-171: 189deg; - c-170: 190deg; - c-169: 191deg; - c-168: 192deg; - c-167: 193deg; - c-166: 194deg; - c-165: 195deg; - c-164: 196deg; - c-163: 197deg; - c-162: 198deg; - c-161: 199deg; - c-160: 200deg; - c-159: 201deg; - c-158: 202deg; - c-157: 203deg; - c-156: 204deg; - c-155: 205deg; - c-154: 206deg; - c-153: 207deg; - c-152: 208deg; - c-151: 209deg; - c-150: 210deg; - c-149: 211deg; - c-148: 212deg; - c-147: 213deg; - c-146: 214deg; - c-145: 215deg; - c-144: 216deg; - c-143: 217deg; - c-142: 218deg; - c-141: 219deg; - c-140: 220deg; - c-139: 221deg; - c-138: 222deg; - c-137: 223deg; - c-136: 224deg; - c-135: 225deg; - c-134: 226deg; - c-133: 227deg; - c-132: 228deg; - c-131: 229deg; - c-130: 230deg; - c-129: 231deg; - c-128: 232deg; - c-127: 233deg; - c-126: 234deg; - c-125: 235deg; - c-124: 236deg; - c-123: 237deg; - c-122: 238deg; - c-121: 239deg; - c-120: 240deg; - c-119: 241deg; - c-118: 242deg; - c-117: 243deg; - c-116: 244deg; - c-115: 245deg; - c-114: 246deg; - c-113: 247deg; - c-112: 248deg; - c-111: 249deg; - c-110: 250deg; - c-109: 251deg; - c-108: 252deg; - c-107: 253deg; - c-106: 254deg; - c-105: 255deg; - c-104: 256deg; - c-103: 257deg; - c-102: 258deg; - c-101: 259deg; - c-100: 260deg; - c-99: 261deg; - c-98: 262deg; - c-97: 263deg; - c-96: 264deg; - c-95: 265deg; - c-94: 266deg; - c-93: 267deg; - c-92: 268deg; - c-91: 269deg; - c-90: 270deg; - c-89: 271deg; - c-88: 272deg; - c-87: 273deg; - c-86: 274deg; - c-85: 275deg; - c-84: 276deg; - c-83: 277deg; - c-82: 278deg; - c-81: 279deg; - c-80: 280deg; - c-79: 281deg; - c-78: 282deg; - c-77: 283deg; - c-76: 284deg; - c-75: 285deg; - c-74: 286deg; - c-73: 287deg; - c-72: 288deg; - c-71: 289deg; - c-70: 290deg; - c-69: 291deg; - c-68: 292deg; - c-67: 293deg; - c-66: 294deg; - c-65: 295deg; - c-64: 296deg; - c-63: 297deg; - c-62: 298deg; - c-61: 299deg; - c-60: 300deg; - c-59: 301deg; - c-58: 302deg; - c-57: 303deg; - c-56: 304deg; - c-55: 305deg; - c-54: 306deg; - c-53: 307deg; - c-52: 308deg; - c-51: 309deg; - c-50: 310deg; - c-49: 311deg; - c-48: 312deg; - c-47: 313deg; - c-46: 314deg; - c-45: 315deg; - c-44: 316deg; - c-43: 317deg; - c-42: 318deg; - c-41: 319deg; - c-40: 320deg; - c-39: 321deg; - c-38: 322deg; - c-37: 323deg; - c-36: 324deg; - c-35: 325deg; - c-34: 326deg; - c-33: 327deg; - c-32: 328deg; - c-31: 329deg; - c-30: 330deg; - c-29: 331deg; - c-28: 332deg; - c-27: 333deg; - c-26: 334deg; - c-25: 335deg; - c-24: 336deg; - c-23: 337deg; - c-22: 338deg; - c-21: 339deg; - c-20: 340deg; - c-19: 341deg; - c-18: 342deg; - c-17: 343deg; - c-16: 344deg; - c-15: 345deg; - c-14: 346deg; - c-13: 347deg; - c-12: 348deg; - c-11: 349deg; - c-10: 350deg; - c-9: 351deg; - c-8: 352deg; - c-7: 353deg; - c-6: 354deg; - c-5: 355deg; - c-4: 356deg; - c-3: 357deg; - c-2: 358deg; - c-1: 359deg; - c0: 0deg; - c1: 1deg; - c2: 2deg; - c3: 3deg; - c4: 4deg; - c5: 5deg; - c6: 6deg; - c7: 7deg; - c8: 8deg; - c9: 9deg; - c10: 10deg; - c11: 11deg; - c12: 12deg; - c13: 13deg; - c14: 14deg; - c15: 15deg; - c16: 16deg; - c17: 17deg; - c18: 18deg; - c19: 19deg; - c20: 20deg; - c21: 21deg; - c22: 22deg; - c23: 23deg; - c24: 24deg; - c25: 25deg; - c26: 26deg; - c27: 27deg; - c28: 28deg; - c29: 29deg; - c30: 30deg; - c31: 31deg; - c32: 32deg; - c33: 33deg; - c34: 34deg; - c35: 35deg; - c36: 36deg; - c37: 37deg; - c38: 38deg; - c39: 39deg; - c40: 40deg; - c41: 41deg; - c42: 42deg; - c43: 43deg; - c44: 44deg; - c45: 45deg; - c46: 46deg; - c47: 47deg; - c48: 48deg; - c49: 49deg; - c50: 50deg; - c51: 51deg; - c52: 52deg; - c53: 53deg; - c54: 54deg; - c55: 55deg; - c56: 56deg; - c57: 57deg; - c58: 58deg; - c59: 59deg; - c60: 60deg; - c61: 61deg; - c62: 62deg; - c63: 63deg; - c64: 64deg; - c65: 65deg; - c66: 66deg; - c67: 67deg; - c68: 68deg; - c69: 69deg; - c70: 70deg; - c71: 71deg; - c72: 72deg; - c73: 73deg; - c74: 74deg; - c75: 75deg; - c76: 76deg; - c77: 77deg; - c78: 78deg; - c79: 79deg; - c80: 80deg; - c81: 81deg; - c82: 82deg; - c83: 83deg; - c84: 84deg; - c85: 85deg; - c86: 86deg; - c87: 87deg; - c88: 88deg; - c89: 89deg; - c90: 90deg; - c91: 91deg; - c92: 92deg; - c93: 93deg; - c94: 94deg; - c95: 95deg; - c96: 96deg; - c97: 97deg; - c98: 98deg; - c99: 99deg; - c100: 100deg; - c101: 101deg; - c102: 102deg; - c103: 103deg; - c104: 104deg; - c105: 105deg; - c106: 106deg; - c107: 107deg; - c108: 108deg; - c109: 109deg; - c110: 110deg; - c111: 111deg; - c112: 112deg; - c113: 113deg; - c114: 114deg; - c115: 115deg; - c116: 116deg; - c117: 117deg; - c118: 118deg; - c119: 119deg; - c120: 120deg; - c121: 121deg; - c122: 122deg; - c123: 123deg; - c124: 124deg; - c125: 125deg; - c126: 126deg; - c127: 127deg; - c128: 128deg; - c129: 129deg; - c130: 130deg; - c131: 131deg; - c132: 132deg; - c133: 133deg; - c134: 134deg; - c135: 135deg; - c136: 136deg; - c137: 137deg; - c138: 138deg; - c139: 139deg; - c140: 140deg; - c141: 141deg; - c142: 142deg; - c143: 143deg; - c144: 144deg; - c145: 145deg; - c146: 146deg; - c147: 147deg; - c148: 148deg; - c149: 149deg; - c150: 150deg; - c151: 151deg; - c152: 152deg; - c153: 153deg; - c154: 154deg; - c155: 155deg; - c156: 156deg; - c157: 157deg; - c158: 158deg; - c159: 159deg; - c160: 160deg; - c161: 161deg; - c162: 162deg; - c163: 163deg; - c164: 164deg; - c165: 165deg; - c166: 166deg; - c167: 167deg; - c168: 168deg; - c169: 169deg; - c170: 170deg; - c171: 171deg; - c172: 172deg; - c173: 173deg; - c174: 174deg; - c175: 175deg; - c176: 176deg; - c177: 177deg; - c178: 178deg; - c179: 179deg; - c180: 180deg; - c181: 181deg; - c182: 182deg; - c183: 183deg; - c184: 184deg; - c185: 185deg; - c186: 186deg; - c187: 187deg; - c188: 188deg; - c189: 189deg; - c190: 190deg; - c191: 191deg; - c192: 192deg; - c193: 193deg; - c194: 194deg; - c195: 195deg; - c196: 196deg; - c197: 197deg; - c198: 198deg; - c199: 199deg; - c200: 200deg; - c201: 201deg; - c202: 202deg; - c203: 203deg; - c204: 204deg; - c205: 205deg; - c206: 206deg; - c207: 207deg; - c208: 208deg; - c209: 209deg; - c210: 210deg; - c211: 211deg; - c212: 212deg; - c213: 213deg; - c214: 214deg; - c215: 215deg; - c216: 216deg; - c217: 217deg; - c218: 218deg; - c219: 219deg; - c220: 220deg; - c221: 221deg; - c222: 222deg; - c223: 223deg; - c224: 224deg; - c225: 225deg; - c226: 226deg; - c227: 227deg; - c228: 228deg; - c229: 229deg; - c230: 230deg; - c231: 231deg; - c232: 232deg; - c233: 233deg; - c234: 234deg; - c235: 235deg; - c236: 236deg; - c237: 237deg; - c238: 238deg; - c239: 239deg; - c240: 240deg; - c241: 241deg; - c242: 242deg; - c243: 243deg; - c244: 244deg; - c245: 245deg; - c246: 246deg; - c247: 247deg; - c248: 248deg; - c249: 249deg; - c250: 250deg; - c251: 251deg; - c252: 252deg; - c253: 253deg; - c254: 254deg; - c255: 255deg; - c256: 256deg; - c257: 257deg; - c258: 258deg; - c259: 259deg; - c260: 260deg; - c261: 261deg; - c262: 262deg; - c263: 263deg; - c264: 264deg; - c265: 265deg; - c266: 266deg; - c267: 267deg; - c268: 268deg; - c269: 269deg; - c270: 270deg; - c271: 271deg; - c272: 272deg; - c273: 273deg; - c274: 274deg; - c275: 275deg; - c276: 276deg; - c277: 277deg; - c278: 278deg; - c279: 279deg; - c280: 280deg; - c281: 281deg; - c282: 282deg; - c283: 283deg; - c284: 284deg; - c285: 285deg; - c286: 286deg; - c287: 287deg; - c288: 288deg; - c289: 289deg; - c290: 290deg; - c291: 291deg; - c292: 292deg; - c293: 293deg; - c294: 294deg; - c295: 295deg; - c296: 296deg; - c297: 297deg; - c298: 298deg; - c299: 299deg; - c300: 300deg; - c301: 301deg; - c302: 302deg; - c303: 303deg; - c304: 304deg; - c305: 305deg; - c306: 306deg; - c307: 307deg; - c308: 308deg; - c309: 309deg; - c310: 310deg; - c311: 311deg; - c312: 312deg; - c313: 313deg; - c314: 314deg; - c315: 315deg; - c316: 316deg; - c317: 317deg; - c318: 318deg; - c319: 319deg; - c320: 320deg; - c321: 321deg; - c322: 322deg; - c323: 323deg; - c324: 324deg; - c325: 325deg; - c326: 326deg; - c327: 327deg; - c328: 328deg; - c329: 329deg; - c330: 330deg; - c331: 331deg; - c332: 332deg; - c333: 333deg; - c334: 334deg; - c335: 335deg; - c336: 336deg; - c337: 337deg; - c338: 338deg; - c339: 339deg; - c340: 340deg; - c341: 341deg; - c342: 342deg; - c343: 343deg; - c344: 344deg; - c345: 345deg; - c346: 346deg; - c347: 347deg; - c348: 348deg; - c349: 349deg; - c350: 350deg; - c351: 351deg; - c352: 352deg; - c353: 353deg; - c354: 354deg; - c355: 355deg; - c356: 356deg; - c357: 357deg; - c358: 358deg; - c359: 359deg; - c360: 0deg; - c361: 1deg; -} diff --git a/spec/libsass/color-functions/hsl/lighten.hrx b/spec/libsass/color-functions/hsl/lighten.hrx deleted file mode 100644 index 903ffbe251..0000000000 --- a/spec/libsass/color-functions/hsl/lighten.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: lighten(black, 0%); - c1: lighten(black, 1%); - c2: lighten(black, 2%); - c3: lighten(black, 3%); - c4: lighten(black, 4%); - c5: lighten(black, 5%); - c6: lighten(black, 6%); - c7: lighten(black, 7%); - c8: lighten(black, 8%); - c9: lighten(black, 9%); - c10: lighten(black, 10%); - c11: lighten(black, 11%); - c12: lighten(black, 12%); - c13: lighten(black, 13%); - c14: lighten(black, 14%); - c15: lighten(black, 15%); - c16: lighten(black, 16%); - c17: lighten(black, 17%); - c18: lighten(black, 18%); - c19: lighten(black, 19%); - c20: lighten(black, 20%); - c21: lighten(black, 21%); - c22: lighten(black, 22%); - c23: lighten(black, 23%); - c24: lighten(black, 24%); - c25: lighten(black, 25%); - c26: lighten(black, 26%); - c27: lighten(black, 27%); - c28: lighten(black, 28%); - c29: lighten(black, 29%); - c30: lighten(black, 30%); - c31: lighten(black, 31%); - c32: lighten(black, 32%); - c33: lighten(black, 33%); - c34: lighten(black, 34%); - c35: lighten(black, 35%); - c36: lighten(black, 36%); - c37: lighten(black, 37%); - c38: lighten(black, 38%); - c39: lighten(black, 39%); - c40: lighten(black, 40%); - c41: lighten(black, 41%); - c42: lighten(black, 42%); - c43: lighten(black, 43%); - c44: lighten(black, 44%); - c45: lighten(black, 45%); - c46: lighten(black, 46%); - c47: lighten(black, 47%); - c48: lighten(black, 48%); - c49: lighten(black, 49%); - c50: lighten(black, 50%); - c51: lighten(black, 51%); - c52: lighten(black, 52%); - c53: lighten(black, 53%); - c54: lighten(black, 54%); - c55: lighten(black, 55%); - c56: lighten(black, 56%); - c57: lighten(black, 57%); - c58: lighten(black, 58%); - c59: lighten(black, 59%); - c60: lighten(black, 60%); - c61: lighten(black, 61%); - c62: lighten(black, 62%); - c63: lighten(black, 63%); - c64: lighten(black, 64%); - c65: lighten(black, 65%); - c66: lighten(black, 66%); - c67: lighten(black, 67%); - c68: lighten(black, 68%); - c69: lighten(black, 69%); - c70: lighten(black, 70%); - c71: lighten(black, 71%); - c72: lighten(black, 72%); - c73: lighten(black, 73%); - c74: lighten(black, 74%); - c75: lighten(black, 75%); - c76: lighten(black, 76%); - c77: lighten(black, 77%); - c78: lighten(black, 78%); - c79: lighten(black, 79%); - c80: lighten(black, 80%); - c81: lighten(black, 81%); - c82: lighten(black, 82%); - c83: lighten(black, 83%); - c84: lighten(black, 84%); - c85: lighten(black, 85%); - c86: lighten(black, 86%); - c87: lighten(black, 87%); - c88: lighten(black, 88%); - c89: lighten(black, 89%); - c90: lighten(black, 90%); - c91: lighten(black, 91%); - c92: lighten(black, 92%); - c93: lighten(black, 93%); - c94: lighten(black, 94%); - c95: lighten(black, 95%); - c96: lighten(black, 96%); - c97: lighten(black, 97%); - c98: lighten(black, 98%); - c99: lighten(black, 99%); - c100: lighten(black, 100%); -} - -<===> output.css -foo { - c0: black; - c1: #030303; - c2: #050505; - c3: #080808; - c4: #0a0a0a; - c5: #0d0d0d; - c6: #0f0f0f; - c7: #121212; - c8: #141414; - c9: #171717; - c10: #1a1a1a; - c11: #1c1c1c; - c12: #1f1f1f; - c13: #212121; - c14: #242424; - c15: #262626; - c16: #292929; - c17: #2b2b2b; - c18: #2e2e2e; - c19: #303030; - c20: #333333; - c21: #363636; - c22: #383838; - c23: #3b3b3b; - c24: #3d3d3d; - c25: #404040; - c26: #424242; - c27: #454545; - c28: #474747; - c29: #4a4a4a; - c30: #4d4d4d; - c31: #4f4f4f; - c32: #525252; - c33: #545454; - c34: #575757; - c35: #595959; - c36: #5c5c5c; - c37: #5e5e5e; - c38: #616161; - c39: #636363; - c40: #666666; - c41: dimgray; - c42: #6b6b6b; - c43: #6e6e6e; - c44: #707070; - c45: #737373; - c46: #757575; - c47: #787878; - c48: #7a7a7a; - c49: #7d7d7d; - c50: gray; - c51: #828282; - c52: #858585; - c53: #878787; - c54: #8a8a8a; - c55: #8c8c8c; - c56: #8f8f8f; - c57: #919191; - c58: #949494; - c59: #969696; - c60: #999999; - c61: #9c9c9c; - c62: #9e9e9e; - c63: #a1a1a1; - c64: #a3a3a3; - c65: #a6a6a6; - c66: #a8a8a8; - c67: #ababab; - c68: #adadad; - c69: #b0b0b0; - c70: #b3b3b3; - c71: #b5b5b5; - c72: #b8b8b8; - c73: #bababa; - c74: #bdbdbd; - c75: #bfbfbf; - c76: #c2c2c2; - c77: #c4c4c4; - c78: #c7c7c7; - c79: #c9c9c9; - c80: #cccccc; - c81: #cfcfcf; - c82: #d1d1d1; - c83: #d4d4d4; - c84: #d6d6d6; - c85: #d9d9d9; - c86: #dbdbdb; - c87: #dedede; - c88: #e0e0e0; - c89: #e3e3e3; - c90: #e6e6e6; - c91: #e8e8e8; - c92: #ebebeb; - c93: #ededed; - c94: #f0f0f0; - c95: #f2f2f2; - c96: whitesmoke; - c97: #f7f7f7; - c98: #fafafa; - c99: #fcfcfc; - c100: white; -} diff --git a/spec/libsass/color-functions/hsl/lightness.hrx b/spec/libsass/color-functions/hsl/lightness.hrx deleted file mode 100644 index 345de0debe..0000000000 --- a/spec/libsass/color-functions/hsl/lightness.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: lightness(hsl(100, 50%, 0%)); - c1: lightness(hsl(100, 50%, 1%)); - c2: lightness(hsl(100, 50%, 2%)); - c3: lightness(hsl(100, 50%, 3%)); - c4: lightness(hsl(100, 50%, 4%)); - c5: lightness(hsl(100, 50%, 5%)); - c6: lightness(hsl(100, 50%, 6%)); - c7: lightness(hsl(100, 50%, 7%)); - c8: lightness(hsl(100, 50%, 8%)); - c9: lightness(hsl(100, 50%, 9%)); - c10: lightness(hsl(100, 50%, 10%)); - c11: lightness(hsl(100, 50%, 11%)); - c12: lightness(hsl(100, 50%, 12%)); - c13: lightness(hsl(100, 50%, 13%)); - c14: lightness(hsl(100, 50%, 14%)); - c15: lightness(hsl(100, 50%, 15%)); - c16: lightness(hsl(100, 50%, 16%)); - c17: lightness(hsl(100, 50%, 17%)); - c18: lightness(hsl(100, 50%, 18%)); - c19: lightness(hsl(100, 50%, 19%)); - c20: lightness(hsl(100, 50%, 20%)); - c21: lightness(hsl(100, 50%, 21%)); - c22: lightness(hsl(100, 50%, 22%)); - c23: lightness(hsl(100, 50%, 23%)); - c24: lightness(hsl(100, 50%, 24%)); - c25: lightness(hsl(100, 50%, 25%)); - c26: lightness(hsl(100, 50%, 26%)); - c27: lightness(hsl(100, 50%, 27%)); - c28: lightness(hsl(100, 50%, 28%)); - c29: lightness(hsl(100, 50%, 29%)); - c30: lightness(hsl(100, 50%, 30%)); - c31: lightness(hsl(100, 50%, 31%)); - c32: lightness(hsl(100, 50%, 32%)); - c33: lightness(hsl(100, 50%, 33%)); - c34: lightness(hsl(100, 50%, 34%)); - c35: lightness(hsl(100, 50%, 35%)); - c36: lightness(hsl(100, 50%, 36%)); - c37: lightness(hsl(100, 50%, 37%)); - c38: lightness(hsl(100, 50%, 38%)); - c39: lightness(hsl(100, 50%, 39%)); - c40: lightness(hsl(100, 50%, 40%)); - c41: lightness(hsl(100, 50%, 41%)); - c42: lightness(hsl(100, 50%, 42%)); - c43: lightness(hsl(100, 50%, 43%)); - c44: lightness(hsl(100, 50%, 44%)); - c45: lightness(hsl(100, 50%, 45%)); - c46: lightness(hsl(100, 50%, 46%)); - c47: lightness(hsl(100, 50%, 47%)); - c48: lightness(hsl(100, 50%, 48%)); - c49: lightness(hsl(100, 50%, 49%)); - c50: lightness(hsl(100, 50%, 50%)); - c51: lightness(hsl(100, 50%, 51%)); - c52: lightness(hsl(100, 50%, 52%)); - c53: lightness(hsl(100, 50%, 53%)); - c54: lightness(hsl(100, 50%, 54%)); - c55: lightness(hsl(100, 50%, 55%)); - c56: lightness(hsl(100, 50%, 56%)); - c57: lightness(hsl(100, 50%, 57%)); - c58: lightness(hsl(100, 50%, 58%)); - c59: lightness(hsl(100, 50%, 59%)); - c60: lightness(hsl(100, 50%, 60%)); - c61: lightness(hsl(100, 50%, 61%)); - c62: lightness(hsl(100, 50%, 62%)); - c63: lightness(hsl(100, 50%, 63%)); - c64: lightness(hsl(100, 50%, 64%)); - c65: lightness(hsl(100, 50%, 65%)); - c66: lightness(hsl(100, 50%, 66%)); - c67: lightness(hsl(100, 50%, 67%)); - c68: lightness(hsl(100, 50%, 68%)); - c69: lightness(hsl(100, 50%, 69%)); - c70: lightness(hsl(100, 50%, 70%)); - c71: lightness(hsl(100, 50%, 71%)); - c72: lightness(hsl(100, 50%, 72%)); - c73: lightness(hsl(100, 50%, 73%)); - c74: lightness(hsl(100, 50%, 74%)); - c75: lightness(hsl(100, 50%, 75%)); - c76: lightness(hsl(100, 50%, 76%)); - c77: lightness(hsl(100, 50%, 77%)); - c78: lightness(hsl(100, 50%, 78%)); - c79: lightness(hsl(100, 50%, 79%)); - c80: lightness(hsl(100, 50%, 80%)); - c81: lightness(hsl(100, 50%, 81%)); - c82: lightness(hsl(100, 50%, 82%)); - c83: lightness(hsl(100, 50%, 83%)); - c84: lightness(hsl(100, 50%, 84%)); - c85: lightness(hsl(100, 50%, 85%)); - c86: lightness(hsl(100, 50%, 86%)); - c87: lightness(hsl(100, 50%, 87%)); - c88: lightness(hsl(100, 50%, 88%)); - c89: lightness(hsl(100, 50%, 89%)); - c90: lightness(hsl(100, 50%, 90%)); - c91: lightness(hsl(100, 50%, 91%)); - c92: lightness(hsl(100, 50%, 92%)); - c93: lightness(hsl(100, 50%, 93%)); - c94: lightness(hsl(100, 50%, 94%)); - c95: lightness(hsl(100, 50%, 95%)); - c96: lightness(hsl(100, 50%, 96%)); - c97: lightness(hsl(100, 50%, 97%)); - c98: lightness(hsl(100, 50%, 98%)); - c99: lightness(hsl(100, 50%, 99%)); - c100: lightness(hsl(100, 50%, 100%)); -} - -<===> output.css -foo { - c0: 0%; - c1: 1%; - c2: 2%; - c3: 3%; - c4: 4%; - c5: 5%; - c6: 6%; - c7: 7%; - c8: 8%; - c9: 9%; - c10: 10%; - c11: 11%; - c12: 12%; - c13: 13%; - c14: 14%; - c15: 15%; - c16: 16%; - c17: 17%; - c18: 18%; - c19: 19%; - c20: 20%; - c21: 21%; - c22: 22%; - c23: 23%; - c24: 24%; - c25: 25%; - c26: 26%; - c27: 27%; - c28: 28%; - c29: 29%; - c30: 30%; - c31: 31%; - c32: 32%; - c33: 33%; - c34: 34%; - c35: 35%; - c36: 36%; - c37: 37%; - c38: 38%; - c39: 39%; - c40: 40%; - c41: 41%; - c42: 42%; - c43: 43%; - c44: 44%; - c45: 45%; - c46: 46%; - c47: 47%; - c48: 48%; - c49: 49%; - c50: 50%; - c51: 51%; - c52: 52%; - c53: 53%; - c54: 54%; - c55: 55%; - c56: 56%; - c57: 57%; - c58: 58%; - c59: 59%; - c60: 60%; - c61: 61%; - c62: 62%; - c63: 63%; - c64: 64%; - c65: 65%; - c66: 66%; - c67: 67%; - c68: 68%; - c69: 69%; - c70: 70%; - c71: 71%; - c72: 72%; - c73: 73%; - c74: 74%; - c75: 75%; - c76: 76%; - c77: 77%; - c78: 78%; - c79: 79%; - c80: 80%; - c81: 81%; - c82: 82%; - c83: 83%; - c84: 84%; - c85: 85%; - c86: 86%; - c87: 87%; - c88: 88%; - c89: 89%; - c90: 90%; - c91: 91%; - c92: 92%; - c93: 93%; - c94: 94%; - c95: 95%; - c96: 96%; - c97: 97%; - c98: 98%; - c99: 99%; - c100: 100%; -} diff --git a/spec/libsass/color-functions/hsl/saturation.hrx b/spec/libsass/color-functions/hsl/saturation.hrx deleted file mode 100644 index 320fe8865c..0000000000 --- a/spec/libsass/color-functions/hsl/saturation.hrx +++ /dev/null @@ -1,209 +0,0 @@ -<===> input.scss -foo { - c0: saturation(hsl(100, 0%, 50%)); - c1: saturation(hsl(100, 1%, 50%)); - c2: saturation(hsl(100, 2%, 50%)); - c3: saturation(hsl(100, 3%, 50%)); - c4: saturation(hsl(100, 4%, 50%)); - c5: saturation(hsl(100, 5%, 50%)); - c6: saturation(hsl(100, 6%, 50%)); - c7: saturation(hsl(100, 7%, 50%)); - c8: saturation(hsl(100, 8%, 50%)); - c9: saturation(hsl(100, 9%, 50%)); - c10: saturation(hsl(100, 10%, 50%)); - c11: saturation(hsl(100, 11%, 50%)); - c12: saturation(hsl(100, 12%, 50%)); - c13: saturation(hsl(100, 13%, 50%)); - c14: saturation(hsl(100, 14%, 50%)); - c15: saturation(hsl(100, 15%, 50%)); - c16: saturation(hsl(100, 16%, 50%)); - c17: saturation(hsl(100, 17%, 50%)); - c18: saturation(hsl(100, 18%, 50%)); - c19: saturation(hsl(100, 19%, 50%)); - c20: saturation(hsl(100, 20%, 50%)); - c21: saturation(hsl(100, 21%, 50%)); - c22: saturation(hsl(100, 22%, 50%)); - c23: saturation(hsl(100, 23%, 50%)); - c24: saturation(hsl(100, 24%, 50%)); - c25: saturation(hsl(100, 25%, 50%)); - c26: saturation(hsl(100, 26%, 50%)); - c27: saturation(hsl(100, 27%, 50%)); - c28: saturation(hsl(100, 28%, 50%)); - c29: saturation(hsl(100, 29%, 50%)); - c30: saturation(hsl(100, 30%, 50%)); - c31: saturation(hsl(100, 31%, 50%)); - c32: saturation(hsl(100, 32%, 50%)); - c33: saturation(hsl(100, 33%, 50%)); - c34: saturation(hsl(100, 34%, 50%)); - c35: saturation(hsl(100, 35%, 50%)); - c36: saturation(hsl(100, 36%, 50%)); - c37: saturation(hsl(100, 37%, 50%)); - c38: saturation(hsl(100, 38%, 50%)); - c39: saturation(hsl(100, 39%, 50%)); - c40: saturation(hsl(100, 40%, 50%)); - c41: saturation(hsl(100, 41%, 50%)); - c42: saturation(hsl(100, 42%, 50%)); - c43: saturation(hsl(100, 43%, 50%)); - c44: saturation(hsl(100, 44%, 50%)); - c45: saturation(hsl(100, 45%, 50%)); - c46: saturation(hsl(100, 46%, 50%)); - c47: saturation(hsl(100, 47%, 50%)); - c48: saturation(hsl(100, 48%, 50%)); - c49: saturation(hsl(100, 49%, 50%)); - c50: saturation(hsl(100, 50%, 50%)); - c51: saturation(hsl(100, 51%, 50%)); - c52: saturation(hsl(100, 52%, 50%)); - c53: saturation(hsl(100, 53%, 50%)); - c54: saturation(hsl(100, 54%, 50%)); - c55: saturation(hsl(100, 55%, 50%)); - c56: saturation(hsl(100, 56%, 50%)); - c57: saturation(hsl(100, 57%, 50%)); - c58: saturation(hsl(100, 58%, 50%)); - c59: saturation(hsl(100, 59%, 50%)); - c60: saturation(hsl(100, 60%, 50%)); - c61: saturation(hsl(100, 61%, 50%)); - c62: saturation(hsl(100, 62%, 50%)); - c63: saturation(hsl(100, 63%, 50%)); - c64: saturation(hsl(100, 64%, 50%)); - c65: saturation(hsl(100, 65%, 50%)); - c66: saturation(hsl(100, 66%, 50%)); - c67: saturation(hsl(100, 67%, 50%)); - c68: saturation(hsl(100, 68%, 50%)); - c69: saturation(hsl(100, 69%, 50%)); - c70: saturation(hsl(100, 70%, 50%)); - c71: saturation(hsl(100, 71%, 50%)); - c72: saturation(hsl(100, 72%, 50%)); - c73: saturation(hsl(100, 73%, 50%)); - c74: saturation(hsl(100, 74%, 50%)); - c75: saturation(hsl(100, 75%, 50%)); - c76: saturation(hsl(100, 76%, 50%)); - c77: saturation(hsl(100, 77%, 50%)); - c78: saturation(hsl(100, 78%, 50%)); - c79: saturation(hsl(100, 79%, 50%)); - c80: saturation(hsl(100, 80%, 50%)); - c81: saturation(hsl(100, 81%, 50%)); - c82: saturation(hsl(100, 82%, 50%)); - c83: saturation(hsl(100, 83%, 50%)); - c84: saturation(hsl(100, 84%, 50%)); - c85: saturation(hsl(100, 85%, 50%)); - c86: saturation(hsl(100, 86%, 50%)); - c87: saturation(hsl(100, 87%, 50%)); - c88: saturation(hsl(100, 88%, 50%)); - c89: saturation(hsl(100, 89%, 50%)); - c90: saturation(hsl(100, 90%, 50%)); - c91: saturation(hsl(100, 91%, 50%)); - c92: saturation(hsl(100, 92%, 50%)); - c93: saturation(hsl(100, 93%, 50%)); - c94: saturation(hsl(100, 94%, 50%)); - c95: saturation(hsl(100, 95%, 50%)); - c96: saturation(hsl(100, 96%, 50%)); - c97: saturation(hsl(100, 97%, 50%)); - c98: saturation(hsl(100, 98%, 50%)); - c99: saturation(hsl(100, 99%, 50%)); - c100: saturation(hsl(100, 100%, 50%)); -} - -<===> output.css -foo { - c0: 0%; - c1: 1%; - c2: 2%; - c3: 3%; - c4: 4%; - c5: 5%; - c6: 6%; - c7: 7%; - c8: 8%; - c9: 9%; - c10: 10%; - c11: 11%; - c12: 12%; - c13: 13%; - c14: 14%; - c15: 15%; - c16: 16%; - c17: 17%; - c18: 18%; - c19: 19%; - c20: 20%; - c21: 21%; - c22: 22%; - c23: 23%; - c24: 24%; - c25: 25%; - c26: 26%; - c27: 27%; - c28: 28%; - c29: 29%; - c30: 30%; - c31: 31%; - c32: 32%; - c33: 33%; - c34: 34%; - c35: 35%; - c36: 36%; - c37: 37%; - c38: 38%; - c39: 39%; - c40: 40%; - c41: 41%; - c42: 42%; - c43: 43%; - c44: 44%; - c45: 45%; - c46: 46%; - c47: 47%; - c48: 48%; - c49: 49%; - c50: 50%; - c51: 51%; - c52: 52%; - c53: 53%; - c54: 54%; - c55: 55%; - c56: 56%; - c57: 57%; - c58: 58%; - c59: 59%; - c60: 60%; - c61: 61%; - c62: 62%; - c63: 63%; - c64: 64%; - c65: 65%; - c66: 66%; - c67: 67%; - c68: 68%; - c69: 69%; - c70: 70%; - c71: 71%; - c72: 72%; - c73: 73%; - c74: 74%; - c75: 75%; - c76: 76%; - c77: 77%; - c78: 78%; - c79: 79%; - c80: 80%; - c81: 81%; - c82: 82%; - c83: 83%; - c84: 84%; - c85: 85%; - c86: 86%; - c87: 87%; - c88: 88%; - c89: 89%; - c90: 90%; - c91: 91%; - c92: 92%; - c93: 93%; - c94: 94%; - c95: 95%; - c96: 96%; - c97: 97%; - c98: 98%; - c99: 99%; - c100: 100%; -} diff --git a/spec/libsass/color-functions/opacity/fade-in.hrx b/spec/libsass/color-functions/opacity/fade-in.hrx deleted file mode 100644 index 4419e65253..0000000000 --- a/spec/libsass/color-functions/opacity/fade-in.hrx +++ /dev/null @@ -1,29 +0,0 @@ -<===> input.scss -foo { - c0: fade-in(rgba(0,0,0,0.0), 0.1); - c1: fade-in(rgba(0,0,0,0.1), 0.1); - c2: fade-in(rgba(0,0,0,0.2), 0.1); - c3: fade-in(rgba(0,0,0,0.3), 0.1); - c4: fade-in(rgba(0,0,0,0.4), 0.1); - c5: fade-in(rgba(0,0,0,0.5), 0.1); - c6: fade-in(rgba(0,0,0,0.6), 0.1); - c7: fade-in(rgba(0,0,0,0.7), 0.1); - c8: fade-in(rgba(0,0,0,0.8), 0.1); - c9: fade-in(rgba(0,0,0,0.9), 0.1); - c10: fade-in(rgba(0,0,0,1), 0.1); -} - -<===> output.css -foo { - c0: rgba(0, 0, 0, 0.1); - c1: rgba(0, 0, 0, 0.2); - c2: rgba(0, 0, 0, 0.3); - c3: rgba(0, 0, 0, 0.4); - c4: rgba(0, 0, 0, 0.5); - c5: rgba(0, 0, 0, 0.6); - c6: rgba(0, 0, 0, 0.7); - c7: rgba(0, 0, 0, 0.8); - c8: rgba(0, 0, 0, 0.9); - c9: black; - c10: black; -} diff --git a/spec/libsass/color-functions/opacity/fade-out.hrx b/spec/libsass/color-functions/opacity/fade-out.hrx deleted file mode 100644 index 41690f7afb..0000000000 --- a/spec/libsass/color-functions/opacity/fade-out.hrx +++ /dev/null @@ -1,29 +0,0 @@ -<===> input.scss -foo { - c0: fade-out(rgba(0,0,0,0.0), 0.1); - c1: fade-out(rgba(0,0,0,0.1), 0.1); - c2: fade-out(rgba(0,0,0,0.2), 0.1); - c3: fade-out(rgba(0,0,0,0.3), 0.1); - c4: fade-out(rgba(0,0,0,0.4), 0.1); - c5: fade-out(rgba(0,0,0,0.5), 0.1); - c6: fade-out(rgba(0,0,0,0.6), 0.1); - c7: fade-out(rgba(0,0,0,0.7), 0.1); - c8: fade-out(rgba(0,0,0,0.8), 0.1); - c9: fade-out(rgba(0,0,0,0.9), 0.1); - c10: fade-out(rgba(0,0,0,1), 0.1); -} - -<===> output.css -foo { - c0: rgba(0, 0, 0, 0); - c1: rgba(0, 0, 0, 0); - c2: rgba(0, 0, 0, 0.1); - c3: rgba(0, 0, 0, 0.2); - c4: rgba(0, 0, 0, 0.3); - c5: rgba(0, 0, 0, 0.4); - c6: rgba(0, 0, 0, 0.5); - c7: rgba(0, 0, 0, 0.6); - c8: rgba(0, 0, 0, 0.7); - c9: rgba(0, 0, 0, 0.8); - c10: rgba(0, 0, 0, 0.9); -} diff --git a/spec/libsass/color-functions/opacity/opacify.hrx b/spec/libsass/color-functions/opacity/opacify.hrx deleted file mode 100644 index 8358759397..0000000000 --- a/spec/libsass/color-functions/opacity/opacify.hrx +++ /dev/null @@ -1,2 +0,0 @@ -<===> input.scss -<===> output.css diff --git a/spec/libsass/color-functions/opacity/opacity.hrx b/spec/libsass/color-functions/opacity/opacity.hrx deleted file mode 100644 index c4768074a6..0000000000 --- a/spec/libsass/color-functions/opacity/opacity.hrx +++ /dev/null @@ -1,29 +0,0 @@ -<===> input.scss -foo { - c0: opacify(rgba(0,0,0,0.0), 0.1); - c1: opacify(rgba(0,0,0,0.1), 0.1); - c2: opacify(rgba(0,0,0,0.2), 0.1); - c3: opacify(rgba(0,0,0,0.3), 0.1); - c4: opacify(rgba(0,0,0,0.4), 0.1); - c5: opacify(rgba(0,0,0,0.5), 0.1); - c6: opacify(rgba(0,0,0,0.6), 0.1); - c7: opacify(rgba(0,0,0,0.7), 0.1); - c8: opacify(rgba(0,0,0,0.8), 0.1); - c9: opacify(rgba(0,0,0,0.9), 0.1); - c10: opacify(rgba(0,0,0,1), 0.1); -} - -<===> output.css -foo { - c0: rgba(0, 0, 0, 0.1); - c1: rgba(0, 0, 0, 0.2); - c2: rgba(0, 0, 0, 0.3); - c3: rgba(0, 0, 0, 0.4); - c4: rgba(0, 0, 0, 0.5); - c5: rgba(0, 0, 0, 0.6); - c6: rgba(0, 0, 0, 0.7); - c7: rgba(0, 0, 0, 0.8); - c8: rgba(0, 0, 0, 0.9); - c9: black; - c10: black; -} diff --git a/spec/libsass/color-functions/opacity/transparentize.hrx b/spec/libsass/color-functions/opacity/transparentize.hrx deleted file mode 100644 index 0d57d5169b..0000000000 --- a/spec/libsass/color-functions/opacity/transparentize.hrx +++ /dev/null @@ -1,29 +0,0 @@ -<===> input.scss -foo { - c0: transparentize(rgba(0,0,0,0.0), 0.1); - c1: transparentize(rgba(0,0,0,0.1), 0.1); - c2: transparentize(rgba(0,0,0,0.2), 0.1); - c3: transparentize(rgba(0,0,0,0.3), 0.1); - c4: transparentize(rgba(0,0,0,0.4), 0.1); - c5: transparentize(rgba(0,0,0,0.5), 0.1); - c6: transparentize(rgba(0,0,0,0.6), 0.1); - c7: transparentize(rgba(0,0,0,0.7), 0.1); - c8: transparentize(rgba(0,0,0,0.8), 0.1); - c9: transparentize(rgba(0,0,0,0.9), 0.1); - c10: transparentize(rgba(0,0,0,1), 0.1); -} - -<===> output.css -foo { - c0: rgba(0, 0, 0, 0); - c1: rgba(0, 0, 0, 0); - c2: rgba(0, 0, 0, 0.1); - c3: rgba(0, 0, 0, 0.2); - c4: rgba(0, 0, 0, 0.3); - c5: rgba(0, 0, 0, 0.4); - c6: rgba(0, 0, 0, 0.5); - c7: rgba(0, 0, 0, 0.6); - c8: rgba(0, 0, 0, 0.7); - c9: rgba(0, 0, 0, 0.8); - c10: rgba(0, 0, 0, 0.9); -} diff --git a/spec/libsass/color-functions/rgb/blue.hrx b/spec/libsass/color-functions/rgb/blue.hrx deleted file mode 100644 index 74ec9c4ad7..0000000000 --- a/spec/libsass/color-functions/rgb/blue.hrx +++ /dev/null @@ -1,523 +0,0 @@ -<===> input.scss -foo { - c-1: blue(rgb(0,0,-1)); - c0: blue(rgb(0,0,0)); - c1: blue(rgb(0,0,1)); - c2: blue(rgb(0,0,2)); - c3: blue(rgb(0,0,3)); - c4: blue(rgb(0,0,4)); - c5: blue(rgb(0,0,5)); - c6: blue(rgb(0,0,6)); - c7: blue(rgb(0,0,7)); - c8: blue(rgb(0,0,8)); - c9: blue(rgb(0,0,9)); - c10: blue(rgb(0,0,10)); - c11: blue(rgb(0,0,11)); - c12: blue(rgb(0,0,12)); - c13: blue(rgb(0,0,13)); - c14: blue(rgb(0,0,14)); - c15: blue(rgb(0,0,15)); - c16: blue(rgb(0,0,16)); - c17: blue(rgb(0,0,17)); - c18: blue(rgb(0,0,18)); - c19: blue(rgb(0,0,19)); - c20: blue(rgb(0,0,20)); - c21: blue(rgb(0,0,21)); - c22: blue(rgb(0,0,22)); - c23: blue(rgb(0,0,23)); - c24: blue(rgb(0,0,24)); - c25: blue(rgb(0,0,25)); - c26: blue(rgb(0,0,26)); - c27: blue(rgb(0,0,27)); - c28: blue(rgb(0,0,28)); - c29: blue(rgb(0,0,29)); - c30: blue(rgb(0,0,30)); - c31: blue(rgb(0,0,31)); - c32: blue(rgb(0,0,32)); - c33: blue(rgb(0,0,33)); - c34: blue(rgb(0,0,34)); - c35: blue(rgb(0,0,35)); - c36: blue(rgb(0,0,36)); - c37: blue(rgb(0,0,37)); - c38: blue(rgb(0,0,38)); - c39: blue(rgb(0,0,39)); - c40: blue(rgb(0,0,40)); - c41: blue(rgb(0,0,41)); - c42: blue(rgb(0,0,42)); - c43: blue(rgb(0,0,43)); - c44: blue(rgb(0,0,44)); - c45: blue(rgb(0,0,45)); - c46: blue(rgb(0,0,46)); - c47: blue(rgb(0,0,47)); - c48: blue(rgb(0,0,48)); - c49: blue(rgb(0,0,49)); - c50: blue(rgb(0,0,50)); - c51: blue(rgb(0,0,51)); - c52: blue(rgb(0,0,52)); - c53: blue(rgb(0,0,53)); - c54: blue(rgb(0,0,54)); - c55: blue(rgb(0,0,55)); - c56: blue(rgb(0,0,56)); - c57: blue(rgb(0,0,57)); - c58: blue(rgb(0,0,58)); - c59: blue(rgb(0,0,59)); - c60: blue(rgb(0,0,60)); - c61: blue(rgb(0,0,61)); - c62: blue(rgb(0,0,62)); - c63: blue(rgb(0,0,63)); - c64: blue(rgb(0,0,64)); - c65: blue(rgb(0,0,65)); - c66: blue(rgb(0,0,66)); - c67: blue(rgb(0,0,67)); - c68: blue(rgb(0,0,68)); - c69: blue(rgb(0,0,69)); - c70: blue(rgb(0,0,70)); - c71: blue(rgb(0,0,71)); - c72: blue(rgb(0,0,72)); - c73: blue(rgb(0,0,73)); - c74: blue(rgb(0,0,74)); - c75: blue(rgb(0,0,75)); - c76: blue(rgb(0,0,76)); - c77: blue(rgb(0,0,77)); - c78: blue(rgb(0,0,78)); - c79: blue(rgb(0,0,79)); - c80: blue(rgb(0,0,80)); - c81: blue(rgb(0,0,81)); - c82: blue(rgb(0,0,82)); - c83: blue(rgb(0,0,83)); - c84: blue(rgb(0,0,84)); - c85: blue(rgb(0,0,85)); - c86: blue(rgb(0,0,86)); - c87: blue(rgb(0,0,87)); - c88: blue(rgb(0,0,88)); - c89: blue(rgb(0,0,89)); - c90: blue(rgb(0,0,90)); - c91: blue(rgb(0,0,91)); - c92: blue(rgb(0,0,92)); - c93: blue(rgb(0,0,93)); - c94: blue(rgb(0,0,94)); - c95: blue(rgb(0,0,95)); - c96: blue(rgb(0,0,96)); - c97: blue(rgb(0,0,97)); - c98: blue(rgb(0,0,98)); - c99: blue(rgb(0,0,99)); - c100: blue(rgb(0,0,100)); - c101: blue(rgb(0,0,101)); - c102: blue(rgb(0,0,102)); - c103: blue(rgb(0,0,103)); - c104: blue(rgb(0,0,104)); - c105: blue(rgb(0,0,105)); - c106: blue(rgb(0,0,106)); - c107: blue(rgb(0,0,107)); - c108: blue(rgb(0,0,108)); - c109: blue(rgb(0,0,109)); - c110: blue(rgb(0,0,110)); - c111: blue(rgb(0,0,111)); - c112: blue(rgb(0,0,112)); - c113: blue(rgb(0,0,113)); - c114: blue(rgb(0,0,114)); - c115: blue(rgb(0,0,115)); - c116: blue(rgb(0,0,116)); - c117: blue(rgb(0,0,117)); - c118: blue(rgb(0,0,118)); - c119: blue(rgb(0,0,119)); - c120: blue(rgb(0,0,120)); - c121: blue(rgb(0,0,121)); - c122: blue(rgb(0,0,122)); - c123: blue(rgb(0,0,123)); - c124: blue(rgb(0,0,124)); - c125: blue(rgb(0,0,125)); - c126: blue(rgb(0,0,126)); - c127: blue(rgb(0,0,127)); - c128: blue(rgb(0,0,128)); - c129: blue(rgb(0,0,129)); - c130: blue(rgb(0,0,130)); - c131: blue(rgb(0,0,131)); - c132: blue(rgb(0,0,132)); - c133: blue(rgb(0,0,133)); - c134: blue(rgb(0,0,134)); - c135: blue(rgb(0,0,135)); - c136: blue(rgb(0,0,136)); - c137: blue(rgb(0,0,137)); - c138: blue(rgb(0,0,138)); - c139: blue(rgb(0,0,139)); - c140: blue(rgb(0,0,140)); - c141: blue(rgb(0,0,141)); - c142: blue(rgb(0,0,142)); - c143: blue(rgb(0,0,143)); - c144: blue(rgb(0,0,144)); - c145: blue(rgb(0,0,145)); - c146: blue(rgb(0,0,146)); - c147: blue(rgb(0,0,147)); - c148: blue(rgb(0,0,148)); - c149: blue(rgb(0,0,149)); - c150: blue(rgb(0,0,150)); - c151: blue(rgb(0,0,151)); - c152: blue(rgb(0,0,152)); - c153: blue(rgb(0,0,153)); - c154: blue(rgb(0,0,154)); - c155: blue(rgb(0,0,155)); - c156: blue(rgb(0,0,156)); - c157: blue(rgb(0,0,157)); - c158: blue(rgb(0,0,158)); - c159: blue(rgb(0,0,159)); - c160: blue(rgb(0,0,160)); - c161: blue(rgb(0,0,161)); - c162: blue(rgb(0,0,162)); - c163: blue(rgb(0,0,163)); - c164: blue(rgb(0,0,164)); - c165: blue(rgb(0,0,165)); - c166: blue(rgb(0,0,166)); - c167: blue(rgb(0,0,167)); - c168: blue(rgb(0,0,168)); - c169: blue(rgb(0,0,169)); - c170: blue(rgb(0,0,170)); - c171: blue(rgb(0,0,171)); - c172: blue(rgb(0,0,172)); - c173: blue(rgb(0,0,173)); - c174: blue(rgb(0,0,174)); - c175: blue(rgb(0,0,175)); - c176: blue(rgb(0,0,176)); - c177: blue(rgb(0,0,177)); - c178: blue(rgb(0,0,178)); - c179: blue(rgb(0,0,179)); - c180: blue(rgb(0,0,180)); - c181: blue(rgb(0,0,181)); - c182: blue(rgb(0,0,182)); - c183: blue(rgb(0,0,183)); - c184: blue(rgb(0,0,184)); - c185: blue(rgb(0,0,185)); - c186: blue(rgb(0,0,186)); - c187: blue(rgb(0,0,187)); - c188: blue(rgb(0,0,188)); - c189: blue(rgb(0,0,189)); - c190: blue(rgb(0,0,190)); - c191: blue(rgb(0,0,191)); - c192: blue(rgb(0,0,192)); - c193: blue(rgb(0,0,193)); - c194: blue(rgb(0,0,194)); - c195: blue(rgb(0,0,195)); - c196: blue(rgb(0,0,196)); - c197: blue(rgb(0,0,197)); - c198: blue(rgb(0,0,198)); - c199: blue(rgb(0,0,199)); - c200: blue(rgb(0,0,200)); - c201: blue(rgb(0,0,201)); - c202: blue(rgb(0,0,202)); - c203: blue(rgb(0,0,203)); - c204: blue(rgb(0,0,204)); - c205: blue(rgb(0,0,205)); - c206: blue(rgb(0,0,206)); - c207: blue(rgb(0,0,207)); - c208: blue(rgb(0,0,208)); - c209: blue(rgb(0,0,209)); - c210: blue(rgb(0,0,210)); - c211: blue(rgb(0,0,211)); - c212: blue(rgb(0,0,212)); - c213: blue(rgb(0,0,213)); - c214: blue(rgb(0,0,214)); - c215: blue(rgb(0,0,215)); - c216: blue(rgb(0,0,216)); - c217: blue(rgb(0,0,217)); - c218: blue(rgb(0,0,218)); - c219: blue(rgb(0,0,219)); - c220: blue(rgb(0,0,220)); - c221: blue(rgb(0,0,221)); - c222: blue(rgb(0,0,222)); - c223: blue(rgb(0,0,223)); - c224: blue(rgb(0,0,224)); - c225: blue(rgb(0,0,225)); - c226: blue(rgb(0,0,226)); - c227: blue(rgb(0,0,227)); - c228: blue(rgb(0,0,228)); - c229: blue(rgb(0,0,229)); - c230: blue(rgb(0,0,230)); - c231: blue(rgb(0,0,231)); - c232: blue(rgb(0,0,232)); - c233: blue(rgb(0,0,233)); - c234: blue(rgb(0,0,234)); - c235: blue(rgb(0,0,235)); - c236: blue(rgb(0,0,236)); - c237: blue(rgb(0,0,237)); - c238: blue(rgb(0,0,238)); - c239: blue(rgb(0,0,239)); - c240: blue(rgb(0,0,240)); - c241: blue(rgb(0,0,241)); - c242: blue(rgb(0,0,242)); - c243: blue(rgb(0,0,243)); - c244: blue(rgb(0,0,244)); - c245: blue(rgb(0,0,245)); - c246: blue(rgb(0,0,246)); - c247: blue(rgb(0,0,247)); - c248: blue(rgb(0,0,248)); - c249: blue(rgb(0,0,249)); - c250: blue(rgb(0,0,250)); - c251: blue(rgb(0,0,251)); - c252: blue(rgb(0,0,252)); - c253: blue(rgb(0,0,253)); - c254: blue(rgb(0,0,254)); - c255: blue(rgb(0,0,255)); - c256: blue(rgb(0,0,256)); -} - -<===> output.css -foo { - c-1: 0; - c0: 0; - c1: 1; - c2: 2; - c3: 3; - c4: 4; - c5: 5; - c6: 6; - c7: 7; - c8: 8; - c9: 9; - c10: 10; - c11: 11; - c12: 12; - c13: 13; - c14: 14; - c15: 15; - c16: 16; - c17: 17; - c18: 18; - c19: 19; - c20: 20; - c21: 21; - c22: 22; - c23: 23; - c24: 24; - c25: 25; - c26: 26; - c27: 27; - c28: 28; - c29: 29; - c30: 30; - c31: 31; - c32: 32; - c33: 33; - c34: 34; - c35: 35; - c36: 36; - c37: 37; - c38: 38; - c39: 39; - c40: 40; - c41: 41; - c42: 42; - c43: 43; - c44: 44; - c45: 45; - c46: 46; - c47: 47; - c48: 48; - c49: 49; - c50: 50; - c51: 51; - c52: 52; - c53: 53; - c54: 54; - c55: 55; - c56: 56; - c57: 57; - c58: 58; - c59: 59; - c60: 60; - c61: 61; - c62: 62; - c63: 63; - c64: 64; - c65: 65; - c66: 66; - c67: 67; - c68: 68; - c69: 69; - c70: 70; - c71: 71; - c72: 72; - c73: 73; - c74: 74; - c75: 75; - c76: 76; - c77: 77; - c78: 78; - c79: 79; - c80: 80; - c81: 81; - c82: 82; - c83: 83; - c84: 84; - c85: 85; - c86: 86; - c87: 87; - c88: 88; - c89: 89; - c90: 90; - c91: 91; - c92: 92; - c93: 93; - c94: 94; - c95: 95; - c96: 96; - c97: 97; - c98: 98; - c99: 99; - c100: 100; - c101: 101; - c102: 102; - c103: 103; - c104: 104; - c105: 105; - c106: 106; - c107: 107; - c108: 108; - c109: 109; - c110: 110; - c111: 111; - c112: 112; - c113: 113; - c114: 114; - c115: 115; - c116: 116; - c117: 117; - c118: 118; - c119: 119; - c120: 120; - c121: 121; - c122: 122; - c123: 123; - c124: 124; - c125: 125; - c126: 126; - c127: 127; - c128: 128; - c129: 129; - c130: 130; - c131: 131; - c132: 132; - c133: 133; - c134: 134; - c135: 135; - c136: 136; - c137: 137; - c138: 138; - c139: 139; - c140: 140; - c141: 141; - c142: 142; - c143: 143; - c144: 144; - c145: 145; - c146: 146; - c147: 147; - c148: 148; - c149: 149; - c150: 150; - c151: 151; - c152: 152; - c153: 153; - c154: 154; - c155: 155; - c156: 156; - c157: 157; - c158: 158; - c159: 159; - c160: 160; - c161: 161; - c162: 162; - c163: 163; - c164: 164; - c165: 165; - c166: 166; - c167: 167; - c168: 168; - c169: 169; - c170: 170; - c171: 171; - c172: 172; - c173: 173; - c174: 174; - c175: 175; - c176: 176; - c177: 177; - c178: 178; - c179: 179; - c180: 180; - c181: 181; - c182: 182; - c183: 183; - c184: 184; - c185: 185; - c186: 186; - c187: 187; - c188: 188; - c189: 189; - c190: 190; - c191: 191; - c192: 192; - c193: 193; - c194: 194; - c195: 195; - c196: 196; - c197: 197; - c198: 198; - c199: 199; - c200: 200; - c201: 201; - c202: 202; - c203: 203; - c204: 204; - c205: 205; - c206: 206; - c207: 207; - c208: 208; - c209: 209; - c210: 210; - c211: 211; - c212: 212; - c213: 213; - c214: 214; - c215: 215; - c216: 216; - c217: 217; - c218: 218; - c219: 219; - c220: 220; - c221: 221; - c222: 222; - c223: 223; - c224: 224; - c225: 225; - c226: 226; - c227: 227; - c228: 228; - c229: 229; - c230: 230; - c231: 231; - c232: 232; - c233: 233; - c234: 234; - c235: 235; - c236: 236; - c237: 237; - c238: 238; - c239: 239; - c240: 240; - c241: 241; - c242: 242; - c243: 243; - c244: 244; - c245: 245; - c246: 246; - c247: 247; - c248: 248; - c249: 249; - c250: 250; - c251: 251; - c252: 252; - c253: 253; - c254: 254; - c255: 255; - c256: 255; -} diff --git a/spec/libsass/color-functions/rgb/green.hrx b/spec/libsass/color-functions/rgb/green.hrx deleted file mode 100644 index 9b4a7026d6..0000000000 --- a/spec/libsass/color-functions/rgb/green.hrx +++ /dev/null @@ -1,523 +0,0 @@ -<===> input.scss -foo { - c-1: green(rgb(0,-1,0)); - c0: green(rgb(0,0,0)); - c1: green(rgb(0,1,0)); - c2: green(rgb(0,2,0)); - c3: green(rgb(0,3,0)); - c4: green(rgb(0,4,0)); - c5: green(rgb(0,5,0)); - c6: green(rgb(0,6,0)); - c7: green(rgb(0,7,0)); - c8: green(rgb(0,8,0)); - c9: green(rgb(0,9,0)); - c10: green(rgb(0,10,0)); - c11: green(rgb(0,11,0)); - c12: green(rgb(0,12,0)); - c13: green(rgb(0,13,0)); - c14: green(rgb(0,14,0)); - c15: green(rgb(0,15,0)); - c16: green(rgb(0,16,0)); - c17: green(rgb(0,17,0)); - c18: green(rgb(0,18,0)); - c19: green(rgb(0,19,0)); - c20: green(rgb(0,20,0)); - c21: green(rgb(0,21,0)); - c22: green(rgb(0,22,0)); - c23: green(rgb(0,23,0)); - c24: green(rgb(0,24,0)); - c25: green(rgb(0,25,0)); - c26: green(rgb(0,26,0)); - c27: green(rgb(0,27,0)); - c28: green(rgb(0,28,0)); - c29: green(rgb(0,29,0)); - c30: green(rgb(0,30,0)); - c31: green(rgb(0,31,0)); - c32: green(rgb(0,32,0)); - c33: green(rgb(0,33,0)); - c34: green(rgb(0,34,0)); - c35: green(rgb(0,35,0)); - c36: green(rgb(0,36,0)); - c37: green(rgb(0,37,0)); - c38: green(rgb(0,38,0)); - c39: green(rgb(0,39,0)); - c40: green(rgb(0,40,0)); - c41: green(rgb(0,41,0)); - c42: green(rgb(0,42,0)); - c43: green(rgb(0,43,0)); - c44: green(rgb(0,44,0)); - c45: green(rgb(0,45,0)); - c46: green(rgb(0,46,0)); - c47: green(rgb(0,47,0)); - c48: green(rgb(0,48,0)); - c49: green(rgb(0,49,0)); - c50: green(rgb(0,50,0)); - c51: green(rgb(0,51,0)); - c52: green(rgb(0,52,0)); - c53: green(rgb(0,53,0)); - c54: green(rgb(0,54,0)); - c55: green(rgb(0,55,0)); - c56: green(rgb(0,56,0)); - c57: green(rgb(0,57,0)); - c58: green(rgb(0,58,0)); - c59: green(rgb(0,59,0)); - c60: green(rgb(0,60,0)); - c61: green(rgb(0,61,0)); - c62: green(rgb(0,62,0)); - c63: green(rgb(0,63,0)); - c64: green(rgb(0,64,0)); - c65: green(rgb(0,65,0)); - c66: green(rgb(0,66,0)); - c67: green(rgb(0,67,0)); - c68: green(rgb(0,68,0)); - c69: green(rgb(0,69,0)); - c70: green(rgb(0,70,0)); - c71: green(rgb(0,71,0)); - c72: green(rgb(0,72,0)); - c73: green(rgb(0,73,0)); - c74: green(rgb(0,74,0)); - c75: green(rgb(0,75,0)); - c76: green(rgb(0,76,0)); - c77: green(rgb(0,77,0)); - c78: green(rgb(0,78,0)); - c79: green(rgb(0,79,0)); - c80: green(rgb(0,80,0)); - c81: green(rgb(0,81,0)); - c82: green(rgb(0,82,0)); - c83: green(rgb(0,83,0)); - c84: green(rgb(0,84,0)); - c85: green(rgb(0,85,0)); - c86: green(rgb(0,86,0)); - c87: green(rgb(0,87,0)); - c88: green(rgb(0,88,0)); - c89: green(rgb(0,89,0)); - c90: green(rgb(0,90,0)); - c91: green(rgb(0,91,0)); - c92: green(rgb(0,92,0)); - c93: green(rgb(0,93,0)); - c94: green(rgb(0,94,0)); - c95: green(rgb(0,95,0)); - c96: green(rgb(0,96,0)); - c97: green(rgb(0,97,0)); - c98: green(rgb(0,98,0)); - c99: green(rgb(0,99,0)); - c100: green(rgb(0,100,0)); - c101: green(rgb(0,101,0)); - c102: green(rgb(0,102,0)); - c103: green(rgb(0,103,0)); - c104: green(rgb(0,104,0)); - c105: green(rgb(0,105,0)); - c106: green(rgb(0,106,0)); - c107: green(rgb(0,107,0)); - c108: green(rgb(0,108,0)); - c109: green(rgb(0,109,0)); - c110: green(rgb(0,110,0)); - c111: green(rgb(0,111,0)); - c112: green(rgb(0,112,0)); - c113: green(rgb(0,113,0)); - c114: green(rgb(0,114,0)); - c115: green(rgb(0,115,0)); - c116: green(rgb(0,116,0)); - c117: green(rgb(0,117,0)); - c118: green(rgb(0,118,0)); - c119: green(rgb(0,119,0)); - c120: green(rgb(0,120,0)); - c121: green(rgb(0,121,0)); - c122: green(rgb(0,122,0)); - c123: green(rgb(0,123,0)); - c124: green(rgb(0,124,0)); - c125: green(rgb(0,125,0)); - c126: green(rgb(0,126,0)); - c127: green(rgb(0,127,0)); - c128: green(rgb(0,128,0)); - c129: green(rgb(0,129,0)); - c130: green(rgb(0,130,0)); - c131: green(rgb(0,131,0)); - c132: green(rgb(0,132,0)); - c133: green(rgb(0,133,0)); - c134: green(rgb(0,134,0)); - c135: green(rgb(0,135,0)); - c136: green(rgb(0,136,0)); - c137: green(rgb(0,137,0)); - c138: green(rgb(0,138,0)); - c139: green(rgb(0,139,0)); - c140: green(rgb(0,140,0)); - c141: green(rgb(0,141,0)); - c142: green(rgb(0,142,0)); - c143: green(rgb(0,143,0)); - c144: green(rgb(0,144,0)); - c145: green(rgb(0,145,0)); - c146: green(rgb(0,146,0)); - c147: green(rgb(0,147,0)); - c148: green(rgb(0,148,0)); - c149: green(rgb(0,149,0)); - c150: green(rgb(0,150,0)); - c151: green(rgb(0,151,0)); - c152: green(rgb(0,152,0)); - c153: green(rgb(0,153,0)); - c154: green(rgb(0,154,0)); - c155: green(rgb(0,155,0)); - c156: green(rgb(0,156,0)); - c157: green(rgb(0,157,0)); - c158: green(rgb(0,158,0)); - c159: green(rgb(0,159,0)); - c160: green(rgb(0,160,0)); - c161: green(rgb(0,161,0)); - c162: green(rgb(0,162,0)); - c163: green(rgb(0,163,0)); - c164: green(rgb(0,164,0)); - c165: green(rgb(0,165,0)); - c166: green(rgb(0,166,0)); - c167: green(rgb(0,167,0)); - c168: green(rgb(0,168,0)); - c169: green(rgb(0,169,0)); - c170: green(rgb(0,170,0)); - c171: green(rgb(0,171,0)); - c172: green(rgb(0,172,0)); - c173: green(rgb(0,173,0)); - c174: green(rgb(0,174,0)); - c175: green(rgb(0,175,0)); - c176: green(rgb(0,176,0)); - c177: green(rgb(0,177,0)); - c178: green(rgb(0,178,0)); - c179: green(rgb(0,179,0)); - c180: green(rgb(0,180,0)); - c181: green(rgb(0,181,0)); - c182: green(rgb(0,182,0)); - c183: green(rgb(0,183,0)); - c184: green(rgb(0,184,0)); - c185: green(rgb(0,185,0)); - c186: green(rgb(0,186,0)); - c187: green(rgb(0,187,0)); - c188: green(rgb(0,188,0)); - c189: green(rgb(0,189,0)); - c190: green(rgb(0,190,0)); - c191: green(rgb(0,191,0)); - c192: green(rgb(0,192,0)); - c193: green(rgb(0,193,0)); - c194: green(rgb(0,194,0)); - c195: green(rgb(0,195,0)); - c196: green(rgb(0,196,0)); - c197: green(rgb(0,197,0)); - c198: green(rgb(0,198,0)); - c199: green(rgb(0,199,0)); - c200: green(rgb(0,200,0)); - c201: green(rgb(0,201,0)); - c202: green(rgb(0,202,0)); - c203: green(rgb(0,203,0)); - c204: green(rgb(0,204,0)); - c205: green(rgb(0,205,0)); - c206: green(rgb(0,206,0)); - c207: green(rgb(0,207,0)); - c208: green(rgb(0,208,0)); - c209: green(rgb(0,209,0)); - c210: green(rgb(0,210,0)); - c211: green(rgb(0,211,0)); - c212: green(rgb(0,212,0)); - c213: green(rgb(0,213,0)); - c214: green(rgb(0,214,0)); - c215: green(rgb(0,215,0)); - c216: green(rgb(0,216,0)); - c217: green(rgb(0,217,0)); - c218: green(rgb(0,218,0)); - c219: green(rgb(0,219,0)); - c220: green(rgb(0,220,0)); - c221: green(rgb(0,221,0)); - c222: green(rgb(0,222,0)); - c223: green(rgb(0,223,0)); - c224: green(rgb(0,224,0)); - c225: green(rgb(0,225,0)); - c226: green(rgb(0,226,0)); - c227: green(rgb(0,227,0)); - c228: green(rgb(0,228,0)); - c229: green(rgb(0,229,0)); - c230: green(rgb(0,230,0)); - c231: green(rgb(0,231,0)); - c232: green(rgb(0,232,0)); - c233: green(rgb(0,233,0)); - c234: green(rgb(0,234,0)); - c235: green(rgb(0,235,0)); - c236: green(rgb(0,236,0)); - c237: green(rgb(0,237,0)); - c238: green(rgb(0,238,0)); - c239: green(rgb(0,239,0)); - c240: green(rgb(0,240,0)); - c241: green(rgb(0,241,0)); - c242: green(rgb(0,242,0)); - c243: green(rgb(0,243,0)); - c244: green(rgb(0,244,0)); - c245: green(rgb(0,245,0)); - c246: green(rgb(0,246,0)); - c247: green(rgb(0,247,0)); - c248: green(rgb(0,248,0)); - c249: green(rgb(0,249,0)); - c250: green(rgb(0,250,0)); - c251: green(rgb(0,251,0)); - c252: green(rgb(0,252,0)); - c253: green(rgb(0,253,0)); - c254: green(rgb(0,254,0)); - c255: green(rgb(0,255,0)); - c256: green(rgb(0,256,0)); -} - -<===> output.css -foo { - c-1: 0; - c0: 0; - c1: 1; - c2: 2; - c3: 3; - c4: 4; - c5: 5; - c6: 6; - c7: 7; - c8: 8; - c9: 9; - c10: 10; - c11: 11; - c12: 12; - c13: 13; - c14: 14; - c15: 15; - c16: 16; - c17: 17; - c18: 18; - c19: 19; - c20: 20; - c21: 21; - c22: 22; - c23: 23; - c24: 24; - c25: 25; - c26: 26; - c27: 27; - c28: 28; - c29: 29; - c30: 30; - c31: 31; - c32: 32; - c33: 33; - c34: 34; - c35: 35; - c36: 36; - c37: 37; - c38: 38; - c39: 39; - c40: 40; - c41: 41; - c42: 42; - c43: 43; - c44: 44; - c45: 45; - c46: 46; - c47: 47; - c48: 48; - c49: 49; - c50: 50; - c51: 51; - c52: 52; - c53: 53; - c54: 54; - c55: 55; - c56: 56; - c57: 57; - c58: 58; - c59: 59; - c60: 60; - c61: 61; - c62: 62; - c63: 63; - c64: 64; - c65: 65; - c66: 66; - c67: 67; - c68: 68; - c69: 69; - c70: 70; - c71: 71; - c72: 72; - c73: 73; - c74: 74; - c75: 75; - c76: 76; - c77: 77; - c78: 78; - c79: 79; - c80: 80; - c81: 81; - c82: 82; - c83: 83; - c84: 84; - c85: 85; - c86: 86; - c87: 87; - c88: 88; - c89: 89; - c90: 90; - c91: 91; - c92: 92; - c93: 93; - c94: 94; - c95: 95; - c96: 96; - c97: 97; - c98: 98; - c99: 99; - c100: 100; - c101: 101; - c102: 102; - c103: 103; - c104: 104; - c105: 105; - c106: 106; - c107: 107; - c108: 108; - c109: 109; - c110: 110; - c111: 111; - c112: 112; - c113: 113; - c114: 114; - c115: 115; - c116: 116; - c117: 117; - c118: 118; - c119: 119; - c120: 120; - c121: 121; - c122: 122; - c123: 123; - c124: 124; - c125: 125; - c126: 126; - c127: 127; - c128: 128; - c129: 129; - c130: 130; - c131: 131; - c132: 132; - c133: 133; - c134: 134; - c135: 135; - c136: 136; - c137: 137; - c138: 138; - c139: 139; - c140: 140; - c141: 141; - c142: 142; - c143: 143; - c144: 144; - c145: 145; - c146: 146; - c147: 147; - c148: 148; - c149: 149; - c150: 150; - c151: 151; - c152: 152; - c153: 153; - c154: 154; - c155: 155; - c156: 156; - c157: 157; - c158: 158; - c159: 159; - c160: 160; - c161: 161; - c162: 162; - c163: 163; - c164: 164; - c165: 165; - c166: 166; - c167: 167; - c168: 168; - c169: 169; - c170: 170; - c171: 171; - c172: 172; - c173: 173; - c174: 174; - c175: 175; - c176: 176; - c177: 177; - c178: 178; - c179: 179; - c180: 180; - c181: 181; - c182: 182; - c183: 183; - c184: 184; - c185: 185; - c186: 186; - c187: 187; - c188: 188; - c189: 189; - c190: 190; - c191: 191; - c192: 192; - c193: 193; - c194: 194; - c195: 195; - c196: 196; - c197: 197; - c198: 198; - c199: 199; - c200: 200; - c201: 201; - c202: 202; - c203: 203; - c204: 204; - c205: 205; - c206: 206; - c207: 207; - c208: 208; - c209: 209; - c210: 210; - c211: 211; - c212: 212; - c213: 213; - c214: 214; - c215: 215; - c216: 216; - c217: 217; - c218: 218; - c219: 219; - c220: 220; - c221: 221; - c222: 222; - c223: 223; - c224: 224; - c225: 225; - c226: 226; - c227: 227; - c228: 228; - c229: 229; - c230: 230; - c231: 231; - c232: 232; - c233: 233; - c234: 234; - c235: 235; - c236: 236; - c237: 237; - c238: 238; - c239: 239; - c240: 240; - c241: 241; - c242: 242; - c243: 243; - c244: 244; - c245: 245; - c246: 246; - c247: 247; - c248: 248; - c249: 249; - c250: 250; - c251: 251; - c252: 252; - c253: 253; - c254: 254; - c255: 255; - c256: 255; -} diff --git a/spec/libsass/color-functions/rgb/mix.hrx b/spec/libsass/color-functions/rgb/mix.hrx deleted file mode 100644 index 6be02883a3..0000000000 --- a/spec/libsass/color-functions/rgb/mix.hrx +++ /dev/null @@ -1,211 +0,0 @@ -<===> input.scss -foo { - // c-1: mix(black,white,-1%); - c0: mix(black,white,0%); - c1: mix(black,white,1%); - c2: mix(black,white,2%); - c3: mix(black,white,3%); - c4: mix(black,white,4%); - c5: mix(black,white,5%); - c6: mix(black,white,6%); - c7: mix(black,white,7%); - c8: mix(black,white,8%); - c9: mix(black,white,9%); - c10: mix(black,white,10%); - c11: mix(black,white,11%); - c12: mix(black,white,12%); - c13: mix(black,white,13%); - c14: mix(black,white,14%); - c15: mix(black,white,15%); - c16: mix(black,white,16%); - c17: mix(black,white,17%); - c18: mix(black,white,18%); - c19: mix(black,white,19%); - c20: mix(black,white,20%); - c21: mix(black,white,21%); - c22: mix(black,white,22%); - c23: mix(black,white,23%); - c24: mix(black,white,24%); - c25: mix(black,white,25%); - c26: mix(black,white,26%); - c27: mix(black,white,27%); - c28: mix(black,white,28%); - c29: mix(black,white,29%); - c30: mix(black,white,30%); - c31: mix(black,white,31%); - c32: mix(black,white,32%); - c33: mix(black,white,33%); - c34: mix(black,white,34%); - c35: mix(black,white,35%); - c36: mix(black,white,36%); - c37: mix(black,white,37%); - c38: mix(black,white,38%); - c39: mix(black,white,39%); - c40: mix(black,white,40%); - c41: mix(black,white,41%); - c42: mix(black,white,42%); - c43: mix(black,white,43%); - c44: mix(black,white,44%); - c45: mix(black,white,45%); - c46: mix(black,white,46%); - c47: mix(black,white,47%); - c48: mix(black,white,48%); - c49: mix(black,white,49%); - c50: mix(black,white,50%); - c51: mix(black,white,51%); - c52: mix(black,white,52%); - c53: mix(black,white,53%); - c54: mix(black,white,54%); - c55: mix(black,white,55%); - c56: mix(black,white,56%); - c57: mix(black,white,57%); - c58: mix(black,white,58%); - c59: mix(black,white,59%); - c60: mix(black,white,60%); - c61: mix(black,white,61%); - c62: mix(black,white,62%); - c63: mix(black,white,63%); - c64: mix(black,white,64%); - c65: mix(black,white,65%); - c66: mix(black,white,66%); - c67: mix(black,white,67%); - c68: mix(black,white,68%); - c69: mix(black,white,69%); - c70: mix(black,white,70%); - c71: mix(black,white,71%); - c72: mix(black,white,72%); - c73: mix(black,white,73%); - c74: mix(black,white,74%); - c75: mix(black,white,75%); - c76: mix(black,white,76%); - c77: mix(black,white,77%); - c78: mix(black,white,78%); - c79: mix(black,white,79%); - c80: mix(black,white,80%); - c81: mix(black,white,81%); - c82: mix(black,white,82%); - c83: mix(black,white,83%); - c84: mix(black,white,84%); - c85: mix(black,white,85%); - c86: mix(black,white,86%); - c87: mix(black,white,87%); - c88: mix(black,white,88%); - c89: mix(black,white,89%); - c90: mix(black,white,90%); - c91: mix(black,white,91%); - c92: mix(black,white,92%); - c93: mix(black,white,93%); - c94: mix(black,white,94%); - c95: mix(black,white,95%); - c96: mix(black,white,96%); - c97: mix(black,white,97%); - c98: mix(black,white,98%); - c99: mix(black,white,99%); - c100: mix(black,white,100%); - // c101: mix(black,white,101%); -} - -<===> output.css -foo { - c0: white; - c1: #fcfcfc; - c2: #fafafa; - c3: #f7f7f7; - c4: whitesmoke; - c5: #f2f2f2; - c6: #f0f0f0; - c7: #ededed; - c8: #ebebeb; - c9: #e8e8e8; - c10: #e6e6e6; - c11: #e3e3e3; - c12: #e0e0e0; - c13: #dedede; - c14: #dbdbdb; - c15: #d9d9d9; - c16: #d6d6d6; - c17: #d4d4d4; - c18: #d1d1d1; - c19: #cfcfcf; - c20: #cccccc; - c21: #c9c9c9; - c22: #c7c7c7; - c23: #c4c4c4; - c24: #c2c2c2; - c25: #bfbfbf; - c26: #bdbdbd; - c27: #bababa; - c28: #b8b8b8; - c29: #b5b5b5; - c30: #b3b3b3; - c31: #b0b0b0; - c32: #adadad; - c33: #ababab; - c34: #a8a8a8; - c35: #a6a6a6; - c36: #a3a3a3; - c37: #a1a1a1; - c38: #9e9e9e; - c39: #9c9c9c; - c40: #999999; - c41: #969696; - c42: #949494; - c43: #919191; - c44: #8f8f8f; - c45: #8c8c8c; - c46: #8a8a8a; - c47: #878787; - c48: #858585; - c49: #828282; - c50: gray; - c51: #7d7d7d; - c52: #7a7a7a; - c53: #787878; - c54: #757575; - c55: #737373; - c56: #707070; - c57: #6e6e6e; - c58: #6b6b6b; - c59: dimgray; - c60: #666666; - c61: #636363; - c62: #616161; - c63: #5e5e5e; - c64: #5c5c5c; - c65: #595959; - c66: #575757; - c67: #545454; - c68: #525252; - c69: #4f4f4f; - c70: #4d4d4d; - c71: #4a4a4a; - c72: #474747; - c73: #454545; - c74: #424242; - c75: #404040; - c76: #3d3d3d; - c77: #3b3b3b; - c78: #383838; - c79: #363636; - c80: #333333; - c81: #303030; - c82: #2e2e2e; - c83: #2b2b2b; - c84: #292929; - c85: #262626; - c86: #242424; - c87: #212121; - c88: #1f1f1f; - c89: #1c1c1c; - c90: #1a1a1a; - c91: #171717; - c92: #141414; - c93: #121212; - c94: #0f0f0f; - c95: #0d0d0d; - c96: #0a0a0a; - c97: #080808; - c98: #050505; - c99: #030303; - c100: black; -} diff --git a/spec/libsass/color-functions/rgb/red.hrx b/spec/libsass/color-functions/rgb/red.hrx deleted file mode 100644 index 2d42bd03f7..0000000000 --- a/spec/libsass/color-functions/rgb/red.hrx +++ /dev/null @@ -1,523 +0,0 @@ -<===> input.scss -foo { - c-1: red(rgb(-1,0,0)); - c0: red(rgb(0,0,0)); - c1: red(rgb(1,0,0)); - c2: red(rgb(2,0,0)); - c3: red(rgb(3,0,0)); - c4: red(rgb(4,0,0)); - c5: red(rgb(5,0,0)); - c6: red(rgb(6,0,0)); - c7: red(rgb(7,0,0)); - c8: red(rgb(8,0,0)); - c9: red(rgb(9,0,0)); - c10: red(rgb(10,0,0)); - c11: red(rgb(11,0,0)); - c12: red(rgb(12,0,0)); - c13: red(rgb(13,0,0)); - c14: red(rgb(14,0,0)); - c15: red(rgb(15,0,0)); - c16: red(rgb(16,0,0)); - c17: red(rgb(17,0,0)); - c18: red(rgb(18,0,0)); - c19: red(rgb(19,0,0)); - c20: red(rgb(20,0,0)); - c21: red(rgb(21,0,0)); - c22: red(rgb(22,0,0)); - c23: red(rgb(23,0,0)); - c24: red(rgb(24,0,0)); - c25: red(rgb(25,0,0)); - c26: red(rgb(26,0,0)); - c27: red(rgb(27,0,0)); - c28: red(rgb(28,0,0)); - c29: red(rgb(29,0,0)); - c30: red(rgb(30,0,0)); - c31: red(rgb(31,0,0)); - c32: red(rgb(32,0,0)); - c33: red(rgb(33,0,0)); - c34: red(rgb(34,0,0)); - c35: red(rgb(35,0,0)); - c36: red(rgb(36,0,0)); - c37: red(rgb(37,0,0)); - c38: red(rgb(38,0,0)); - c39: red(rgb(39,0,0)); - c40: red(rgb(40,0,0)); - c41: red(rgb(41,0,0)); - c42: red(rgb(42,0,0)); - c43: red(rgb(43,0,0)); - c44: red(rgb(44,0,0)); - c45: red(rgb(45,0,0)); - c46: red(rgb(46,0,0)); - c47: red(rgb(47,0,0)); - c48: red(rgb(48,0,0)); - c49: red(rgb(49,0,0)); - c50: red(rgb(50,0,0)); - c51: red(rgb(51,0,0)); - c52: red(rgb(52,0,0)); - c53: red(rgb(53,0,0)); - c54: red(rgb(54,0,0)); - c55: red(rgb(55,0,0)); - c56: red(rgb(56,0,0)); - c57: red(rgb(57,0,0)); - c58: red(rgb(58,0,0)); - c59: red(rgb(59,0,0)); - c60: red(rgb(60,0,0)); - c61: red(rgb(61,0,0)); - c62: red(rgb(62,0,0)); - c63: red(rgb(63,0,0)); - c64: red(rgb(64,0,0)); - c65: red(rgb(65,0,0)); - c66: red(rgb(66,0,0)); - c67: red(rgb(67,0,0)); - c68: red(rgb(68,0,0)); - c69: red(rgb(69,0,0)); - c70: red(rgb(70,0,0)); - c71: red(rgb(71,0,0)); - c72: red(rgb(72,0,0)); - c73: red(rgb(73,0,0)); - c74: red(rgb(74,0,0)); - c75: red(rgb(75,0,0)); - c76: red(rgb(76,0,0)); - c77: red(rgb(77,0,0)); - c78: red(rgb(78,0,0)); - c79: red(rgb(79,0,0)); - c80: red(rgb(80,0,0)); - c81: red(rgb(81,0,0)); - c82: red(rgb(82,0,0)); - c83: red(rgb(83,0,0)); - c84: red(rgb(84,0,0)); - c85: red(rgb(85,0,0)); - c86: red(rgb(86,0,0)); - c87: red(rgb(87,0,0)); - c88: red(rgb(88,0,0)); - c89: red(rgb(89,0,0)); - c90: red(rgb(90,0,0)); - c91: red(rgb(91,0,0)); - c92: red(rgb(92,0,0)); - c93: red(rgb(93,0,0)); - c94: red(rgb(94,0,0)); - c95: red(rgb(95,0,0)); - c96: red(rgb(96,0,0)); - c97: red(rgb(97,0,0)); - c98: red(rgb(98,0,0)); - c99: red(rgb(99,0,0)); - c100: red(rgb(100,0,0)); - c101: red(rgb(101,0,0)); - c102: red(rgb(102,0,0)); - c103: red(rgb(103,0,0)); - c104: red(rgb(104,0,0)); - c105: red(rgb(105,0,0)); - c106: red(rgb(106,0,0)); - c107: red(rgb(107,0,0)); - c108: red(rgb(108,0,0)); - c109: red(rgb(109,0,0)); - c110: red(rgb(110,0,0)); - c111: red(rgb(111,0,0)); - c112: red(rgb(112,0,0)); - c113: red(rgb(113,0,0)); - c114: red(rgb(114,0,0)); - c115: red(rgb(115,0,0)); - c116: red(rgb(116,0,0)); - c117: red(rgb(117,0,0)); - c118: red(rgb(118,0,0)); - c119: red(rgb(119,0,0)); - c120: red(rgb(120,0,0)); - c121: red(rgb(121,0,0)); - c122: red(rgb(122,0,0)); - c123: red(rgb(123,0,0)); - c124: red(rgb(124,0,0)); - c125: red(rgb(125,0,0)); - c126: red(rgb(126,0,0)); - c127: red(rgb(127,0,0)); - c128: red(rgb(128,0,0)); - c129: red(rgb(129,0,0)); - c130: red(rgb(130,0,0)); - c131: red(rgb(131,0,0)); - c132: red(rgb(132,0,0)); - c133: red(rgb(133,0,0)); - c134: red(rgb(134,0,0)); - c135: red(rgb(135,0,0)); - c136: red(rgb(136,0,0)); - c137: red(rgb(137,0,0)); - c138: red(rgb(138,0,0)); - c139: red(rgb(139,0,0)); - c140: red(rgb(140,0,0)); - c141: red(rgb(141,0,0)); - c142: red(rgb(142,0,0)); - c143: red(rgb(143,0,0)); - c144: red(rgb(144,0,0)); - c145: red(rgb(145,0,0)); - c146: red(rgb(146,0,0)); - c147: red(rgb(147,0,0)); - c148: red(rgb(148,0,0)); - c149: red(rgb(149,0,0)); - c150: red(rgb(150,0,0)); - c151: red(rgb(151,0,0)); - c152: red(rgb(152,0,0)); - c153: red(rgb(153,0,0)); - c154: red(rgb(154,0,0)); - c155: red(rgb(155,0,0)); - c156: red(rgb(156,0,0)); - c157: red(rgb(157,0,0)); - c158: red(rgb(158,0,0)); - c159: red(rgb(159,0,0)); - c160: red(rgb(160,0,0)); - c161: red(rgb(161,0,0)); - c162: red(rgb(162,0,0)); - c163: red(rgb(163,0,0)); - c164: red(rgb(164,0,0)); - c165: red(rgb(165,0,0)); - c166: red(rgb(166,0,0)); - c167: red(rgb(167,0,0)); - c168: red(rgb(168,0,0)); - c169: red(rgb(169,0,0)); - c170: red(rgb(170,0,0)); - c171: red(rgb(171,0,0)); - c172: red(rgb(172,0,0)); - c173: red(rgb(173,0,0)); - c174: red(rgb(174,0,0)); - c175: red(rgb(175,0,0)); - c176: red(rgb(176,0,0)); - c177: red(rgb(177,0,0)); - c178: red(rgb(178,0,0)); - c179: red(rgb(179,0,0)); - c180: red(rgb(180,0,0)); - c181: red(rgb(181,0,0)); - c182: red(rgb(182,0,0)); - c183: red(rgb(183,0,0)); - c184: red(rgb(184,0,0)); - c185: red(rgb(185,0,0)); - c186: red(rgb(186,0,0)); - c187: red(rgb(187,0,0)); - c188: red(rgb(188,0,0)); - c189: red(rgb(189,0,0)); - c190: red(rgb(190,0,0)); - c191: red(rgb(191,0,0)); - c192: red(rgb(192,0,0)); - c193: red(rgb(193,0,0)); - c194: red(rgb(194,0,0)); - c195: red(rgb(195,0,0)); - c196: red(rgb(196,0,0)); - c197: red(rgb(197,0,0)); - c198: red(rgb(198,0,0)); - c199: red(rgb(199,0,0)); - c200: red(rgb(200,0,0)); - c201: red(rgb(201,0,0)); - c202: red(rgb(202,0,0)); - c203: red(rgb(203,0,0)); - c204: red(rgb(204,0,0)); - c205: red(rgb(205,0,0)); - c206: red(rgb(206,0,0)); - c207: red(rgb(207,0,0)); - c208: red(rgb(208,0,0)); - c209: red(rgb(209,0,0)); - c210: red(rgb(210,0,0)); - c211: red(rgb(211,0,0)); - c212: red(rgb(212,0,0)); - c213: red(rgb(213,0,0)); - c214: red(rgb(214,0,0)); - c215: red(rgb(215,0,0)); - c216: red(rgb(216,0,0)); - c217: red(rgb(217,0,0)); - c218: red(rgb(218,0,0)); - c219: red(rgb(219,0,0)); - c220: red(rgb(220,0,0)); - c221: red(rgb(221,0,0)); - c222: red(rgb(222,0,0)); - c223: red(rgb(223,0,0)); - c224: red(rgb(224,0,0)); - c225: red(rgb(225,0,0)); - c226: red(rgb(226,0,0)); - c227: red(rgb(227,0,0)); - c228: red(rgb(228,0,0)); - c229: red(rgb(229,0,0)); - c230: red(rgb(230,0,0)); - c231: red(rgb(231,0,0)); - c232: red(rgb(232,0,0)); - c233: red(rgb(233,0,0)); - c234: red(rgb(234,0,0)); - c235: red(rgb(235,0,0)); - c236: red(rgb(236,0,0)); - c237: red(rgb(237,0,0)); - c238: red(rgb(238,0,0)); - c239: red(rgb(239,0,0)); - c240: red(rgb(240,0,0)); - c241: red(rgb(241,0,0)); - c242: red(rgb(242,0,0)); - c243: red(rgb(243,0,0)); - c244: red(rgb(244,0,0)); - c245: red(rgb(245,0,0)); - c246: red(rgb(246,0,0)); - c247: red(rgb(247,0,0)); - c248: red(rgb(248,0,0)); - c249: red(rgb(249,0,0)); - c250: red(rgb(250,0,0)); - c251: red(rgb(251,0,0)); - c252: red(rgb(252,0,0)); - c253: red(rgb(253,0,0)); - c254: red(rgb(254,0,0)); - c255: red(rgb(255,0,0)); - c256: red(rgb(256,0,0)); -} - -<===> output.css -foo { - c-1: 0; - c0: 0; - c1: 1; - c2: 2; - c3: 3; - c4: 4; - c5: 5; - c6: 6; - c7: 7; - c8: 8; - c9: 9; - c10: 10; - c11: 11; - c12: 12; - c13: 13; - c14: 14; - c15: 15; - c16: 16; - c17: 17; - c18: 18; - c19: 19; - c20: 20; - c21: 21; - c22: 22; - c23: 23; - c24: 24; - c25: 25; - c26: 26; - c27: 27; - c28: 28; - c29: 29; - c30: 30; - c31: 31; - c32: 32; - c33: 33; - c34: 34; - c35: 35; - c36: 36; - c37: 37; - c38: 38; - c39: 39; - c40: 40; - c41: 41; - c42: 42; - c43: 43; - c44: 44; - c45: 45; - c46: 46; - c47: 47; - c48: 48; - c49: 49; - c50: 50; - c51: 51; - c52: 52; - c53: 53; - c54: 54; - c55: 55; - c56: 56; - c57: 57; - c58: 58; - c59: 59; - c60: 60; - c61: 61; - c62: 62; - c63: 63; - c64: 64; - c65: 65; - c66: 66; - c67: 67; - c68: 68; - c69: 69; - c70: 70; - c71: 71; - c72: 72; - c73: 73; - c74: 74; - c75: 75; - c76: 76; - c77: 77; - c78: 78; - c79: 79; - c80: 80; - c81: 81; - c82: 82; - c83: 83; - c84: 84; - c85: 85; - c86: 86; - c87: 87; - c88: 88; - c89: 89; - c90: 90; - c91: 91; - c92: 92; - c93: 93; - c94: 94; - c95: 95; - c96: 96; - c97: 97; - c98: 98; - c99: 99; - c100: 100; - c101: 101; - c102: 102; - c103: 103; - c104: 104; - c105: 105; - c106: 106; - c107: 107; - c108: 108; - c109: 109; - c110: 110; - c111: 111; - c112: 112; - c113: 113; - c114: 114; - c115: 115; - c116: 116; - c117: 117; - c118: 118; - c119: 119; - c120: 120; - c121: 121; - c122: 122; - c123: 123; - c124: 124; - c125: 125; - c126: 126; - c127: 127; - c128: 128; - c129: 129; - c130: 130; - c131: 131; - c132: 132; - c133: 133; - c134: 134; - c135: 135; - c136: 136; - c137: 137; - c138: 138; - c139: 139; - c140: 140; - c141: 141; - c142: 142; - c143: 143; - c144: 144; - c145: 145; - c146: 146; - c147: 147; - c148: 148; - c149: 149; - c150: 150; - c151: 151; - c152: 152; - c153: 153; - c154: 154; - c155: 155; - c156: 156; - c157: 157; - c158: 158; - c159: 159; - c160: 160; - c161: 161; - c162: 162; - c163: 163; - c164: 164; - c165: 165; - c166: 166; - c167: 167; - c168: 168; - c169: 169; - c170: 170; - c171: 171; - c172: 172; - c173: 173; - c174: 174; - c175: 175; - c176: 176; - c177: 177; - c178: 178; - c179: 179; - c180: 180; - c181: 181; - c182: 182; - c183: 183; - c184: 184; - c185: 185; - c186: 186; - c187: 187; - c188: 188; - c189: 189; - c190: 190; - c191: 191; - c192: 192; - c193: 193; - c194: 194; - c195: 195; - c196: 196; - c197: 197; - c198: 198; - c199: 199; - c200: 200; - c201: 201; - c202: 202; - c203: 203; - c204: 204; - c205: 205; - c206: 206; - c207: 207; - c208: 208; - c209: 209; - c210: 210; - c211: 211; - c212: 212; - c213: 213; - c214: 214; - c215: 215; - c216: 216; - c217: 217; - c218: 218; - c219: 219; - c220: 220; - c221: 221; - c222: 222; - c223: 223; - c224: 224; - c225: 225; - c226: 226; - c227: 227; - c228: 228; - c229: 229; - c230: 230; - c231: 231; - c232: 232; - c233: 233; - c234: 234; - c235: 235; - c236: 236; - c237: 237; - c238: 238; - c239: 239; - c240: 240; - c241: 241; - c242: 242; - c243: 243; - c244: 244; - c245: 245; - c246: 246; - c247: 247; - c248: 248; - c249: 249; - c250: 250; - c251: 251; - c252: 252; - c253: 253; - c254: 254; - c255: 255; - c256: 255; -} diff --git a/spec/libsass/delayed.hrx b/spec/libsass/delayed.hrx index d8d331b3d0..bdccb93881 100644 --- a/spec/libsass/delayed.hrx +++ b/spec/libsass/delayed.hrx @@ -46,7 +46,7 @@ div { foo: 1; coo: 0.8888888889; bar: true; - bar: false and true; + bar: false; bar: false; blah: a; blah: 0.75; @@ -55,7 +55,7 @@ div { blix: "hey 0.75 ho"; } -@media screen and (hux: 3 / 4) { +@media screen and (hux: 3/4) { div { color: red; } @@ -68,7 +68,7 @@ span { fludge: 0.75; } -<===> output-dart-sass.css +<===> output-libsass.css div { hoo: 3/4; goo: 0.75; @@ -76,7 +76,7 @@ div { foo: 1; coo: 0.8888888889; bar: true; - bar: false; + bar: false and true; bar: false; blah: a; blah: 0.75; diff --git a/spec/libsass/filter-functions.hrx b/spec/libsass/filter-functions.hrx deleted file mode 100644 index de5f774b2f..0000000000 --- a/spec/libsass/filter-functions.hrx +++ /dev/null @@ -1,15 +0,0 @@ -<===> input.scss -div { - hoo: grayscale(0.3) grayscale(200%); - moo: opacity(0.3) opacity(200%); - poo: invert(0.3) invert(200%); - goo: saturate(0.3) saturate(200%); -} - -<===> output.css -div { - hoo: grayscale(0.3) grayscale(200%); - moo: opacity(0.3) opacity(200%); - poo: invert(0.3) invert(200%); - goo: saturate(0.3) saturate(200%); -} diff --git a/spec/libsass/parent-selector/missing.hrx b/spec/libsass/parent-selector/missing.hrx index 798724cb91..ab1ed79aa1 100644 --- a/spec/libsass/parent-selector/missing.hrx +++ b/spec/libsass/parent-selector/missing.hrx @@ -41,6 +41,13 @@ Error: Base-level rules cannot contain the parent-selector-referencing character from line 29 of /sass/spec/parent-selector/missing/input.scss Use --trace for backtrace. +<===> error-libsass +Error: Top-level selectors may not contain the parent selector "&". + on line 22:9 of input.scss, in mixin `grid-media-query` + from line 29:12 of input.scss +>> body.immobile & { + ----^ + <===> error-dart-sass Error: Top-level selectors may not contain the parent selector "&". , diff --git a/spec/libsass/variable-scoping/blead-global/expanding/at-root.hrx b/spec/libsass/variable-scoping/blead-global/expanding/at-root.hrx index 895dc34a73..213553e51c 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/at-root.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/at-root.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/each.hrx b/spec/libsass/variable-scoping/blead-global/expanding/each.hrx index b140891587..b4b5283b7e 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/each.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/each.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/else.hrx b/spec/libsass/variable-scoping/blead-global/expanding/else.hrx index 2a46a16a0c..1667558731 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/else.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/else.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/elseif.hrx b/spec/libsass/variable-scoping/blead-global/expanding/elseif.hrx index c0ceb288c9..44ca5a78ff 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/elseif.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/elseif.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/for.hrx b/spec/libsass/variable-scoping/blead-global/expanding/for.hrx index f0d82e0e08..2f79b88610 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/for.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/for.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $continue: true; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/function.hrx b/spec/libsass/variable-scoping/blead-global/expanding/function.hrx index c6d7a8d261..212047eb17 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/function.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/function.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $continue_inner: true; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/if.hrx b/spec/libsass/variable-scoping/blead-global/expanding/if.hrx index 54f7f30bf8..94b758e66c 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/if.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/if.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/mixin.hrx b/spec/libsass/variable-scoping/blead-global/expanding/mixin.hrx index 2ec22fe4c5..01aa87d478 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/mixin.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/mixin.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/ruleset.hrx b/spec/libsass/variable-scoping/blead-global/expanding/ruleset.hrx index b858e4de66..df35bf8813 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/ruleset.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/ruleset.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/expanding/while.hrx b/spec/libsass/variable-scoping/blead-global/expanding/while.hrx index 6840d31114..39abe3ab09 100644 --- a/spec/libsass/variable-scoping/blead-global/expanding/while.hrx +++ b/spec/libsass/variable-scoping/blead-global/expanding/while.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $continue_inner: true; diff --git a/spec/libsass/variable-scoping/blead-global/functional/each.hrx b/spec/libsass/variable-scoping/blead-global/functional/each.hrx index dc59214f06..683a7d8f15 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/each.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/each.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/functional/else.hrx b/spec/libsass/variable-scoping/blead-global/functional/else.hrx index be4f4d1e9a..5e3d09fc58 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/else.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/else.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/functional/elseif.hrx b/spec/libsass/variable-scoping/blead-global/functional/elseif.hrx index 6d24edf3fd..12ad253e6d 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/elseif.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/elseif.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/functional/for.hrx b/spec/libsass/variable-scoping/blead-global/functional/for.hrx index fc1bca909e..53c199318e 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/for.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/for.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/functional/if.hrx b/spec/libsass/variable-scoping/blead-global/functional/if.hrx index f3f5b56270..7a31b065ad 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/if.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/if.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $root_default: initial; diff --git a/spec/libsass/variable-scoping/blead-global/functional/while.hrx b/spec/libsass/variable-scoping/blead-global/functional/while.hrx index 8153791f02..936c2c74a8 100644 --- a/spec/libsass/variable-scoping/blead-global/functional/while.hrx +++ b/spec/libsass/variable-scoping/blead-global/functional/while.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $continue_inner: true; diff --git a/spec/libsass/variable-scoping/defaults-global-null.hrx b/spec/libsass/variable-scoping/defaults-global-null.hrx index cedae14e7b..6219ae674f 100644 --- a/spec/libsass/variable-scoping/defaults-global-null.hrx +++ b/spec/libsass/variable-scoping/defaults-global-null.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss div { diff --git a/spec/libsass/variable-scoping/defaults-global.hrx b/spec/libsass/variable-scoping/defaults-global.hrx index bc0740648a..9ed4f33d01 100644 --- a/spec/libsass/variable-scoping/defaults-global.hrx +++ b/spec/libsass/variable-scoping/defaults-global.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss div { diff --git a/spec/libsass/variable-scoping/defaults.hrx b/spec/libsass/variable-scoping/defaults.hrx index 8ee3b17fda..f24f4cacbf 100644 --- a/spec/libsass/variable-scoping/defaults.hrx +++ b/spec/libsass/variable-scoping/defaults.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> input.scss $i: 9; diff --git a/spec/misc/JMA-pseudo-test.hrx b/spec/misc/JMA-pseudo-test.hrx index c862830ff4..b1ba4a0591 100644 --- a/spec/misc/JMA-pseudo-test.hrx +++ b/spec/misc/JMA-pseudo-test.hrx @@ -18,9 +18,3 @@ .bar .foo h3 { color: red; } - -<===> output-libsass.css -.foo h1, -.foo .bar h3, .bar .foo h3 { - color: red; -} diff --git a/spec/nesting/not.hrx b/spec/nesting/not.hrx new file mode 100644 index 0000000000..9ec5561a94 --- /dev/null +++ b/spec/nesting/not.hrx @@ -0,0 +1,10 @@ +<===> multiple_parent_selectors_with_trailing_ident/input.scss +// Regression test for sass/libsass#2630 +.a, .b { + :not(&-c) {d: e} +} + +<===> multiple_parent_selectors_with_trailing_ident/output.css +:not(.a-c, .b-c) { + d: e; +} diff --git a/spec/operations/division.hrx b/spec/operations/division.hrx index 73728c4409..ae8bf2803b 100644 --- a/spec/operations/division.hrx +++ b/spec/operations/division.hrx @@ -21,7 +21,7 @@ a { <===> slash/with_string/slash_slash_string/options.yml --- :todo: -- libsass # sass/libsass#2840 +- sass/libsass#2840 <===> slash/with_string/slash_slash_string/input.scss a {b: 1 / 2 / foo()} diff --git a/spec/parser/interpolate/11_escaped_literal/02_variable.hrx b/spec/parser/interpolate/11_escaped_literal/02_variable.hrx index 648bc77a11..3021e6801c 100644 --- a/spec/parser/interpolate/11_escaped_literal/02_variable.hrx +++ b/spec/parser/interpolate/11_escaped_literal/02_variable.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: l\\ite\ral; diff --git a/spec/parser/interpolate/11_escaped_literal/03_inline_double.hrx b/spec/parser/interpolate/11_escaped_literal/03_inline_double.hrx index a0cabd67a7..d3480f6866 100644 --- a/spec/parser/interpolate/11_escaped_literal/03_inline_double.hrx +++ b/spec/parser/interpolate/11_escaped_literal/03_inline_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss .result { diff --git a/spec/parser/interpolate/11_escaped_literal/04_variable_double.hrx b/spec/parser/interpolate/11_escaped_literal/04_variable_double.hrx index b17bb643d3..3bc57d9548 100644 --- a/spec/parser/interpolate/11_escaped_literal/04_variable_double.hrx +++ b/spec/parser/interpolate/11_escaped_literal/04_variable_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: l\\ite\ral; diff --git a/spec/parser/interpolate/11_escaped_literal/05_variable_quoted_double.hrx b/spec/parser/interpolate/11_escaped_literal/05_variable_quoted_double.hrx index 722f23d242..c296aed7da 100644 --- a/spec/parser/interpolate/11_escaped_literal/05_variable_quoted_double.hrx +++ b/spec/parser/interpolate/11_escaped_literal/05_variable_quoted_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: l\\ite\ral; diff --git a/spec/parser/interpolate/14_escapes_literal_numbers/03_inline_double.hrx b/spec/parser/interpolate/14_escapes_literal_numbers/03_inline_double.hrx index 3603cf9303..8cbed68685 100644 --- a/spec/parser/interpolate/14_escapes_literal_numbers/03_inline_double.hrx +++ b/spec/parser/interpolate/14_escapes_literal_numbers/03_inline_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss .result { diff --git a/spec/parser/interpolate/14_escapes_literal_numbers/04_variable_double.hrx b/spec/parser/interpolate/14_escapes_literal_numbers/04_variable_double.hrx index d37f08b545..a1393c5453 100644 --- a/spec/parser/interpolate/14_escapes_literal_numbers/04_variable_double.hrx +++ b/spec/parser/interpolate/14_escapes_literal_numbers/04_variable_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \1\2\3\4\5\6\7\8\9; diff --git a/spec/parser/interpolate/17_escapes_literal_lowercase/02_variable.hrx b/spec/parser/interpolate/17_escapes_literal_lowercase/02_variable.hrx index 3f6e7dcbe0..8e685e0a2d 100644 --- a/spec/parser/interpolate/17_escapes_literal_lowercase/02_variable.hrx +++ b/spec/parser/interpolate/17_escapes_literal_lowercase/02_variable.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z; diff --git a/spec/parser/interpolate/17_escapes_literal_lowercase/03_inline_double.hrx b/spec/parser/interpolate/17_escapes_literal_lowercase/03_inline_double.hrx index 68178d33b9..461a6a1ef7 100644 --- a/spec/parser/interpolate/17_escapes_literal_lowercase/03_inline_double.hrx +++ b/spec/parser/interpolate/17_escapes_literal_lowercase/03_inline_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss .result { diff --git a/spec/parser/interpolate/17_escapes_literal_lowercase/04_variable_double.hrx b/spec/parser/interpolate/17_escapes_literal_lowercase/04_variable_double.hrx index 07f0131b47..ad95375923 100644 --- a/spec/parser/interpolate/17_escapes_literal_lowercase/04_variable_double.hrx +++ b/spec/parser/interpolate/17_escapes_literal_lowercase/04_variable_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z; diff --git a/spec/parser/interpolate/17_escapes_literal_lowercase/05_variable_quoted_double.hrx b/spec/parser/interpolate/17_escapes_literal_lowercase/05_variable_quoted_double.hrx index a6bf1824ab..cad3a63643 100644 --- a/spec/parser/interpolate/17_escapes_literal_lowercase/05_variable_quoted_double.hrx +++ b/spec/parser/interpolate/17_escapes_literal_lowercase/05_variable_quoted_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z; diff --git a/spec/parser/interpolate/20_escapes_literal_uppercase/02_variable.hrx b/spec/parser/interpolate/20_escapes_literal_uppercase/02_variable.hrx index a84c18fc7a..52230ae20c 100644 --- a/spec/parser/interpolate/20_escapes_literal_uppercase/02_variable.hrx +++ b/spec/parser/interpolate/20_escapes_literal_uppercase/02_variable.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z; diff --git a/spec/parser/interpolate/20_escapes_literal_uppercase/03_inline_double.hrx b/spec/parser/interpolate/20_escapes_literal_uppercase/03_inline_double.hrx index 07294f799f..db48f557f7 100644 --- a/spec/parser/interpolate/20_escapes_literal_uppercase/03_inline_double.hrx +++ b/spec/parser/interpolate/20_escapes_literal_uppercase/03_inline_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss .result { diff --git a/spec/parser/interpolate/20_escapes_literal_uppercase/04_variable_double.hrx b/spec/parser/interpolate/20_escapes_literal_uppercase/04_variable_double.hrx index d03a848390..ed5dff4b9d 100644 --- a/spec/parser/interpolate/20_escapes_literal_uppercase/04_variable_double.hrx +++ b/spec/parser/interpolate/20_escapes_literal_uppercase/04_variable_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z; diff --git a/spec/parser/interpolate/20_escapes_literal_uppercase/05_variable_quoted_double.hrx b/spec/parser/interpolate/20_escapes_literal_uppercase/05_variable_quoted_double.hrx index 5530674132..2b947d11bb 100644 --- a/spec/parser/interpolate/20_escapes_literal_uppercase/05_variable_quoted_double.hrx +++ b/spec/parser/interpolate/20_escapes_literal_uppercase/05_variable_quoted_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z; diff --git a/spec/parser/interpolate/23_escapes_literal_specials/02_variable.hrx b/spec/parser/interpolate/23_escapes_literal_specials/02_variable.hrx index e8efc2760a..730a88ef13 100644 --- a/spec/parser/interpolate/23_escapes_literal_specials/02_variable.hrx +++ b/spec/parser/interpolate/23_escapes_literal_specials/02_variable.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \0_\a_\A; diff --git a/spec/parser/interpolate/23_escapes_literal_specials/03_inline_double.hrx b/spec/parser/interpolate/23_escapes_literal_specials/03_inline_double.hrx index 3d0ebbbf02..7dbcdcb3b7 100644 --- a/spec/parser/interpolate/23_escapes_literal_specials/03_inline_double.hrx +++ b/spec/parser/interpolate/23_escapes_literal_specials/03_inline_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss .result { diff --git a/spec/parser/interpolate/23_escapes_literal_specials/04_variable_double.hrx b/spec/parser/interpolate/23_escapes_literal_specials/04_variable_double.hrx index 6eceee0168..2834b0230b 100644 --- a/spec/parser/interpolate/23_escapes_literal_specials/04_variable_double.hrx +++ b/spec/parser/interpolate/23_escapes_literal_specials/04_variable_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \0_\a_\A; diff --git a/spec/parser/interpolate/23_escapes_literal_specials/05_variable_quoted_double.hrx b/spec/parser/interpolate/23_escapes_literal_specials/05_variable_quoted_double.hrx index 5bfac4878c..5b56c64bb2 100644 --- a/spec/parser/interpolate/23_escapes_literal_specials/05_variable_quoted_double.hrx +++ b/spec/parser/interpolate/23_escapes_literal_specials/05_variable_quoted_double.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss $input: \0_\a_\A; diff --git a/spec/sass/indentation.hrx b/spec/sass/indentation.hrx index c3b66a5805..6c552bb12d 100644 --- a/spec/sass/indentation.hrx +++ b/spec/sass/indentation.hrx @@ -70,7 +70,7 @@ a { <===> unusual_newlines/ff/options.yml --- :todo: -- libsass # sass/libsass#2843 +- sass/libsass#2843 <===> unusual_newlines/ff/input.sass a b: c d: e diff --git a/spec/libsass-todo-tests/scss-tests/046_test_parent_selector_with_subject.hrx b/spec/scss-tests/046_test_parent_selector_with_subject.hrx similarity index 98% rename from spec/libsass-todo-tests/scss-tests/046_test_parent_selector_with_subject.hrx rename to spec/scss-tests/046_test_parent_selector_with_subject.hrx index c84f499eff..b7b09ec8cf 100644 --- a/spec/libsass-todo-tests/scss-tests/046_test_parent_selector_with_subject.hrx +++ b/spec/scss-tests/046_test_parent_selector_with_subject.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss foo { diff --git a/spec/libsass-todo-tests/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx b/spec/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx similarity index 97% rename from spec/libsass-todo-tests/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx rename to spec/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx index 753f704938..568d54d87d 100644 --- a/spec/libsass-todo-tests/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx +++ b/spec/scss-tests/118_test_parent_selector_with_parent_and_subject.hrx @@ -2,6 +2,7 @@ --- :ignore_for: - dart-sass +- libsass <===> input.scss $subject: "!"; diff --git a/spec/scss-tests/191_test_color_translation_functions.hrx b/spec/scss-tests/191_test_color_translation_functions.hrx deleted file mode 100644 index cc460022b4..0000000000 --- a/spec/scss-tests/191_test_color_translation_functions.hrx +++ /dev/null @@ -1,65 +0,0 @@ -<===> input.scss -$color: #c09853; - -.bar { - color1: rgba($color,0.5); - color2: rgba($color,1); -} - -.darken { - color1: darken($color, 10%); - color2: darken($color, 20%); - color3: darken($color, 30%); - color4: darken($color, 40%); - color5: darken($color, 50%); - color6: darken($color, 60%); - color7: darken($color, 70%); - color8: darken($color, 80%); - color9: darken($color, 90%); - color10: darken($color, 100%); -} - -.lighten { - color1: lighten($color, 10%); - color2: lighten($color, 20%); - color3: lighten($color, 30%); - color4: lighten($color, 40%); - color5: lighten($color, 50%); - color6: lighten($color, 60%); - color7: lighten($color, 70%); - color8: lighten($color, 80%); - color9: lighten($color, 90%); - color10: lighten($color, 100%); -} - -<===> output.css -.bar { - color1: rgba(192, 152, 83, 0.5); - color2: #c09853; -} - -.darken { - color1: #a47e3c; - color2: #7f612e; - color3: #594521; - color4: #342813; - color5: #0f0b05; - color6: black; - color7: black; - color8: black; - color9: black; - color10: black; -} - -.lighten { - color1: #ceae78; - color2: #dbc59e; - color3: #e9dbc3; - color4: #f7f1e8; - color5: white; - color6: white; - color7: white; - color8: white; - color9: white; - color10: white; -} diff --git a/spec/scss/ie-backslash.hrx b/spec/scss/ie-backslash.hrx index c793add28f..9b6f077574 100644 --- a/spec/scss/ie-backslash.hrx +++ b/spec/scss/ie-backslash.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss div { diff --git a/spec/scss/media/nesting/merged.hrx b/spec/scss/media/nesting/merged.hrx index 9ab11a788d..7a5de869a0 100644 --- a/spec/scss/media/nesting/merged.hrx +++ b/spec/scss/media/nesting/merged.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2695 +- sass/libsass#2695 <===> input.scss // Media queries can be nested within one another. The intersection of the two diff --git a/spec/scss/media/nesting/retained.hrx b/spec/scss/media/nesting/retained.hrx index 7f5dd7d703..da3bc711e4 100644 --- a/spec/scss/media/nesting/retained.hrx +++ b/spec/scss/media/nesting/retained.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2694 +- sass/libsass#2694 <===> input.scss // There's no way to generate the intersection of these queries. We could write diff --git a/spec/scss/mix.hrx b/spec/scss/mix.hrx deleted file mode 100644 index b1ced158ca..0000000000 --- a/spec/scss/mix.hrx +++ /dev/null @@ -1,10 +0,0 @@ -<===> input.scss -div { - roo: mix(#f00, #00f); - doo: mix(#f00, #00f, 25%); -} -<===> output.css -div { - roo: purple; - doo: #4000bf; -} diff --git a/spec/scss/placeholder.hrx b/spec/scss/placeholder.hrx index 1037fe6777..957fc730d8 100644 --- a/spec/scss/placeholder.hrx +++ b/spec/scss/placeholder.hrx @@ -13,19 +13,6 @@ hux { @extend %x; } <===> output.css -foo, hux { - color: red; -} - -foo { - width: 10px; -} - -hux { - height: 12px; -} - -<===> output-dart-sass.css hux, foo { color: red; } diff --git a/spec/scss/simple-inheritance.hrx b/spec/scss/simple-inheritance.hrx index e29ad16235..c7d3cee7e9 100644 --- a/spec/scss/simple-inheritance.hrx +++ b/spec/scss/simple-inheritance.hrx @@ -64,59 +64,6 @@ g { bloo: bloo; } <===> output.css -earth mammal, earth dog, earth cat, earth horse, earth naysayer, earth bird { - blood: warm; -} - -earth mammal, earth dog, earth cat, earth horse, earth naysayer { - produces-milk: true; -} - -dog { - says: "Woof!"; -} - -cat { - says: "Meow."; -} - -horse, naysayer { - says: "Nay."; -} - -[hey], ho { - a: b; -} - -ho { - c: d; -} - -fancy outer space vehicle, fancy outer space new american mars rover, new american mars fancy outer space rover { - insides: advanced; -} - -new american mars rover { - wheels: big; -} - -foo, a b c { - something: whatever; -} - -a b c { - blah: blah; -} - -d e f, d e g { - blah: blah; -} - -g { - bloo: bloo; -} - -<===> output-dart-sass.css earth mammal, earth horse, earth naysayer, earth cat, earth dog, earth bird { blood: warm; } diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_less_complex_not.hrx b/spec/selector-functions/is_superselector/not_is_superselector_of_less_complex_not.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_less_complex_not.hrx rename to spec/selector-functions/is_superselector/not_is_superselector_of_less_complex_not.hrx diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_superset.hrx b/spec/selector-functions/is_superselector/not_is_superselector_of_superset.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_superset.hrx rename to spec/selector-functions/is_superselector/not_is_superselector_of_superset.hrx diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_unique_selectors.hrx b/spec/selector-functions/is_superselector/not_is_superselector_of_unique_selectors.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/not_is_superselector_of_unique_selectors.hrx rename to spec/selector-functions/is_superselector/not_is_superselector_of_unique_selectors.hrx diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/nth_match_can_be_subselector.hrx b/spec/selector-functions/is_superselector/nth_match_can_be_subselector.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/nth_match_can_be_subselector.hrx rename to spec/selector-functions/is_superselector/nth_match_can_be_subselector.hrx diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/nth_match_is_superselector_of_subset_nth_match.hrx b/spec/selector-functions/is_superselector/nth_match_is_superselector_of_subset_nth_match.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/is_superselector/nth_match_is_superselector_of_subset_nth_match.hrx rename to spec/selector-functions/is_superselector/nth_match_is_superselector_of_subset_nth_match.hrx diff --git a/spec/libsass-todo-issues/issue_963/selector-functions/replace/not.hrx b/spec/selector-functions/replace-not.hrx similarity index 100% rename from spec/libsass-todo-issues/issue_963/selector-functions/replace/not.hrx rename to spec/selector-functions/replace-not.hrx diff --git a/spec/values/identifiers/escape/normalize/options.yml b/spec/values/identifiers/escape/normalize/options.yml index 3bb0723bb6..8380261167 100644 --- a/spec/values/identifiers/escape/normalize/options.yml +++ b/spec/values/identifiers/escape/normalize/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 diff --git a/spec/values/identifiers/escape/options.yml b/spec/values/identifiers/escape/options.yml index 3bb0723bb6..8380261167 100644 --- a/spec/values/identifiers/escape/options.yml +++ b/spec/values/identifiers/escape/options.yml @@ -1,3 +1,3 @@ --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 diff --git a/spec/values/identifiers/escape/script.hrx b/spec/values/identifiers/escape/script.hrx index 58965d2ef6..fffb7a6afd 100644 --- a/spec/values/identifiers/escape/script.hrx +++ b/spec/values/identifiers/escape/script.hrx @@ -1,7 +1,7 @@ <===> options.yml --- :todo: -- libsass # sass/libsass#2700 +- sass/libsass#2700 <===> input.scss // SassScript functions operate on the normalized form of the identifier. diff --git a/spec/variables.hrx b/spec/variables.hrx index e09b348603..bab603c2ae 100644 --- a/spec/variables.hrx +++ b/spec/variables.hrx @@ -1,7 +1,7 @@ <===> global/first_declaration/options.yml --- :warning_todo: -- libsass # sass/libsass#2834 +- sass/libsass#2834 <===> ================================================================================