diff --git a/spec/core_functions/math/abs.hrx b/spec/core_functions/math/abs.hrx index faaf3ec47..545d0fc1c 100644 --- a/spec/core_functions/math/abs.hrx +++ b/spec/core_functions/math/abs.hrx @@ -1,13 +1,5 @@ -<===> options.yml ---- -:ignore_for: -- libsass - -<===> -================================================================================ <===> zero/input.scss -@use "sass:math"; -a {b: math.abs(0)} +a {b: abs(0)} <===> zero/output.css a { @@ -17,8 +9,7 @@ a { <===> ================================================================================ <===> positive/integer/input.scss -@use "sass:math"; -a {b: math.abs(1)} +a {b: abs(1)} <===> positive/integer/output.css a { @@ -28,8 +19,7 @@ a { <===> ================================================================================ <===> positive/decimal/input.scss -@use "sass:math"; -a {b: math.abs(5.6)} +a {b: abs(5.6)} <===> positive/decimal/output.css a { @@ -39,8 +29,7 @@ a { <===> ================================================================================ <===> negative/integer/input.scss -@use "sass:math"; -a {b: math.abs(-17)} +a {b: abs(-17)} <===> negative/integer/output.css a { @@ -50,8 +39,7 @@ a { <===> ================================================================================ <===> negative/decimal/input.scss -@use "sass:math"; -a {b: math.abs(-123.456)} +a {b: abs(-123.456)} <===> negative/decimal/output.css a { @@ -65,8 +53,7 @@ a { - sass/libsass#2887 <===> preserves_units/input.scss -@use "sass:math"; -a {b: math.abs(-7px / 4em) * 1em} +a {b: abs(-7px / 4em) * 1em} <===> preserves_units/output.css a { @@ -81,16 +68,15 @@ Recommendation: math.div(-7px, 4em) More info and automated migrator: https://sass-lang.com/d/slash-div , -2 | a {b: math.abs(-7px / 4em) * 1em} - | ^^^^^^^^^^ +1 | a {b: abs(-7px / 4em) * 1em} + | ^^^^^^^^^^ ' - input.scss 2:16 root stylesheet + input.scss 1:11 root stylesheet <===> ================================================================================ <===> named/input.scss -@use "sass:math"; -a { b: math.abs($number: 3)} +a {b: abs($number: -3)} <===> named/output.css a { @@ -100,71 +86,69 @@ a { <===> ================================================================================ <===> error/type/input.scss -@use "sass:math"; -a {b: math.abs(c)} +a {b: abs(c)} <===> error/type/error Error: $number: c is not a number. , -2 | a {b: math.abs(c)} - | ^^^^^^^^^^^ +1 | a {b: abs(c)} + | ^^^^^^ ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/type/error-libsass -Error: argument `$number` of `math.abs($number)` must be a number +Error: argument `$number` of `abs($number)` must be a number on line 1:7 of input.scss, in function `round` from line 1:7 of input.scss ->> a {b: math.abs(c)} +>> a {b: abs(c)} ------^ <===> ================================================================================ <===> error/too_few_args/input.scss -@use "sass:math"; -a {b: math.abs()} +a {b: abs()} <===> error/too_few_args/error Error: Missing argument $number. ,--> input.scss -2 | a {b: math.abs()} - | ^^^^^^^^^^ invocation +1 | a {b: abs()} + | ^^^^^ invocation ' ,--> sass:math 1 | @function abs($number) { | ============ declaration ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/too_few_args/error-libsass Error: Function abs is missing argument $number. on line 1 of input.scss ->> a {b: math.abs()} +>> a {b: abs()} ------^ <===> ================================================================================ <===> error/too_many_args/input.scss -@use "sass:math"; -a {b: math.abs(1, 2)} +a {b: abs(1, 2)} + <===> error/too_many_args/error Error: Only 1 argument allowed, but 2 were passed. ,--> input.scss -2 | a {b: math.abs(1, 2)} - | ^^^^^^^^^^^^^^ invocation +1 | a {b: abs(1, 2)} + | ^^^^^^^^^ invocation ' ,--> sass:math 1 | @function abs($number) { | ============ declaration ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/too_many_args/error-libsass Error: wrong number of arguments (2 for 1) for `abs' on line 1:7 of input.scss ->> a {b: math.abs(1, 2)} +>> a {b: abs(1, 2)} ------^ diff --git a/spec/core_functions/math/round.hrx b/spec/core_functions/math/round.hrx index e448d16d1..4bf635044 100644 --- a/spec/core_functions/math/round.hrx +++ b/spec/core_functions/math/round.hrx @@ -1,13 +1,5 @@ -<===> options.yml ---- -:ignore_for: -- libsass - -<===> -================================================================================ <===> integer/input.scss -@use "sass:math"; -a {b: math.round(1)} +a {b: round(1)} <===> integer/output.css a { @@ -17,8 +9,7 @@ a { <===> ================================================================================ <===> up/high/input.scss -@use "sass:math"; -a {b: math.round(2.9)} +a {b: round(2.9)} <===> up/high/output.css a { @@ -28,8 +19,7 @@ a { <===> ================================================================================ <===> up/point_five/input.scss -@use "sass:math"; -a {b: math.round(16.5)} +a {b: round(16.5)} <===> up/point_five/output.css a { @@ -39,8 +29,7 @@ a { <===> ================================================================================ <===> up/negative/input.scss -@use "sass:math"; -a {b: math.round(-5.4)} +a {b: round(-5.4)} <===> up/negative/output.css a { @@ -50,8 +39,7 @@ a { <===> ================================================================================ <===> up/to_zero/input.scss -@use "sass:math"; -a {b: math.round(-0.2)} +a {b: round(-0.2)} <===> up/to_zero/output.css a { @@ -61,8 +49,7 @@ a { <===> ================================================================================ <===> down/low/input.scss -@use "sass:math"; -a {b: math.round(2.2)} +a {b: round(2.2)} <===> down/low/output.css a { @@ -72,8 +59,7 @@ a { <===> ================================================================================ <===> down/negative/input.scss -@use "sass:math"; -a {b: math.round(-5.6)} +a {b: round(-5.6)} <===> down/negative/output.css a { @@ -83,8 +69,7 @@ a { <===> ================================================================================ <===> down/to_zero/input.scss -@use "sass:math"; -a {b: math.round(0.2)} +a {b: round(0.2)} <===> down/to_zero/output.css a { @@ -100,8 +85,7 @@ a { <===> down/within_precision/input.scss // This is the largest number that's representable as a float and outside the // precision range to be considered equal to 1.5. -@use "sass:math"; -a {b: math.round(1.4999999999949998)} +a {b: round(1.4999999999949998)} <===> down/within_precision/output.css a { @@ -115,8 +99,7 @@ a { - sass/libsass#2887 <===> preserves_units/input.scss -@use "sass:math"; -a {b: math.round(7px / 4em) * 1em} +a {b: round(7px / 4em) * 1em} <===> preserves_units/output.css a { @@ -131,16 +114,15 @@ Recommendation: math.div(7px, 4em) More info and automated migrator: https://sass-lang.com/d/slash-div , -2 | a {b: math.round(7px / 4em) * 1em} - | ^^^^^^^^^ +1 | a {b: round(7px / 4em) * 1em} + | ^^^^^^^^^ ' - input.scss 2:18 root stylesheet + input.scss 1:13 root stylesheet <===> ================================================================================ <===> named/input.scss -@use "sass:math"; -a {b: math.round($number: 1.6)} +a {b: round($number: 1.6)} <===> named/output.css a { @@ -150,16 +132,15 @@ a { <===> ================================================================================ <===> error/type/input.scss -@use "sass:math"; -a {b: math.round(c)} +a {b: round(c)} <===> error/type/error Error: $number: c is not a number. , -2 | a {b: math.round(c)} - | ^^^^^^^^^^^^^ +1 | a {b: round(c)} + | ^^^^^^^^ ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/type/error-libsass Error: argument `$number` of `round($number)` must be a number @@ -172,20 +153,19 @@ Error: argument `$number` of `round($number)` must be a number <===> ================================================================================ <===> error/too_few_args/input.scss -@use "sass:math"; -a {b: math.round()} +a {b: round()} <===> error/too_few_args/error Error: Missing argument $number. ,--> input.scss -2 | a {b: math.round()} - | ^^^^^^^^^^^^ invocation +1 | a {b: round()} + | ^^^^^^^ invocation ' ,--> sass:math 1 | @function round($number) { | ============== declaration ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/too_few_args/error-libsass Error: Function round is missing argument $number. @@ -197,21 +177,20 @@ Error: Function round is missing argument $number. <===> ================================================================================ <===> error/too_many_args/input.scss -@use "sass:math"; -a {b: math.round(1, 2)} +a {b: round(1, 2)} <===> error/too_many_args/error Error: Only 1 argument allowed, but 2 were passed. ,--> input.scss -2 | a {b: math.round(1, 2)} - | ^^^^^^^^^^^^^^^^ invocation +1 | a {b: round(1, 2)} + | ^^^^^^^^^^^ invocation ' ,--> sass:math 1 | @function round($number) { | ============== declaration ' - input.scss 2:7 root stylesheet + input.scss 1:7 root stylesheet <===> error/too_many_args/error-libsass Error: wrong number of arguments (2 for 1) for `round' diff --git a/spec/values/calculation/abs.hrx b/spec/values/calculation/abs.hrx deleted file mode 100644 index d06e33694..000000000 --- a/spec/values/calculation/abs.hrx +++ /dev/null @@ -1,192 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `abs()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> zero/input.scss -a {b: abs(0)} - -<===> zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: abs(1)} - -<===> positive/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: abs(-5.6)} - -<===> negative/output.css -a { - b: 5.6; -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: abs(1px + 2px - var(--c)) -} - -<===> simplification/output.css -a { - b: abs(3px - var(--c)); -} - -<===> -================================================================================ -<===> preserves_units/input.scss -a {b: abs(-7px / 4em) * 1em} - -<===> preserves_units/output.css -a { - b: 1.75px; -} - -<===> -================================================================================ -<===> preserves_single_unit/input.scss -a {b: abs(1 + 1px)} - -<===> preserves_single_unit/output.css -a { - b: 2px; -} - -<===> -================================================================================ -<===> sass_script/input.scss -a {b: abs($number: -3)} - -<===> sass_script/output.css -a { - b: 3; -} - -<===> -================================================================================ -<===> percentage_warning/input.scss -a {b: abs(-7.5%)} - -<===> percentage_warning/output.css -a { - b: 7.5%; -} - -<===> percentage_warning/warning -DEPRECATION WARNING: Passing percentage units to the global abs() function is deprecated. -In the future, this will emit a CSS abs() function to be resolved by the browser. -To preserve current behavior: math.abs(-7.5%) -To emit a CSS abs() now: abs(#{-7.5%}) -More info: https://sass-lang.com/d/abs-percent - , -1 | a {b: abs(-7.5%)} - | ^^^^^^^^^^^^^^^^^ - ' - input.scss 1:1 root stylesheet - -<===> -================================================================================ -<===> math/slash_as_division/input.scss -b { - a: 2px / abs(1.5); -} - -<===> math/slash_as_division/output.css -b { - a: 1.3333333333px; -} - -<===> math/slash_as_division/warning -DEPRECATION WARNING: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. -Recommendation: math.div(2px, abs(1.5)) or calc(2px / abs(1.5)) -More info and automated migrator: https://sass-lang.com/d/slash-div - , -2 | a: 2px / abs(1.5); - | ^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet - -<===> -================================================================================ -<===> error/sass_script_and_variable/input.scss -a {b: abs($number: var(--c))} - -<===> error/sass_script_and_variable/error -Error: $number: var(--c) is not a number. - , -1 | a {b: abs($number: var(--c))} - | ^^^^^^^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: abs("0")} - -<===> error/type/error -Error: $number: "0" is not a number. - , -1 | a {b: abs("0")} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: abs()} - -<===> error/too_few_args/error -Error: Missing argument $number. - ,--> input.scss -1 | a {b: abs()} - | ^^^^^ invocation - ' - ,--> sass:math -1 | @function abs($number) { - | ============ declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: abs(1, 2)} - -<===> error/too_many_args/error -Error: Only 1 argument allowed, but 2 were passed. - ,--> input.scss -1 | a {b: abs(1, 2)} - | ^^^^^^^^^ invocation - ' - ,--> sass:math -1 | @function abs($number) { - | ============ declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: abs($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: abs($)} - | ^ - ' - input.scss 1:12 root stylesheet diff --git a/spec/values/calculation/acos.hrx b/spec/values/calculation/acos.hrx deleted file mode 100644 index 35081f4eb..000000000 --- a/spec/values/calculation/acos.hrx +++ /dev/null @@ -1,169 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `acos()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> less_than_negative_one/input.scss -a {b: acos(-2)} - -<===> less_than_negative_one/output.css -a { - b: calc(NaN * 1deg); -} - -<===> -================================================================================ -<===> negative_one/input.scss -a {b: acos(-1)} - -<===> negative_one/output.css -a { - b: 180deg; -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: acos(0)} - -<===> zero/output.css -a { - b: 90deg; -} - -<===> -================================================================================ -<===> one/input.scss -a {b: acos(1)} - -<===> one/output.css -a { - b: 0deg; -} - -<===> -================================================================================ -<===> greater_than_one/input.scss -a {b: acos(2)} - -<===> greater_than_one/output.css -a { - b: calc(NaN * 1deg); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: acos(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: acos(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/unit/unknown/input.scss -a {b: acos(1%)} - -<===> error/unit/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: acos(1%)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/known/input.scss -a {b: acos(1px)} - -<===> error/unit/known/error -Error: Expected 1px to have no units. - , -1 | a {b: acos(1px)} - | ^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/complex/input.scss -a {b: acos(-7px / 4em)} - -<===> error/unit/complex/error -Error: Expected -1.75px/em to have no units. - , -1 | a {b: acos(-7px / 4em)} - | ^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: acos("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: acos("0")} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: acos()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: acos()} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: acos(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: acos(0, 0)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: acos($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: acos($)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: acos(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: acos(7 % 3)} - | ^ - ' - input.scss 1:14 root stylesheet diff --git a/spec/values/calculation/asin.hrx b/spec/values/calculation/asin.hrx deleted file mode 100644 index 0731aceaa..000000000 --- a/spec/values/calculation/asin.hrx +++ /dev/null @@ -1,169 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `asin()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> less_than_negative_one/input.scss -a {b: asin(-2)} - -<===> less_than_negative_one/output.css -a { - b: calc(NaN * 1deg); -} - -<===> -================================================================================ -<===> negative_one/input.scss -a {b: asin(-1)} - -<===> negative_one/output.css -a { - b: -90deg; -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: asin(0)} - -<===> zero/output.css -a { - b: 0deg; -} - -<===> -================================================================================ -<===> one/input.scss -a {b: asin(1)} - -<===> one/output.css -a { - b: 90deg; -} - -<===> -================================================================================ -<===> greater_than_one/input.scss -a {b: asin(2)} - -<===> greater_than_one/output.css -a { - b: calc(NaN * 1deg); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: asin(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: asin(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/unit/unknown/input.scss -a {b: asin(1%)} - -<===> error/unit/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: asin(1%)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/known/input.scss -a {b: asin(1px)} - -<===> error/unit/known/error -Error: Expected 1px to have no units. - , -1 | a {b: asin(1px)} - | ^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/complex/input.scss -a {b: asin(-7px / 4em)} - -<===> error/unit/complex/error -Error: Expected -1.75px/em to have no units. - , -1 | a {b: asin(-7px / 4em)} - | ^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: asin("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: asin("0")} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: asin()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: asin()} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: asin(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: asin(0, 0)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: asin($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: asin($)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: asin(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: asin(7 % 3)} - | ^ - ' - input.scss 1:14 root stylesheet diff --git a/spec/values/calculation/atan.hrx b/spec/values/calculation/atan.hrx deleted file mode 100644 index c1e3d88cf..000000000 --- a/spec/values/calculation/atan.hrx +++ /dev/null @@ -1,146 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `atan()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> negative_infinity/input.scss -a {b: atan(-infinity)} - -<===> negative_infinity/output.css -a { - b: -90deg; -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: atan(0)} - -<===> zero/output.css -a { - b: 0deg; -} - -<===> -================================================================================ -<===> one/input.scss -a {b: atan(1)} - -<===> one/output.css -a { - b: 45deg; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: atan(infinity)} - -<===> infinity/output.css -a { - b: 90deg; -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: atan(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: atan(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/unit/unknown/input.scss -a {b: atan(1%)} - -<===> error/unit/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: atan(1%)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/known/input.scss -a {b: atan(1px)} - -<===> error/unit/known/error -Error: Expected 1px to have no units. - , -1 | a {b: atan(1px)} - | ^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/complex/input.scss -a {b: atan(-7px / 4em)} - -<===> error/unit/complex/error -Error: Expected -1.75px/em to have no units. - , -1 | a {b: atan(-7px / 4em)} - | ^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: atan("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: atan("0")} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: atan()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: atan()} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: atan(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: atan(0, 0)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: atan(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: atan(7 % 3)} - | ^ - ' - input.scss 1:14 root stylesheet diff --git a/spec/values/calculation/atan2.hrx b/spec/values/calculation/atan2.hrx deleted file mode 100644 index 11d3247be..000000000 --- a/spec/values/calculation/atan2.hrx +++ /dev/null @@ -1,212 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `atan2()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> units/none/input.scss -a {b: atan2(1, -10)} - -<===> units/none/output.css -a { - b: 174.2894068625deg; -} - -<===> -================================================================================ -<===> units/compatible/input.scss -a {b: atan2(1cm, -10mm)} - -<===> units/compatible/output.css -a { - b: 135deg; -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: atan2(1px, 10%)} - -<===> units/real_and_unknown/output.css -a { - b: atan2(1px, 10%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: atan2(1%, 2%); -} - -<===> units/unknown/output.css -a { - b: atan2(1%, 2%); -} - -<===> -================================================================================ -<===> units/fake/input.scss -a { - b: atan2(1foo, 2bar); -} - -<===> units/fake/output.css -a { - b: atan2(1foo, 2bar); -} - -<===> -================================================================================ -<===> units/same_fake/input.scss -a { - b: atan2(1foo, 2foo); -} - -<===> units/same_fake/output.css -a { - b: 26.5650511771deg; -} - -<===> -================================================================================ -<===> units/real_and_fake/input.scss -a { - b: atan2(1px, 2bar); -} - -<===> units/real_and_fake/output.css -a { - b: atan2(1px, 2bar); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: atan2(3px - 1px + var(--c), -7px / 4em * 1em); -} - -<===> simplification/output.css -a { - b: atan2(2px + var(--c), -1.75px); -} - -<===> -================================================================================ -<===> error/units/unitless_and_real/input.scss -a {b: atan2(1, 1px)} - -<===> error/units/unitless_and_real/error -Error: 1 and 1px are incompatible. - , -1 | a {b: atan2(1, 1px)} - | ^ 1 - | === 1px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/known_incompatible/input.scss -a {b: atan2(1deg, 1px)} - -<===> error/units/known_incompatible/error -Error: 1deg and 1px are incompatible. - , -1 | a {b: atan2(1deg, 1px)} - | ^^^^ 1deg - | === 1px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/complex_and_unknown/input.scss -a {b: atan2(1px*2px, 10%)} - -<===> error/units/complex_and_unknown/error -Error: Number 2px*px isn't compatible with CSS calculations. - , -1 | a {b: atan2(1px*2px, 10%)} - | ^^^^^^^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: atan2(1, $)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: atan2(1, $)} - | ^ - ' - input.scss 1:17 root stylesheet - -<===> -================================================================================ -<===> error/x_type/input.scss -a {b: atan2(0, "0")} - -<===> error/x_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: atan2(0, "0")} - | ^ - ' - input.scss 1:16 root stylesheet - -<===> -================================================================================ -<===> error/y_type/input.scss -a {b: atan2("0", 0)} - -<===> error/y_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: atan2("0", 0)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: atan2(0)} - -<===> error/too_few_args/error -Error: 2 arguments required, but only 1 was passed. - , -1 | a {b: atan2(0)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: atan2(0, 0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: atan2(0, 0, 0)} - | ^ - ' - input.scss 1:17 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: atan2(7 % 3, 1)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: atan2(7 % 3, 1)} - | ^ - ' - input.scss 1:15 root stylesheet diff --git a/spec/values/calculation/cos.hrx b/spec/values/calculation/cos.hrx deleted file mode 100644 index f8b513517..000000000 --- a/spec/values/calculation/cos.hrx +++ /dev/null @@ -1,189 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `cos()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> deg/input.scss -a {b: cos(1deg)} - -<===> deg/output.css -a { - b: 0.9998476952; -} - -<===> -================================================================================ -<===> grad/input.scss -a {b: cos(1grad)} - -<===> grad/output.css -a { - b: 0.9998766325; -} - -<===> -================================================================================ -<===> rad/input.scss -a {b: cos(1rad)} - -<===> rad/output.css -a { - b: 0.5403023059; -} - -<===> -================================================================================ -<===> turn/input.scss -a {b: cos(1turn)} - -<===> turn/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> negative_infinity/input.scss -a {b: cos(-infinity)} - -<===> negative_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: cos(0)} - -<===> zero/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: cos(infinity)} - -<===> infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: cos(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: cos(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/unit/unknown/input.scss -a {b: cos(1%)} - -<===> error/unit/unknown/error -Error: $number: Expected 1% to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: cos(1%)} - | ^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/known/input.scss -a {b: cos(1px)} - -<===> error/unit/known/error -Error: $number: Expected 1px to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: cos(1px)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/complex/input.scss -a {b: cos(-7px / 4em)} - -<===> error/unit/complex/error -Error: $number: Expected -1.75px/em to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: cos(-7px / 4em)} - | ^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: cos("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: cos("0")} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: cos()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: cos()} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: cos(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: cos(0, 0)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: cos($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: cos($)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: cos(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: cos(7 % 3)} - | ^ - ' - input.scss 1:13 root stylesheet diff --git a/spec/values/calculation/exp.hrx b/spec/values/calculation/exp.hrx deleted file mode 100644 index 307fa827a..000000000 --- a/spec/values/calculation/exp.hrx +++ /dev/null @@ -1,147 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `exp()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> zero/input.scss -a {b: exp(0)} - -<===> zero/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: exp(5)} - -<===> positive/output.css -a { - b: 148.4131591026; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: exp(-10.5)} - -<===> negative/output.css -a { - b: 0.0000275364; -} - -<===> -================================================================================ -<===> result_is_infinity/input.scss -a {b: exp(1000.65)} - -<===> result_is_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: exp(1px + 2px - var(--c)) -} - -<===> simplification/output.css -a { - b: exp(3px - var(--c)); -} - -<===> -================================================================================ -<===> error/units/unknown/input.scss -a {b: exp(1%)} - -<===> error/units/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: exp(1%)} - | ^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/unit/known/input.scss -a {b: exp(1px)} - -<===> error/unit/known/error -Error: Expected 1px to have no units. - , -1 | a {b: exp(1px)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: exp("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: exp("0")} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: exp()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: exp()} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: exp(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: exp(0, 0)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: exp($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: exp($)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: exp(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: exp(7 % 3)} - | ^ - ' - input.scss 1:13 root stylesheet - diff --git a/spec/values/calculation/hypot.hrx b/spec/values/calculation/hypot.hrx deleted file mode 100644 index d1a124a5c..000000000 --- a/spec/values/calculation/hypot.hrx +++ /dev/null @@ -1,247 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `hypot()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> units/none/input.scss -a {b: hypot(3, 4, 5, 6, 7)} - -<===> units/none/output.css -a { - b: 11.6189500386; -} - -<===> -================================================================================ -<===> units/compatible/input.scss -a {b: hypot(13cm, 4mm, 5q, 6in, 7px)} - -<===> units/compatible/output.css -a { - b: 20.0366545892cm; -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: hypot(13cm, 4%)} - -<===> units/real_and_unknown/output.css -a { - b: hypot(13cm, 4%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: hypot(1%, 2%); -} - -<===> units/unknown/output.css -a { - b: hypot(1%, 2%); -} - -<===> -================================================================================ -<===> units/fake/input.scss -a { - b: hypot(1foo, 2bar); -} - -<===> units/fake/output.css -a { - b: hypot(1foo, 2bar); -} - -<===> -================================================================================ -<===> units/same_fake/input.scss -a { - b: hypot(1foo, 2foo); -} - -<===> units/same_fake/output.css -a { - b: 2.2360679775foo; -} - -<===> -================================================================================ -<===> units/real_and_fake/input.scss -a { - b: hypot(1px, 2bar); -} - -<===> units/real_and_fake/output.css -a { - b: hypot(1px, 2bar); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: hypot(1px + 2px - var(--c), -7px + 4em) -} - -<===> simplification/output.css -a { - b: hypot(3px - var(--c), -7px + 4em); -} - -<===> -================================================================================ -<===> infinity/first/input.scss -a {b: hypot(infinity, 1, 1)} - -<===> infinity/first/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> infinity/second/input.scss -a {b: hypot(1, infinity, 1)} - -<===> infinity/second/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> error/unsimplifiable/input.scss -a {b: hypot(-7px / 4em)} - -<===> error/unsimplifiable/error -Error: Number -1.75px/em isn't compatible with CSS calculations. - , -1 | a {b: hypot(-7px / 4em)} - | ^^^^^^^^^^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/incompatible/first_and_second/input.scss -a {b: hypot(1deg, 1px, 1turn)} - -<===> error/units/incompatible/first_and_second/error -Error: 1deg and 1px are incompatible. - , -1 | a {b: hypot(1deg, 1px, 1turn)} - | ^^^^ 1deg - | === 1px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/incompatible/first_and_third/input.scss -a {b: hypot(1deg, 1turn, 1px)} - -<===> error/units/incompatible/first_and_third/error -Error: 1deg and 1px are incompatible. - , -1 | a {b: hypot(1deg, 1turn, 1px)} - | ^^^^ 1deg - | === 1px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/incompatible/second_and_third/input.scss -a {b: hypot(1turn, 1deg, 1px)} - -<===> error/units/incompatible/second_and_third/error -Error: 1turn and 1px are incompatible. - , -1 | a {b: hypot(1turn, 1deg, 1px)} - | ^^^^^ 1turn - | === 1px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/units/real_and_unitless/input.scss -a {b: hypot(1px, 1)} - -<===> error/units/real_and_unitless/error -Error: 1px and 1 are incompatible. - , -1 | a {b: hypot(1px, 1)} - | ^^^ 1px - | = 1 - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/first_type/input.scss -a {b: hypot("0", 1px, 1px)} - -<===> error/first_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: hypot("0", 1px, 1px)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/second_type/input.scss -a {b: hypot(1px, "0", 1px)} - -<===> error/second_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: hypot(1px, "0", 1px)} - | ^ - ' - input.scss 1:18 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: hypot()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: hypot()} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: hypot(12, $, 14)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: hypot(12, $, 14)} - | ^ - ' - input.scss 1:18 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: hypot(7 % 3, 1)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: hypot(7 % 3, 1)} - | ^ - ' - input.scss 1:15 root stylesheet diff --git a/spec/values/calculation/log.hrx b/spec/values/calculation/log.hrx deleted file mode 100644 index c2481a490..000000000 --- a/spec/values/calculation/log.hrx +++ /dev/null @@ -1,248 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `log()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> negative/input.scss -a {b: log(-1)} - -<===> negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: log(0)} - -<===> zero/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: log(2)} - -<===> positive/output.css -a { - b: 0.6931471806; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: log(infinity)} - -<===> infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> base/negative/input.scss -a {b: log(2, -1)} - -<===> base/negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> base/zero/input.scss -a {b: log(2, 0)} - -<===> base/zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> base/between_zero_and_one/input.scss -a {b: log(2, 0.5)} - -<===> base/between_zero_and_one/output.css -a { - b: -1; -} - -<===> -================================================================================ -<===> base/one/input.scss -a {b: log(2, 1)} - -<===> base/one/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> base/positive/input.scss -a {b: log(2, 10)} - -<===> base/positive/output.css -a { - b: 0.3010299957; -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: log(3px - 1px + var(--c), var(--e)); -} - -<===> simplification/output.css -a { - b: log(2px + var(--c), var(--e)); -} - -<===> -================================================================================ -<===> error/units/unknown/input.scss -a {b: log(1%)} - -<===> error/units/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: log(1%)} - | ^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/unitless_and_real/input.scss -a {b: log(1, 1px)} - -<===> error/units/unitless_and_real/error -Error: Expected 1px to have no units. - , -1 | a {b: log(1, 1px)} - | ^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/known_incompatible/input.scss -a {b: log(1deg, 1px)} - -<===> error/units/known_incompatible/error -Error: Expected 1deg to have no units. - , -1 | a {b: log(1deg, 1px)} - | ^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/complex_and_unknown/input.scss -a {b: log(1px*2px, 10%)} - -<===> error/units/complex_and_unknown/error -Error: Expected 2px*px to have no units. - , -1 | a {b: log(1px*2px, 10%)} - | ^^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/known/input.scss -a {b: log(3px)} - -<===> error/units/known/error -Error: Expected 3px to have no units. - , -1 | a {b: log(3px)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/number_type/input.scss -a {b: log("0")} - -<===> error/number_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: log("0")} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/base_type/input.scss -a {b: log(0, "0")} - -<===> error/base_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: log(0, "0")} - | ^ - ' - input.scss 1:14 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: log()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: log()} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: log(0, 0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: log(0, 0, 0)} - | ^ - ' - input.scss 1:15 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: log($, 10)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: log($, 10)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: log(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: log(7 % 3)} - | ^ - ' - input.scss 1:13 root stylesheet diff --git a/spec/values/calculation/max.hrx b/spec/values/calculation/max.hrx index 9139e063f..7364ce9e8 100644 --- a/spec/values/calculation/max.hrx +++ b/spec/values/calculation/max.hrx @@ -86,10 +86,10 @@ Error: 1c and 3 are incompatible. <===> ================================================================================ -<===> error/unitless_and_real/in_calc/input.scss +<===> error/unitless_and_unit/in_calc/input.scss a {b: max(calc(1px + 2))} -<===> error/unitless_and_real/in_calc/error +<===> error/unitless_and_unit/in_calc/error Error: 1px and 2 are incompatible. , 1 | a {b: max(calc(1px + 2))} @@ -183,10 +183,10 @@ a { <===> ================================================================================ -<===> simplified/unitless_and_real/input.scss +<===> simplified/unitless_and_unit/input.scss a {b: max(1px, 2.5, 0.9px)} -<===> simplified/unitless_and_real/output.css +<===> simplified/unitless_and_unit/output.css a { b: 2.5; } @@ -203,10 +203,10 @@ a { <===> ================================================================================ -<===> simplified/operation/unitless_and_real/input.scss +<===> simplified/operation/unitless_and_unit/input.scss a {b: max(1px, 2.5 + 0.9px)} -<===> simplified/operation/unitless_and_real/output.css +<===> simplified/operation/unitless_and_unit/output.css a { b: 3.4px; } @@ -284,52 +284,30 @@ b { <===> ================================================================================ -<===> preserved/operation/unitless_and_real/plus/input.scss +<===> preserved/operation/unitless_and_unit/plus/input.scss a {b: max(1%, 2.5 + 0.9px)} -<===> preserved/operation/unitless_and_real/plus/output.css +<===> preserved/operation/unitless_and_unit/plus/output.css a { b: max(1%, 3.4px); } <===> ================================================================================ -<===> preserved/operation/unitless_and_real/minus/input.scss +<===> preserved/operation/unitless_and_unit/minus/input.scss a {b: max(1%, 2.5 - 0.9px)} -<===> preserved/operation/unitless_and_real/minus/output.css +<===> preserved/operation/unitless_and_unit/minus/output.css a { b: max(1%, 1.6px); } <===> ================================================================================ -<===> preserved/operation/unitless_and_real/in_calc/input.scss +<===> preserved/operation/unitless_and_unit/in_calc/input.scss a {b: calc(max(1%, 2.5 + 0.9px))} -<===> preserved/operation/unitless_and_real/in_calc/output.css +<===> preserved/operation/unitless_and_unit/in_calc/output.css a { b: max(1%, 3.4px); } - -<===> -================================================================================ -<===> math/slash_as_division/input.scss -b { - a: 2px / max(1.5); -} - -<===> math/slash_as_division/output.css -b { - a: 1.3333333333px; -} - -<===> math/slash_as_division/warning -DEPRECATION WARNING: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. -Recommendation: math.div(2px, max(1.5)) or calc(2px / max(1.5)) -More info and automated migrator: https://sass-lang.com/d/slash-div - , -2 | a: 2px / max(1.5); - | ^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet diff --git a/spec/values/calculation/min.hrx b/spec/values/calculation/min.hrx index ab07a967a..768f763a2 100644 --- a/spec/values/calculation/min.hrx +++ b/spec/values/calculation/min.hrx @@ -86,10 +86,10 @@ Error: 1c and 3 are incompatible. <===> ================================================================================ -<===> error/unitless_and_real/in_calc/input.scss +<===> error/unitless_and_unit/in_calc/input.scss a {b: min(calc(1px + 2))} -<===> error/unitless_and_real/in_calc/error +<===> error/unitless_and_unit/in_calc/error Error: 1px and 2 are incompatible. , 1 | a {b: min(calc(1px + 2))} @@ -193,80 +193,80 @@ a { <===> ================================================================================ -<===> simplified/unitless_and_real/input.scss +<===> simplified/unitless_and_unit/input.scss a {b: min(1px, 2.5, 0.9px)} -<===> simplified/unitless_and_real/output.css +<===> simplified/unitless_and_unit/output.css a { b: 0.9px; } <===> ================================================================================ -<===> simplified/operation/unitless_and_real/input.scss +<===> simplified/operation/unitless_and_unit/input.scss a {b: min(1px, 2.5 + 0.9px)} -<===> simplified/operation/unitless_and_real/output.css +<===> simplified/operation/unitless_and_unit/output.css a { b: 1px; } <===> ================================================================================ -<===> preserved/math/first/input.scss +<===> perserved/math/first/input.scss a {b: min(1% + 1px, 2px)} -<===> preserved/math/first/output.css +<===> perserved/math/first/output.css a { b: min(1% + 1px, 2px); } <===> ================================================================================ -<===> preserved/math/second/input.scss +<===> perserved/math/second/input.scss a {b: min(1px, 1% + 2px)} -<===> preserved/math/second/output.css +<===> perserved/math/second/output.css a { b: min(1px, 1% + 2px); } <===> ================================================================================ -<===> preserved/math/third/input.scss +<===> perserved/math/third/input.scss a {b: min(1px, 2px, 1% + 3px)} -<===> preserved/math/third/output.css +<===> perserved/math/third/output.css a { b: min(1px, 2px, 1% + 3px); } <===> ================================================================================ -<===> preserved/unit/first/input.scss +<===> perserved/unit/first/input.scss a {b: min(1%, 2px)} -<===> preserved/unit/first/output.css +<===> perserved/unit/first/output.css a { b: min(1%, 2px); } <===> ================================================================================ -<===> preserved/unit/second/input.scss +<===> perserved/unit/second/input.scss a {b: min(1px, 2%)} -<===> preserved/unit/second/output.css +<===> perserved/unit/second/output.css a { b: min(1px, 2%); } <===> ================================================================================ -<===> preserved/unit/third/input.scss +<===> perserved/unit/third/input.scss a {b: min(1px, 2px, 3%)} -<===> preserved/unit/third/output.css +<===> perserved/unit/third/output.css a { b: min(1px, 2px, 3%); } @@ -284,52 +284,30 @@ b { <===> ================================================================================ -<===> preserved/operation/unitless_and_real/plus/input.scss +<===> preserved/operation/unitless_and_unit/plus/input.scss a {b: min(1%, 2.5 + 0.9px)} -<===> preserved/operation/unitless_and_real/plus/output.css +<===> preserved/operation/unitless_and_unit/plus/output.css a { b: min(1%, 3.4px); } <===> ================================================================================ -<===> preserved/operation/unitless_and_real/minus/input.scss +<===> preserved/operation/unitless_and_unit/minus/input.scss a {b: min(1%, 2.5 - 0.9px)} -<===> preserved/operation/unitless_and_real/minus/output.css +<===> preserved/operation/unitless_and_unit/minus/output.css a { b: min(1%, 1.6px); } <===> ================================================================================ -<===> preserved/operation/unitless_and_real/in_calc/input.scss +<===> preserved/operation/unitless_and_unit/in_calc/input.scss a {b: calc(min(1%, 2.5 + 0.9px))} -<===> preserved/operation/unitless_and_real/in_calc/output.css +<===> preserved/operation/unitless_and_unit/in_calc/output.css a { b: min(1%, 3.4px); } - -<===> -================================================================================ -<===> math/slash_as_division/input.scss -b { - a: 2px / min(1.5); -} - -<===> math/slash_as_division/output.css -b { - a: 1.3333333333px; -} - -<===> math/slash_as_division/warning -DEPRECATION WARNING: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. -Recommendation: math.div(2px, min(1.5)) or calc(2px / min(1.5)) -More info and automated migrator: https://sass-lang.com/d/slash-div - , -2 | a: 2px / min(1.5); - | ^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet diff --git a/spec/values/calculation/mod.hrx b/spec/values/calculation/mod.hrx deleted file mode 100644 index 4f3e9cd61..000000000 --- a/spec/values/calculation/mod.hrx +++ /dev/null @@ -1,374 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `mod()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> units/none/input.scss -a {b: mod(7, 3)} - -<===> units/none/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> units/compatible/input.scss -a {b: mod(5px, 3px)} - -<===> units/compatible/output.css -a { - b: 2px; -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: mod(5px, 3%)} - -<===> units/real_and_unknown/output.css -a { - b: mod(5px, 3%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: mod(1%, 2%); -} - -<===> units/unknown/output.css -a { - b: 1%; -} - -<===> -================================================================================ -<===> units/fake/input.scss -a { - b: mod(1foo, 2bar); -} - -<===> units/fake/output.css -a { - b: mod(1foo, 2bar); -} - -<===> -================================================================================ -<===> units/same_fake/input.scss -a { - b: mod(1foo, 2foo); -} - -<===> units/same_fake/output.css -a { - b: 1foo; -} - -<===> -================================================================================ -<===> units/real_and_fake/input.scss -a { - b: mod(1px, 2bar); -} - -<===> units/real_and_fake/output.css -a { - b: mod(1px, 2bar); -} - -<===> -================================================================================ -<===> equals/input.scss -a {b: mod(1, 1)} - -<===> equals/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> positive_and_negative/input.scss -a {b: mod(2, -5)} - -<===> positive_and_negative/output.css -a { - b: -3; -} - -<===> -================================================================================ -<===> negative_and_positive/input.scss -a {b: mod(-2, 5)} - -<===> negative_and_positive/output.css -a { - b: 3; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: mod(-2, -5)} - -<===> negative/output.css -a { - b: -2; -} - -<===> -================================================================================ -<===> y_zero/input.scss -a {b: mod(6, 0)} - -<===> y_zero/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> x_zero/input.scss -a {b: mod(0, 6)} - -<===> x_zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> zeros/input.scss -a {b: mod(0, 0)} - -<===> zeros/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> y_infinity/positive/input.scss -a {b: mod(infinity, 10)} - -<===> y_infinity/positive/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> x_infinity/positive/input.scss -a {b: mod(-10, infinity)} - -<===> x_infinity/positive/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> x_infinity/negative/input.scss -a {b: mod(10, -infinity)} - -<===> x_infinity/negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: mod(3px - 1px + var(--c), -7px / 4em * 1em); -} - -<===> simplification/output.css -a { - b: mod(2px + var(--c), -1.75px); -} - -<===> -================================================================================ -<===> positive_zero/input.scss -@use "sass:math"; -a {b: math.div(1, mod(7, 7))} - -<===> positive_zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_zero/input.scss -@use "sass:math"; -a {b: math.div(1, mod(-7, 7))} - -<===> negative_zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> error/units/real_and_unitless/input.scss -a {b: mod(16px, 5)} - -<===> error/units/real_and_unitless/error -Error: 16px and 5 are incompatible. - , -1 | a {b: mod(16px, 5)} - | ^^^^ 16px - | = 5 - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/units/incompatible/input.scss -a {b: mod(16px, 5deg)} - -<===> error/units/incompatible/error -Error: 16px and 5deg are incompatible. - , -1 | a {b: mod(16px, 5deg)} - | ^^^^ 16px - | ==== 5deg - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/units/complex_and_unknown/input.scss -a {b: mod(1px*2px, 10%)} - -<===> error/units/complex_and_unknown/error -Error: Number 2px*px isn't compatible with CSS calculations. - , -1 | a {b: mod(1px*2px, 10%)} - | ^^^^^^^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: mod(3)} - -<===> error/too_few_args/error -Error: 2 arguments required, but only 1 was passed. - , -1 | a {b: mod(3)} - | ^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: mod(10, $)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: mod(10, $)} - | ^ - ' - input.scss 1:16 root stylesheet - -<===> -================================================================================ -<===> error/modulus_type/input.scss -a {b: mod(0, "0")} - -<===> error/modulus_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: mod(0, "0")} - | ^ - ' - input.scss 1:14 root stylesheet - -<===> -================================================================================ -<===> error/dividend_type/input.scss -a {b: mod("0", 0)} - -<===> error/dividend_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: mod("0", 0)} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: mod(3, 2, 1)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: mod(3, 2, 1)} - | ^ - ' - input.scss 1:15 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: mod(7 % 3, 1)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: mod(7 % 3, 1)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> nan/negative_zero_and_positive_infinity/input.scss -a {b: mod(-0, infinity)} - -<===> nan/negative_zero_and_positive_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> nan/zero_and_negative_infinity/input.scss -a {b: mod(0, -infinity)} - -<===> nan/zero_and_negative_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> nan/negative_and_positive_infinity/input.scss -a {b: mod(-5, infinity)} - -<===> nan/negative_and_positive_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> nan/positive_and_negative_infinity/input.scss -a {b: mod(5, -infinity)} - -<===> nan/positive_and_negative_infinity/output.css -a { - b: calc(NaN); -} diff --git a/spec/values/calculation/pow.hrx b/spec/values/calculation/pow.hrx deleted file mode 100644 index c9d74478d..000000000 --- a/spec/values/calculation/pow.hrx +++ /dev/null @@ -1,190 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `pow()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> positive/input.scss -a {b: pow(10, 10)} - -<===> positive/output.css -a { - b: 10000000000; -} - -<===> -================================================================================ -<===> base/negative/input.scss -a {b: pow(-10, 10)} - -<===> base/negative/output.css -a { - b: 10000000000; -} - -<===> -================================================================================ -<===> exponent/negative/input.scss -a {b: pow(10, -10)} - -<===> exponent/negative/output.css -a { - b: 0.0000000001; -} - -<===> -================================================================================ -<===> zeros/input.scss -a {b: pow(0, 0)} - -<===> zeros/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> y_infinity/positive/input.scss -a {b: pow(infinity, 10)} - -<===> y_infinity/positive/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> x_infinity/positive/input.scss -a {b: pow(10, infinity)} - -<===> x_infinity/positive/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> simplification/input.scss -a {b: pow(3px - 1px + var(--c), 4px + 10px)} - -<===> simplification/output.css -a { - b: pow(2px + var(--c), 14px); -} - -<===> -================================================================================ -<===> error/units/compatible/input.scss -a {b: pow(10px, 10px)} - -<===> error/units/compatible/error -Error: Expected 10px to have no units. - , -1 | a {b: pow(10px, 10px)} - | ^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/unknown_and_unitless/input.scss -a {b: pow(10%, 10)} - -<===> error/units/unknown_and_unitless/error -Error: Expected 10% to have no units. - , -1 | a {b: pow(10%, 10)} - | ^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/real_and_unitless/input.scss -a {b: pow(10px, 10)} - -<===> error/units/real_and_unitless/error -Error: Expected 10px to have no units. - , -1 | a {b: pow(10px, 10)} - | ^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: pow(10, $)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: pow(10, $)} - | ^ - ' - input.scss 1:16 root stylesheet - -<===> -================================================================================ -<===> error/base_type/input.scss -a {b: pow(0, "0")} - -<===> error/base_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: pow(0, "0")} - | ^ - ' - input.scss 1:14 root stylesheet - -<===> -================================================================================ -<===> error/exponent_type/input.scss -a {b: pow("0", 0)} - -<===> error/exponent_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: pow("0", 0)} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: pow(3)} - -<===> error/too_few_args/error -Error: 2 arguments required, but only 1 was passed. - , -1 | a {b: pow(3)} - | ^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: pow(3, 2, 1)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: pow(3, 2, 1)} - | ^ - ' - input.scss 1:15 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: pow(7 % 3, 1)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: pow(7 % 3, 1)} - | ^ - ' - input.scss 1:13 root stylesheet diff --git a/spec/values/calculation/rem.hrx b/spec/values/calculation/rem.hrx deleted file mode 100644 index aa5aefd88..000000000 --- a/spec/values/calculation/rem.hrx +++ /dev/null @@ -1,376 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `rem()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> units/none/input.scss -a {b: rem(7, 3)} - -<===> units/none/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> units/compatible/input.scss -a {b: rem(5px, 3px)} - -<===> units/compatible/output.css -a { - b: 2px; -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: rem(5px, 3%)} - -<===> units/real_and_unknown/output.css -a { - b: rem(5px, 3%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: rem(1%, 2%); -} - -<===> units/unknown/output.css -a { - b: 1%; -} - -<===> -================================================================================ -<===> units/fake/input.scss -a { - b: rem(1foo, 2bar); -} - -<===> units/fake/output.css -a { - b: rem(1foo, 2bar); -} - -<===> -================================================================================ -<===> units/same_fake/input.scss -a { - b: rem(1foo, 2foo); -} - -<===> units/same_fake/output.css -a { - b: 1foo; -} - -<===> -================================================================================ -<===> units/real_and_fake/input.scss -a { - b: rem(1px, 2bar); -} - -<===> units/real_and_fake/output.css -a { - b: rem(1px, 2bar); -} - -<===> -================================================================================ -<===> equals/input.scss -a {b: rem(1, 1)} - -<===> equals/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> positive_and_negative/input.scss -a {b: rem(2, -5)} - -<===> positive_and_negative/output.css -a { - b: 2; -} - -<===> -================================================================================ -<===> negative_and_positive/input.scss -a {b: rem(-2, 5)} - -<===> negative_and_positive/output.css -a { - b: -2; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: rem(-2, -5)} - -<===> negative/output.css -a { - b: -2; -} - -<===> -================================================================================ -<===> y_zero/input.scss -a {b: rem(6, 0)} - -<===> y_zero/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> x_zero/input.scss -a {b: rem(0, 6)} - -<===> x_zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> zeros/input.scss -a {b: rem(0, 0)} - -<===> zeros/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> y_infinity/positive/input.scss -a {b: rem(infinity, 10)} - -<===> y_infinity/positive/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> x_infinity/positive/input.scss -a {b: rem(-10, infinity)} - -<===> x_infinity/positive/output.css -a { - b: -10; -} - -<===> -================================================================================ -<===> x_infinity/negative/input.scss -a {b: rem(10, -infinity)} - -<===> x_infinity/negative/output.css -a { - b: 10; -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: rem(3px - 1px + var(--c), -7px / 4em * 1em); -} - -<===> simplification/output.css -a { - b: rem(2px + var(--c), -1.75px); -} - -<===> -================================================================================ -<===> positive_zero/input.scss -@use "sass:math"; -a {b: math.div(1, rem(7, 7))} - -<===> positive_zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_zero/input.scss -@use "sass:math"; -a {b: math.div(1, rem(-7, 7))} - -<===> negative_zero/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> error/units/real_and_unitless/input.scss -a {b: rem(16px, 5)} - -<===> error/units/real_and_unitless/error -Error: 16px and 5 are incompatible. - , -1 | a {b: rem(16px, 5)} - | ^^^^ 16px - | = 5 - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/units/incompatible/input.scss -a {b: rem(16px, 5deg)} - -<===> error/units/incompatible/error -Error: 16px and 5deg are incompatible. - , -1 | a {b: rem(16px, 5deg)} - | ^^^^ 16px - | ==== 5deg - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/units/complex_and_unknown/input.scss -a {b: rem(1px*2px, 10%)} - -<===> error/units/complex_and_unknown/error -Error: Number 2px*px isn't compatible with CSS calculations. - , -1 | a {b: rem(1px*2px, 10%)} - | ^^^^^^^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: rem(3)} - -<===> error/too_few_args/error -Error: 2 arguments required, but only 1 was passed. - , -1 | a {b: rem(3)} - | ^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: rem(10, $)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: rem(10, $)} - | ^ - ' - input.scss 1:16 root stylesheet - -<===> -================================================================================ -<===> error/modulus_type/input.scss -a {b: rem(0, "0")} - -<===> error/modulus_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: rem(0, "0")} - | ^ - ' - input.scss 1:14 root stylesheet - -<===> -================================================================================ -<===> error/dividend_type/input.scss -a {b: rem("0", 0)} - -<===> error/dividend_type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: rem("0", 0)} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: rem(3, 2, 1)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: rem(3, 2, 1)} - | ^ - ' - input.scss 1:15 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: rem(7 % 3, 1)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", ",", or ")". - , -1 | a {b: rem(7 % 3, 1)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> negative_zero_and_positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, rem(-0, infinity))} - -<===> negative_zero_and_positive_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> zero_and_negative_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, rem(0, -infinity))} - -<===> zero_and_negative_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_and_positive_infinity/input.scss -a {b: rem(-5, infinity)} - -<===> negative_and_positive_infinity/output.css -a { - b: -5; -} - -<===> -================================================================================ -<===> positive_and_negative_infinity/input.scss -a {b: rem(5, -infinity)} - -<===> positive_and_negative_infinity/output.css -a { - b: 5; -} diff --git a/spec/values/calculation/round/error.hrx b/spec/values/calculation/round/error.hrx deleted file mode 100644 index 71d557dea..000000000 --- a/spec/values/calculation/round/error.hrx +++ /dev/null @@ -1,250 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> too_few_args/input.scss -a {b: round()} - -<===> too_few_args/error -Error: Missing argument $number. - ,--> input.scss -1 | a {b: round()} - | ^^^^^^^ invocation - ' - ,--> sass:math -1 | @function round($number) { - | ============== declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> too_many_args/input.scss -a {b: round(1, 2, 3, 4)} - -<===> too_many_args/error -Error: Only 1 argument allowed, but 4 were passed. - ,--> input.scss -1 | a {b: round(1, 2, 3, 4)} - | ^^^^^^^^^^^^^^^^^ invocation - ' - ,--> sass:math -1 | @function round($number) { - | ============== declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> one_argument/sass_script/variable_named_argument/input.scss -a {b: round($number: var(--c))} - -<===> one_argument/sass_script/variable_named_argument/error -Error: $number: var(--c) is not a number. - , -1 | a {b: round($number: var(--c))} - | ^^^^^^^^^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> one_argument/unsimplifiable/input.scss -a {b: round(1px + 2px - var(--c))} - -<===> one_argument/unsimplifiable/error -Error: Single argument 3px - var(--c) expected to be simplifiable. - , -1 | a {b: round(1px + 2px - var(--c))} - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> one_argument/type/input.scss -a {b: round("0")} - -<===> one_argument/type/error -Error: $number: "0" is not a number. - , -1 | a {b: round("0")} - | ^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> one_argument/syntax/invalid_arg/input.scss -a {b: round($)} - -<===> one_argument/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: round($)} - | ^ - ' - input.scss 1:14 root stylesheet - -<===> -================================================================================ -<===> two_argument/units/real_and_unitless/input.scss -a {b: round(10px, 5)} - -<===> two_argument/units/real_and_unitless/error -Error: 10px and 5 are incompatible. - , -1 | a {b: round(10px, 5)} - | ^^^^ 10px - | = 5 - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> two_argument/units/known_incompatible/input.scss -a {b: round(10deg, 5px)} - -<===> two_argument/units/known_incompatible/error -Error: 10deg and 5px are incompatible. - , -1 | a {b: round(10deg, 5px)} - | ^^^^^ 10deg - | === 5px - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> two_argument/units/complex_and_unknown/input.scss -a {b: round(1px*2px, 10%)} - -<===> two_argument/units/complex_and_unknown/error -Error: Number 2px*px isn't compatible with CSS calculations. - , -1 | a {b: round(1px*2px, 10%)} - | ^^^^^^^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> two_argument/missing_step/input.scss -a {b: round(nearest, 5)} - -<===> two_argument/missing_step/error -Error: If strategy is not null, step is required. - , -1 | a {b: round(nearest, 5)} - | ^^^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> two_argument/x_type/input.scss -a {b: round(0, "0")} - -<===> two_argument/x_type/error -Error: Only 1 argument allowed, but 2 were passed. - ,--> input.scss -1 | a {b: round(0, "0")} - | ^^^^^^^^^^^^^ invocation - ' - ,--> sass:math -1 | @function round($number) { - | ============== declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> two_argument/y_type/input.scss -a {b: round("0", 0)} - -<===> two_argument/y_type/error -Error: Only 1 argument allowed, but 2 were passed. - ,--> input.scss -1 | a {b: round("0", 0)} - | ^^^^^^^^^^^^^ invocation - ' - ,--> sass:math -1 | @function round($number) { - | ============== declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> two_argument/sass_script/input.scss -a {b: round(7 % 3, 1)} - -<===> two_argument/sass_script/error -Error: Only 1 argument allowed, but 2 were passed. - ,--> input.scss -1 | a {b: round(7 % 3, 1)} - | ^^^^^^^^^^^^^^^ invocation - ' - ,--> sass:math -1 | @function round($number) { - | ============== declaration - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> three_argument/strategy/operation/input.scss -a { - e: round(10px + 2px, 8px, 9px); -} -<===> three_argument/strategy/operation/error -Error: 12px must be either nearest, up, down or to-zero. - , -2 | e: round(10px + 2px, 8px, 9px); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet - -<===> -================================================================================ -<===> three_argument/strategy_type/input.scss -$wrong_input: "nearest"; -a {b: round($wrong_input, 0, 0)} - -<===> three_argument/strategy_type/error -Error: Value "nearest" can't be used in a calculation. - , -2 | a {b: round($wrong_input, 0, 0)} - | ^^^^^^^^^^^^ - ' - input.scss 2:13 root stylesheet - -<===> -================================================================================ -<===> three_argument/number_type/input.scss -$wrong_input: "0"; -a {b: round(nearest, $wrong_input, 0)} - -<===> three_argument/number_type/error -Error: Value "0" can't be used in a calculation. - , -2 | a {b: round(nearest, $wrong_input, 0)} - | ^^^^^^^^^^^^ - ' - input.scss 2:22 root stylesheet - -<===> -================================================================================ -<===> three_argument/step_type/input.scss -$wrong_input: "0"; -a {b: round(nearest, 0, $wrong_input)} - -<===> three_argument/step_type/error -Error: Value "0" can't be used in a calculation. - , -2 | a {b: round(nearest, 0, $wrong_input)} - | ^^^^^^^^^^^^ - ' - input.scss 2:25 root stylesheet diff --git a/spec/values/calculation/round/one_argument.hrx b/spec/values/calculation/round/one_argument.hrx deleted file mode 100644 index 8f6735ecb..000000000 --- a/spec/values/calculation/round/one_argument.hrx +++ /dev/null @@ -1,97 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> zero/input.scss -a {b: round(0)} - -<===> zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: round(1)} - -<===> positive/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: round(-5.6)} - -<===> negative/output.css -a { - b: -6; -} - -<===> -================================================================================ -<===> preserves_units/input.scss -a {b: round(-7px / 4em) * 1em} - -<===> preserves_units/output.css -a { - b: -2px; -} - -<===> -================================================================================ -<===> preserves_single_unit/input.scss -a {b: round(1 + 1px)} - -<===> preserves_single_unit/output.css -a { - b: 2px; -} - -<===> -================================================================================ -<===> preserved/variable/input.scss -a { - b: round(var(--c)) -} - -<===> preserved/variable/output.css -a { - b: round(var(--c)); -} - -<===> -================================================================================ -<===> sass_script/input.scss -a {b: round($number: -3)} - -<===> sass_script/output.css -a { - b: -3; -} - -<===> -================================================================================ -<===> math/slash_as_division/input.scss -b { - a: 2px / round(1.5); -} - -<===> math/slash_as_division/output.css -b { - a: 1px; -} - -<===> math/slash_as_division/warning -DEPRECATION WARNING: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. -Recommendation: math.div(2px, round(1.5)) or calc(2px / round(1.5)) -More info and automated migrator: https://sass-lang.com/d/slash-div - , -2 | a: 2px / round(1.5); - | ^^^^^^^^^^^^^^^^ - ' - input.scss 2:6 root stylesheet diff --git a/spec/values/calculation/round/strategy/README.md b/spec/values/calculation/round/strategy/README.md deleted file mode 100644 index 8a4aaa82a..000000000 --- a/spec/values/calculation/round/strategy/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Three-argument round strategy testing - -Tests the `round()` function with the various combinations of rounding modes to cover all possibilities and edge cases to ensure robustness. Some tests are based on [web-platform-tests] for the CSS round function. - -[web-platform-tests]: https://github.com/web-platform-tests/wpt/blob/master/css/css-values/round-function.html diff --git a/spec/values/calculation/round/strategy/down.hrx b/spec/values/calculation/round/strategy/down.hrx deleted file mode 100644 index 19e39b684..000000000 --- a/spec/values/calculation/round/strategy/down.hrx +++ /dev/null @@ -1,188 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> step_is_multiple_of_number/input.scss -a {b: round(down, 5px, 25px)} - -<===> step_is_multiple_of_number/output.css -a { - b: 0px; -} - -<===> -================================================================================ -<===> number_is_multiple_of_step/input.scss -a {b: round(down, 25px, 5px)} - -<===> number_is_multiple_of_step/output.css -a { - b: 25px; -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: round(down, 122px, 25px)} - -<===> positive/output.css -a { - b: 100px; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: round(down, -101, -25)} - -<===> negative/output.css -a { - b: -125; -} - -<===> -================================================================================ -<===> negative_step/input.scss -a {b: round(down, 12, -7)} - -<===> negative_step/output.css -a { - b: 7; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: round(down, infinity, infinity)} - -<===> infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> step_is_zero/input.scss -a {b: round(down, 10px, 0px)} - -<===> step_is_zero/output.css -a { - b: calc(NaN * 1px); -} - -<===> -================================================================================ -<===> positive_and_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(down, 10, infinity))} - -<===> positive_and_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_and_infinity/input.scss -@use "sass:math"; -a {b: round(down, -10, infinity)} - -<===> negative_and_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> upper_multiple/number_is_bigger/input.scss -a {b: round(down, 23px, 10px)} - -<===> upper_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_smaller/input.scss -a {b: round(down, 18px, 10px)} - -<===> upper_multiple/number_is_smaller/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_half/input.scss -a {b: round(down, 15px, 10px)} - -<===> upper_multiple/number_is_half/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_negative/input.scss -a {b: round(down, -13px, 10px)} - -<===> upper_multiple/number_is_negative/output.css -a { - b: -20px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_bigger/input.scss -a {b: round(down, 13px, 10px)} - -<===> lower_multiple/number_is_bigger/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_negative/input.scss -a {b: round(down, -18px, 10px)} - -<===> lower_multiple/number_is_negative/output.css -a { - b: -20px; -} - -<===> -================================================================================ -<===> negative_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(down, -1 * 0, infinity))} - -<===> negative_zero/positive_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> positive_zero/zero/input.scss -@use "sass:math"; -a {b: math.div(1, round(down, 0, infinity))} - -<===> positive_zero/zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> positive_zero/one/input.scss -@use "sass:math"; -a {b: math.div(1, round(down, 1, infinity))} - -<===> positive_zero/one/output.css -a { - b: calc(infinity); -} diff --git a/spec/values/calculation/round/strategy/nearest.hrx b/spec/values/calculation/round/strategy/nearest.hrx deleted file mode 100644 index 743b56244..000000000 --- a/spec/values/calculation/round/strategy/nearest.hrx +++ /dev/null @@ -1,227 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: round(nearest, 3.8px - 1px + var(--test), 1.1px + 4px)} - -<===> simplification/output.css -a { - b: round(nearest, 2.8px + var(--test), 5.1px); -} - -<===> -================================================================================ -<===> positive/input.scss -a {b: round(nearest, 117px, 25px)} - -<===> positive/output.css -a { - b: 125px; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: round(nearest, -101, -25)} - -<===> negative/output.css -a { - b: -100; -} - -<===> -================================================================================ -<===> step_is_zero/input.scss -a {b: round(nearest, 10px, 0px)} - -<===> step_is_zero/output.css -a { - b: calc(NaN * 1px); -} - -<===> -================================================================================ -<===> positive_and_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(nearest, 10, infinity))} - -<===> positive_and_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_and_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(nearest, -10, infinity))} - -<===> negative_and_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> infinity_and_negative/input.scss -a {b: round(nearest, infinity, -5)} - -<===> infinity_and_negative/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> infinity_and_positive/input.scss -a {b: round(nearest, infinity, 5)} - -<===> infinity_and_positive/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_infinity_and_negative/input.scss -a {b: round(nearest, -infinity, -5)} - -<===> negative_infinity_and_negative/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> negative_infinity_and_positive/input.scss -a {b: round(nearest, -infinity, 5)} - -<===> negative_infinity_and_positive/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> infinity/negative/input.scss -a {b: round(nearest, -infinity, -infinity)} - -<===> infinity/negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> infinity/negative_and_positive/input.scss -a {b: round(nearest, -infinity, infinity)} - -<===> infinity/negative_and_positive/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> infinity/positive_and_negative/input.scss -a {b: round(nearest, infinity, -infinity)} - -<===> infinity/positive_and_negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> infinity/positive_and_positive/input.scss -@use "sass:math"; -a {b: round(nearest, infinity, infinity)} - -<===> infinity/positive_and_positive/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> step_is_multiple_of_number/input.scss -a {b: round(nearest, 5px, 25px)} - -<===> step_is_multiple_of_number/output.css -a { - b: 0px; -} - -<===> -================================================================================ -<===> number_is_multiple_of_step/input.scss -a {b: round(nearest, 25px, 5px)} - -<===> number_is_multiple_of_step/output.css -a { - b: 25px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_bigger/input.scss -a {b: round(nearest, 23px, 10px)} - -<===> upper_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_smaller/input.scss -a {b: round(nearest, 18px, 10px)} - -<===> upper_multiple/number_is_smaller/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_half/input.scss -a {b: round(nearest, 15px, 10px)} - -<===> upper_multiple/number_is_half/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_negative/input.scss -a {b: round(nearest, -13px, 10px)} - -<===> upper_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_bigger/input.scss -a {b: round(nearest, 13px, 10px)} - -<===> lower_multiple/number_is_bigger/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_negative/input.scss -a {b: round(nearest, -18px, 10px)} - -<===> lower_multiple/number_is_negative/output.css -a { - b: -20px; -} diff --git a/spec/values/calculation/round/strategy/to-zero.hrx b/spec/values/calculation/round/strategy/to-zero.hrx deleted file mode 100644 index 8d9b36628..000000000 --- a/spec/values/calculation/round/strategy/to-zero.hrx +++ /dev/null @@ -1,127 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> strategy/to-zero/positive/input.scss -a {b: round(to-zero, 120px, 25px)} - -<===> strategy/to-zero/positive/output.css -a { - b: 100px; -} - -<===> -================================================================================ -<===> strategy/to-zero/negative/input.scss -a {b: round(to-zero, -120px, -25px)} - -<===> strategy/to-zero/negative/output.css -a { - b: -125px; -} - -<===> -================================================================================ -<===> strategy/to-zero/upper_multiple/number_is_bigger/input.scss -a {b: round(to-zero, 23px, 10px)} - -<===> strategy/to-zero/upper_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> strategy/to-zero/upper_multiple/number_is_smaller/input.scss -a {b: round(to-zero, 18px, 10px)} - -<===> strategy/to-zero/upper_multiple/number_is_smaller/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> strategy/to-zero/upper_multiple/number_is_half/input.scss -a {b: round(to-zero, 15px, 10px)} - -<===> strategy/to-zero/upper_multiple/number_is_half/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> strategy/to-zero/upper_multiple/number_is_negative/input.scss -a {b: round(to-zero, -13px, 10px)} - -<===> strategy/to-zero/upper_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> strategy/to-zero/lower_multiple/number_is_bigger/input.scss -a {b: round(to-zero, 13px, 10px)} - -<===> strategy/to-zero/lower_multiple/number_is_bigger/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> strategy/to-zero/lower_multiple/number_is_negative/input.scss -a {b: round(to-zero, -18px, 10px)} - -<===> strategy/to-zero/lower_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> strategy/to-zero/negative_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(to-zero, -5, infinity))} - -<===> strategy/to-zero/negative_zero/positive_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> strategy/to-zero/negative_zero/negative_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(to-zero, -5, -infinity))} - -<===> strategy/to-zero/negative_zero/negative_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> strategy/to-zero/positive_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(to-zero, 5, infinity))} - -<===> strategy/to-zero/positive_zero/positive_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> strategy/to-zero/positive_zero/negative_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(to-zero, 5, -infinity))} - -<===> strategy/to-zero/positive_zero/negative_infinity/output.css -a { - b: calc(infinity); -} diff --git a/spec/values/calculation/round/strategy/up.hrx b/spec/values/calculation/round/strategy/up.hrx deleted file mode 100644 index 9bf46be19..000000000 --- a/spec/values/calculation/round/strategy/up.hrx +++ /dev/null @@ -1,187 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> strategy/up/positive/input.scss -a {b: round(up, 101px, 25px)} - -<===> strategy/up/positive/output.css -a { - b: 125px; -} - -<===> -================================================================================ -<===> strategy/up/step_is_multiple_of_number/input.scss -a {b: round(up, 5px, 25px)} - -<===> strategy/up/step_is_multiple_of_number/output.css -a { - b: 25px; -} - -<===> -================================================================================ -<===> strategy/up/number_is_multiple_of_step/input.scss -a {b: round(up, 25px, 5px)} - -<===> strategy/up/number_is_multiple_of_step/output.css -a { - b: 25px; -} - -<===> -================================================================================ -<===> strategy/up/negative/input.scss -a {b: round(up, -101, -25)} - -<===> strategy/up/negative/output.css -a { - b: -100; -} - -<===> -================================================================================ -<===> strategy/up/negative_step/input.scss -a {b: round(up, 12px, -7px)} - -<===> strategy/up/negative_step/output.css -a { - b: 14px; -} - -<===> -================================================================================ -<===> strategy/up/step_is_zero/input.scss -a {b: round(up, 10px, 0px)} - -<===> strategy/up/step_is_zero/output.css -a { - b: calc(NaN * 1px); -} - -<===> -================================================================================ -<===> strategy/up/positive_and_infinity/input.scss -a {b: round(up, 10, infinity)} - -<===> strategy/up/positive_and_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> strategy/up/negative_and_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(up, -10, infinity))} - -<===> strategy/up/negative_and_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> strategy/up/infinity/input.scss -@use "sass:math"; -a {b: round(up, infinity, infinity)} - -<===> strategy/up/infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> strategy/up/upper_multiple/number_is_bigger/input.scss -a {b: round(up, 23px, 10px)} - -<===> strategy/up/upper_multiple/number_is_bigger/output.css -a { - b: 30px; -} - -<===> -================================================================================ -<===> strategy/up/upper_multiple/number_is_smaller/input.scss -a {b: round(up, 18px, 10px)} - -<===> strategy/up/upper_multiple/number_is_smaller/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> strategy/up/upper_multiple/number_is_half/input.scss -a {b: round(up, 15px, 10px)} - -<===> strategy/up/upper_multiple/number_is_half/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> strategy/up/upper_multiple/number_is_negative/input.scss -a {b: round(up, -13px, 10px)} - -<===> strategy/up/upper_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> strategy/up/lower_multiple/number_is_bigger/input.scss -a {b: round(up, 13px, 10px)} - -<===> strategy/up/lower_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> strategy/up/lower_multiple/number_is_negative/input.scss -a {b: round(up, -18px, 10px)} - -<===> strategy/up/lower_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> strategy/up/negative_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(up, -1 * 0, infinity))} - -<===> strategy/up/negative_zero/positive_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> strategy/up/positive_zero/zero/input.scss -@use "sass:math"; -a {b: math.div(1, round(up, 0, infinity))} - -<===> strategy/up/positive_zero/zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> strategy/up/positive_zero/one/input.scss -a {b: round(up, 1, infinity)} - -<===> strategy/up/positive_zero/one/output.css -a { - b: calc(infinity); -} diff --git a/spec/values/calculation/round/three_arguments.hrx b/spec/values/calculation/round/three_arguments.hrx deleted file mode 100644 index 45579e68e..000000000 --- a/spec/values/calculation/round/three_arguments.hrx +++ /dev/null @@ -1,59 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> strategy/unknown_variable/input.scss -a { - e: round(var(--c), 8px, 9px); -} -<===> strategy/unknown_variable/output.css -a { - e: round(var(--c), 8px, 9px); -} - -<===> -================================================================================ -<===> step/unknown_variable/input.scss -a { - d: round(up, 8px, var(--c)); -} -<===> step/unknown_variable/output.css -a { - d: round(up, 8px, var(--c)); -} - -<===> -================================================================================ -<===> preserved/interpolation/input.scss -a { - e: round(#{"up"}, 3px, 9px); -} - -<===> preserved/interpolation/output.css -a { - e: round(up, 3px, 9px); -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: round(nearest, 1px, 10%)} - -<===> units/real_and_unknown/output.css -a { - b: round(nearest, 1px, 10%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: round(nearest, 1%, 2%); -} - -<===> units/unknown/output.css -a { - b: 2%; -} diff --git a/spec/values/calculation/round/two_arguments.hrx b/spec/values/calculation/round/two_arguments.hrx deleted file mode 100644 index 3971116e8..000000000 --- a/spec/values/calculation/round/two_arguments.hrx +++ /dev/null @@ -1,321 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `round()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> units/none/input.scss -a {b: round(117, 25)} - -<===> units/none/output.css -a { - b: 125; -} - -<===> -================================================================================ -<===> units/compatible/input.scss -a {b: round(117cm, 25mm)} - -<===> units/compatible/output.css -a { - b: 117.5cm; -} - -<===> -================================================================================ -<===> units/real_and_unknown/input.scss -a {b: round(1px, 10%)} - -<===> units/real_and_unknown/output.css -a { - b: round(1px, 10%); -} - -<===> -================================================================================ -<===> units/unknown/input.scss -a { - b: round(1%, 2%); -} - -<===> units/unknown/output.css -a { - b: 2%; -} - -<===> -================================================================================ -<===> units/fake/input.scss -a { - b: round(1foo, 2bar); -} - -<===> units/fake/output.css -a { - b: round(1foo, 2bar); -} - -<===> -================================================================================ -<===> units/same_fake/input.scss -a { - b: round(1foo, 2foo); -} - -<===> units/same_fake/output.css -a { - b: 2foo; -} - -<===> -================================================================================ -<===> units/real_and_fake/input.scss -a { - b: round(1px, 2bar); -} - -<===> units/real_and_fake/output.css -a { - b: round(1px, 2bar); -} - -<===> -================================================================================ -<===> simplification/input.scss -a {b: round(3.4px + 10%, 1px + 4px)} - -<===> simplification/output.css -a { - b: round(3.4px + 10%, 5px); -} - -<===> -================================================================================ -<===> step_is_zero/input.scss -a {b: round(5px, 0px)} - -<===> step_is_zero/output.css -a { - b: calc(NaN * 1px); -} - -<===> -================================================================================ -<===> equals/input.scss -a {b: round(10px, 10px)} - -<===> equals/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> nan/input.scss -a {b: round(NaN, NaN)} - -<===> nan/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> unknown_variable/input.scss -a { - c: round(up, var(--c)); -} - -<===> unknown_variable/output.css -a { - c: round(up, var(--c)); -} - -<===> -================================================================================ -<===> preserved/interpolation/input.scss -a { - e: round(#{"5.5px, 1px"}); -} - -<===> preserved/interpolation/output.css -a { - e: round(5.5px, 1px); -} - -<===> -================================================================================ -<===> upper_multiple/number_is_bigger/input.scss -a {b: round(23px, 10px)} - -<===> upper_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_smaller/input.scss -a {b: round(18px, 10px)} - -<===> upper_multiple/number_is_smaller/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_half/input.scss -a {b: round(15px, 10px)} - -<===> upper_multiple/number_is_half/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> upper_multiple/number_is_negative/input.scss -a {b: round(-13px, 10px)} - -<===> upper_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_bigger/input.scss -a {b: round(13px, 10px)} - -<===> lower_multiple/number_is_bigger/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> lower_multiple/number_is_negative/input.scss -a {b: round(-18px, 10px)} - -<===> lower_multiple/number_is_negative/output.css -a { - b: -20px; -} - -<===> -================================================================================ -<===> negative_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(-5, infinity))} - -<===> negative_zero/positive_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> negative_zero/negative_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(-5, -infinity))} - -<===> negative_zero/negative_infinity/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> positive_zero/positive_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(5, infinity))} - -<===> positive_zero/positive_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> positive_zero/negative_infinity/input.scss -@use "sass:math"; -a {b: math.div(1, round(5, -infinity))} - -<===> positive_zero/negative_infinity/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> negative_step/upper_multiple/number_is_bigger/input.scss -a {b: round(23px, -10px)} - -<===> negative_step/upper_multiple/number_is_bigger/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> negative_step/upper_multiple/number_is_smaller/input.scss -a {b: round(18px, -10px)} - -<===> negative_step/upper_multiple/number_is_smaller/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> negative_step/upper_multiple/number_is_half/input.scss -a {b: round(15px, -10px)} - -<===> negative_step/upper_multiple/number_is_half/output.css -a { - b: 20px; -} - -<===> -================================================================================ -<===> negative_step/upper_multiple/number_is_negative/input.scss -a {b: round(-13px, -10px)} - -<===> negative_step/upper_multiple/number_is_negative/output.css -a { - b: -10px; -} - -<===> -================================================================================ -<===> negative_step/lower_multiple/number_is_bigger/input.scss -a {b: round(13px, -10px)} - -<===> negative_step/lower_multiple/number_is_bigger/output.css -a { - b: 10px; -} - -<===> -================================================================================ -<===> negative_step/lower_multiple/number_is_negative/input.scss -a {b: round(-18px, -10px)} - -<===> negative_step/lower_multiple/number_is_negative/output.css -a { - b: -20px; -} - -<===> -================================================================================ -<===> math/unknown_units/input.scss -a { - b: round(1px + 0%, 1px + 0%); -} - -<===> math/unknown_units/output.css -a { - b: round(1px + 0%, 1px + 0%); -} diff --git a/spec/values/calculation/sign.hrx b/spec/values/calculation/sign.hrx deleted file mode 100644 index 8226107a2..000000000 --- a/spec/values/calculation/sign.hrx +++ /dev/null @@ -1,152 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `sign()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> positive/input.scss -a {b: sign(3)} - -<===> positive/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: sign(-5.6)} - -<===> negative/output.css -a { - b: -1; -} - -<===> -================================================================================ -<===> zero/input.scss -@use "sass:math"; -a {b: math.div(1, sign(0))} - -<===> zero/output.css -a { - b: calc(infinity); -} - -<===> -================================================================================ -<===> nan/input.scss -a {b: sign(NaN)} - -<===> nan/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> negative_zero/input.scss -@use "sass:math"; -a {b: math.div(1, sign(-0.0))} - -<===> negative_zero/output.css -a { - b: calc(-infinity); -} - -<===> -================================================================================ -<===> zero_fuzzy/input.scss -a {b: sign(0.000000000001)} - -<===> zero_fuzzy/output.css -a { - b: 1; -} - -<===> -================================================================================ -<===> preserves_units/input.scss -a {b: sign(-7px / 4em) * 1em} - -<===> preserves_units/output.css -a { - b: -1px; -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: sign(1px + 2px - var(--c)) -} - -<===> simplification/output.css -a { - b: sign(3px - var(--c)); -} - -<===> -================================================================================ -<===> error/type/input.scss -a {b: sign("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sign("0")} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: sign()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sign()} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: sign(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sign(0, 0)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: sign($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: sign($)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: sign(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sign(7 % 3)} - | ^ - ' - input.scss 1:14 root stylesheet diff --git a/spec/values/calculation/sin.hrx b/spec/values/calculation/sin.hrx deleted file mode 100644 index 5be9f9933..000000000 --- a/spec/values/calculation/sin.hrx +++ /dev/null @@ -1,199 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `sin()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> deg/input.scss -a {b: sin(1deg)} - -<===> deg/output.css -a { - b: 0.0174524064; -} - -<===> -================================================================================ -<===> grad/input.scss -a {b: sin(1grad)} - -<===> grad/output.css -a { - b: 0.0157073173; -} - -<===> -================================================================================ -<===> rad/input.scss -a {b: sin(1rad)} - -<===> rad/output.css -a { - b: 0.8414709848; -} - -<===> -================================================================================ -<===> turn/input.scss -a {b: sin(1turn)} - -<===> turn/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> negative_infinity/input.scss -a {b: sin(-infinity)} - -<===> negative_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> negative_one/input.scss -a {b: sin(-1)} - -<===> negative_one/output.css -a { - b: -0.8414709848; -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: sin(0)} - -<===> zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: sin(infinity)} - -<===> infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: sin(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: sin(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/units/unknown/input.scss -a {b: sin(1%)} - -<===> error/units/unknown/error -Error: $number: Expected 1% to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: sin(1%)} - | ^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/known/input.scss -a {b: sin(1px)} - -<===> error/units/known/error -Error: $number: Expected 1px to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: sin(1px)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/complex/input.scss -a {b: sin(-7px / 4em)} - -<===> error/units/complex/error -Error: $number: Expected -1.75px/em to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: sin(-7px / 4em)} - | ^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: sin("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sin("0")} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: sin()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sin()} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: sin(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sin(0, 0)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: sin($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: sin($)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: sin(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sin(7 % 3)} - | ^ - ' - input.scss 1:13 root stylesheet diff --git a/spec/values/calculation/sqrt.hrx b/spec/values/calculation/sqrt.hrx deleted file mode 100644 index aa920ed49..000000000 --- a/spec/values/calculation/sqrt.hrx +++ /dev/null @@ -1,136 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `sqrt()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> zero/input.scss -a {b: sqrt(0)} - -<===> zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> units/unitless/input.scss -a {b: sqrt(2)} - -<===> units/unitless/output.css -a { - b: 1.4142135624; -} - -<===> -================================================================================ -<===> negative/input.scss -a {b: sqrt(-9)} - -<===> negative/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: sqrt(1px + 2px - var(--c)) -} - -<===> simplification/output.css -a { - b: sqrt(3px - var(--c)); -} - -<===> -================================================================================ -<===> error/units/unknown/input.scss -a {b: sqrt(1%)} - -<===> error/units/unknown/error -Error: Expected 1% to have no units. - , -1 | a {b: sqrt(1%)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/real/input.scss -a {b: sqrt(16px)} - -<===> error/units/real/error -Error: Expected 16px to have no units. - , -1 | a {b: sqrt(16px)} - | ^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: sqrt("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sqrt("0")} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/too_few_args/input.scss -a {b: sqrt()} - -<===> error/syntax/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: sqrt()} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: sqrt($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: sqrt($)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: sqrt(3, 4)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sqrt(3, 4)} - | ^ - ' - input.scss 1:13 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: sqrt(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: sqrt(7 % 3)} - | ^ - ' - input.scss 1:14 root stylesheet diff --git a/spec/values/calculation/tan.hrx b/spec/values/calculation/tan.hrx deleted file mode 100644 index ffd2ec314..000000000 --- a/spec/values/calculation/tan.hrx +++ /dev/null @@ -1,199 +0,0 @@ -<===> README.md -Most of the same behavior tested for `calc()` applies to `tan()`, but for -terseness' sake isn't tested explicitly. - -<===> -================================================================================ -<===> deg/input.scss -a {b: tan(1deg)} - -<===> deg/output.css -a { - b: 0.0174550649; -} - -<===> -================================================================================ -<===> grad/input.scss -a {b: tan(1grad)} - -<===> grad/output.css -a { - b: 0.0157092553; -} - -<===> -================================================================================ -<===> rad/input.scss -a {b: tan(1rad)} - -<===> rad/output.css -a { - b: 1.5574077247; -} - -<===> -================================================================================ -<===> turn/input.scss -a {b: tan(1turn)} - -<===> turn/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> negative_infinity/input.scss -a {b: tan(-infinity)} - -<===> negative_infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> negative_one/input.scss -a {b: tan(-1)} - -<===> negative_one/output.css -a { - b: -1.5574077247; -} - -<===> -================================================================================ -<===> zero/input.scss -a {b: tan(0)} - -<===> zero/output.css -a { - b: 0; -} - -<===> -================================================================================ -<===> infinity/input.scss -a {b: tan(infinity)} - -<===> infinity/output.css -a { - b: calc(NaN); -} - -<===> -================================================================================ -<===> simplification/input.scss -a { - b: tan(3px - 1px + var(--c)); -} - -<===> simplification/output.css -a { - b: tan(2px + var(--c)); -} - -<===> -================================================================================ -<===> error/units/unknown/input.scss -a {b: tan(1%)} - -<===> error/units/unknown/error -Error: $number: Expected 1% to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: tan(1%)} - | ^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/known/input.scss -a {b: tan(1px)} - -<===> error/units/known/error -Error: $number: Expected 1px to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: tan(1px)} - | ^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/units/complex/input.scss -a {b: tan(-7px / 4em)} - -<===> error/units/complex/error -Error: $number: Expected -1.75px/em to have an angle unit (deg, grad, rad, turn). - , -1 | a {b: tan(-7px / 4em)} - | ^^^^^^^^^^^^^^^ - ' - input.scss 1:7 root stylesheet - -<===> -================================================================================ -<===> error/type/input.scss -a {b: tan("0")} - -<===> error/type/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: tan("0")} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_few_args/input.scss -a {b: tan()} - -<===> error/too_few_args/error -Error: Expected number, variable, function, or calculation. - , -1 | a {b: tan()} - | ^ - ' - input.scss 1:11 root stylesheet - -<===> -================================================================================ -<===> error/too_many_args/input.scss -a {b: tan(0, 0)} - -<===> error/too_many_args/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: tan(0, 0)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/syntax/invalid_arg/input.scss -a {b: tan($)} - -<===> error/syntax/invalid_arg/error -Error: Expected identifier. - , -1 | a {b: tan($)} - | ^ - ' - input.scss 1:12 root stylesheet - -<===> -================================================================================ -<===> error/sass_script/input.scss -a {b: tan(7 % 3)} - -<===> error/sass_script/error -Error: expected "+", "-", "*", "/", or ")". - , -1 | a {b: tan(7 % 3)} - | ^ - ' - input.scss 1:13 root stylesheet