1807 Commits

Author SHA1 Message Date
Connor Skees
642486b8f4 bump dependencies 2020-11-16 03:38:39 -05:00
Connor Skees
f17a1e6da2 placate clippy 2020-11-16 03:25:55 -05:00
Connor Skees
27eeaeef08 plain-css invert accepts numbers of any unit 2020-11-16 03:09:40 -05:00
Connor Skees
f92a071434 move plain css imports to the top of the file
this is a bit of a hack as it does not currently account for multiline
comments (/**/) that precede these imports, but this should largely be a
cosmetic bug as opposed to one that can break programs.
2020-11-16 02:35:52 -05:00
Midas Lambrichts
f501ba8f33
Added additional steps to run the official spec. (#41)
* Added additional steps to run the official spec.

For people who know rust, but are not familiar with ruby, it might not
be immediatly clear what to do to get the spec to run.
Added additional steps which might be needed for a developer to be able
to run the specs.

* Added some wrapping in the sass-spec installation instructions.

Added some wrapping in the paragraph describing how to install the
dependencies for the `sass-spec` repository.

* Included review suggestion by @pickfire
2020-10-08 23:58:32 -04:00
Midas Lambrichts
7539762a0c
Resolve NaN todo!()s for addition and subtraction with other numbers (#40)
* Replace todo's for propagating NaN

* Propagate NaN for remainder as well
2020-09-13 18:08:41 -04:00
Midas Lambrichts
8e060950d5
Fix panic when progid is the last token by removing unwrap (#39)
* Fix panic when progid by removing unwrap

* Incorporate PR feedback
2020-08-24 19:35:55 -04:00
Connor Skees
c0c8de6eb9 simplify media query == comparison check 2020-08-23 20:09:53 -04:00
Connor Skees
605f4f3d6b allow = and == in media queries 2020-08-22 19:18:28 -04:00
Connor Skees
b03561bc37 add test for multiline comments between function name and args 2020-08-21 19:38:43 -04:00
Connor Skees
c44f20d377 allow whitespace between mixin name and args 2020-08-21 19:36:11 -04:00
Connor Skees
feb75800c8 allow whitespace between @content and its args 2020-08-21 19:27:44 -04:00
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