1595 Commits

Author SHA1 Message Date
Connor Skees
4635f76fa5 add test for integer overflow in division 2020-08-21 07:00:42 -04:00
Connor Skees
5bf03c15d6 consume utf8 bom in parser, not lexer 2020-08-21 06:54:03 -04:00
Connor Skees
c19eda6f89 deny scientific notation exponents below -99
1e999 and 1e-999 were able to cause hangs as we use arbitrary precision
numbers rather than floating point. this may change in the future (see
sass/sass#2892)
2020-08-20 18:55:00 -04:00
Connor Skees
921b6e4f8d do not panic on modulo by 0 2020-08-20 18:55:00 -04:00
Midas Lambrichts
d240151f8c
Add fuzzing (#36)
* Add fuzzing

Fuzzing can be useful to find crashes on random input.
Running this for a short while should already result in a crash, proving
it's usefulness.
2020-08-20 08:52:42 -04:00
Connor Skees
f9c163e557 no longer panic on unimplemented division
not implemented, but makes fuzzing less noisy
2020-08-19 20:04:25 -04:00
Connor Skees
f2d1a82f34 remove unwraps from escape parsing
these could not cause panics, but it is nice to reduce the number of
unwraps either way
2020-08-19 14:26:07 -04:00
Connor Skees
6849cd578f refactor variable value parsing to use predicates 2020-08-19 07:13:32 -04:00
Connor Skees
7b4465250e allow unimplemented!() 2020-08-19 06:20:04 -04:00
Connor Skees
c89013d607 add test for malformed bracketed list missing closing brace 2020-08-19 05:26:24 -04:00
Connor Skees
0d7208ccf0 add tests for numbers plus !important, colors, and arglists 2020-08-19 04:14:49 -04:00
Connor Skees
d9d9777467 add tests for bools and important plus quoted string 2020-08-19 04:02:47 -04:00
Connor Skees
cb1eecde74 add tests for nan in unary ops 2020-08-19 03:52:45 -04:00
Connor Skees
ff52e56600 test for single hash to calc and url 2020-08-19 03:49:12 -04:00
Connor Skees
617a421612 remove superfluous derives from numbers 2020-08-19 03:48:59 -04:00
Connor Skees
849a8b4414 resolve todo!() on malformed @use missing string 2020-08-19 03:14:33 -04:00
Connor Skees
10e08fc8ec remove peekmore todo 2020-08-19 03:10:19 -04:00
Connor Skees
79955d921c simplify extension functions 2020-08-19 03:07:21 -04:00
Connor Skees
7358eb16dc resolve todo!() inside malformed module fn call 2020-08-18 12:29:01 -04:00
Connor Skees
b771befed4 remove utf8 BOM from start of files 2020-08-18 06:20:38 -04:00
Connor Skees
6debd2ef52 !global variables declared inside control flow not at root do not also add variable to current scope 2020-08-18 05:55:54 -04:00
Connor Skees
6630a1c2ea correctly handle!global variables inside control flow when not at root 2020-08-18 03:55:26 -04:00
Connor Skees
48de92fdc0 ambiguous keyword operators are not treated as function calls 2020-08-18 03:06:52 -04:00
Connor Skees
00a7659e69 refactor calculation of default variables 2020-08-18 00:17:12 -04:00
Connor Skees
8d1e8a99c5 refactor how default variables are evaluated 2020-08-17 06:16:18 -04:00
Connor Skees
44ecd82454 add ignored test for silent comment in attribute 2020-08-17 05:13:30 -04:00
Connor Skees
9548eb6deb convert single quotes to double quotes in calc 2020-08-17 04:48:11 -04:00
Connor Skees
7acaa94870 better handle strings passed to special css functions 2020-08-17 04:35:00 -04:00
Connor Skees
d2a39e274d add ignored interpolated color test 2020-08-17 04:20:01 -04:00
Connor Skees
4f56096571 simplify default_var_exists 2020-08-17 04:01:25 -04:00
Connor Skees
9b9946c0ee allow units beginning with a single - 2020-08-17 03:58:29 -04:00
Connor Skees
cb046f7be7 list-separator is comma for maps and arglists 2020-08-17 03:39:33 -04:00
Connor Skees
a0786619de @content may have call args even when it has no parens 2020-08-17 03:30:54 -04:00
Connor Skees
5bcf499942 & is null inside selectors at root 2020-08-17 03:13:45 -04:00
Connor Skees
3e8b038705 add ignored test for interpolation of builtin fns 2020-08-17 02:50:19 -04:00
Connor Skees
a7b6675c18 unignore variable casing grayscale test 2020-08-17 02:43:52 -04:00
Connor Skees
befcb15cb5 !default variables can override if the value is null 2020-08-17 02:42:43 -04:00
Connor Skees
a7eb78d249 fix bug in generating complement for colors with hue under 180deg 2020-08-17 02:21:21 -04:00
Connor Skees
790b0685cb set-nth correctly recognizes arglists 2020-08-17 02:03:13 -04:00
Connor Skees
c35fa2b8eb deny non-numeric argument passed to unitless 2020-08-16 20:14:54 -04:00
Connor Skees
253bc3b35f deny comma separated lists without parens as keys to map 2020-08-16 20:00:14 -04:00
Connor Skees
28a0a33d85 respect $module argument passed to function-exists 2020-08-16 19:47:18 -04:00
Connor Skees
f60fb26ca0 do not panic when extending by compound selector with parent 2020-08-16 19:09:08 -04:00
Connor Skees
fce74d4013 bump version to 0.10.3 2020-08-15 22:25:31 -04:00
Connor Skees
2c5b7c9198 update newly passing tests 2020-08-15 22:25:11 -04:00
Connor Skees
a9be640124 arguments do not affect variables in outer scopes 2020-08-15 21:33:44 -04:00
Connor Skees
74bb9bad92 refactor bracketed list and number parsing to separate functions 2020-08-15 20:33:38 -04:00
Connor Skees
34dd92f78f hyphen followed by interpolation is not treated as subtraction 2020-08-15 20:18:37 -04:00
Connor Skees
679bb94b53 add tests for unitful NaN passed to builtin functions 2020-08-15 20:07:27 -04:00
Connor Skees
2b647ffd49 bump version to 0.10.2 2020-08-14 15:55:07 -04:00