2020-03-17 12:47:27 -04:00
|
|
|
#![cfg(test)]
|
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
mod macros;
|
|
|
|
|
2020-04-21 05:38:38 -04:00
|
|
|
// this is `1` for node-sass, but .999999etc for web compiler
|
2020-03-17 12:47:27 -04:00
|
|
|
test!(
|
|
|
|
precision_does_not_round_up,
|
|
|
|
"a {\n color: 0.99999999991;\n}\n",
|
|
|
|
"a {\n color: 0.9999999999;\n}\n"
|
|
|
|
);
|
2020-04-21 05:38:38 -04:00
|
|
|
// this is `1` for node-sass, but .999999etc for web compiler
|
2020-03-17 12:47:27 -04:00
|
|
|
test!(
|
|
|
|
precision_does_round_up,
|
|
|
|
"a {\n color: 1.00000000009;\n}\n",
|
|
|
|
"a {\n color: 1.0000000001;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
many_nines_becomes_one,
|
|
|
|
"a {\n color: 0.9999999999999999;\n}\n",
|
|
|
|
"a {\n color: 1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
many_nines_becomes_one_neg,
|
|
|
|
"a {\n color: -0.9999999999999999;\n}\n",
|
|
|
|
"a {\n color: -1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_zero,
|
|
|
|
"a {\n color: -0;\n}\n",
|
|
|
|
"a {\n color: 0;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
decimal_is_zero,
|
2020-03-18 10:08:40 -04:00
|
|
|
"a {\n color: 1.0000;\n}\n",
|
2020-03-17 12:47:27 -04:00
|
|
|
"a {\n color: 1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(many_nines_not_rounded, "a {\n color: 0.999999;\n}\n");
|
|
|
|
test!(positive_integer, "a {\n color: 1;\n}\n");
|
|
|
|
test!(negative_integer, "a {\n color: -1;\n}\n");
|
|
|
|
test!(
|
|
|
|
positive_float_no_leading_zero,
|
|
|
|
"a {\n color: .1;\n}\n",
|
|
|
|
"a {\n color: 0.1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_float_no_leading_zero,
|
|
|
|
"a {\n color: -.1;\n}\n",
|
|
|
|
"a {\n color: -0.1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(positive_float_leading_zero, "a {\n color: 0.1;\n}\n");
|
|
|
|
test!(negative_float_leading_zero, "a {\n color: -0.1;\n}\n");
|
2020-03-18 11:39:58 -04:00
|
|
|
|
|
|
|
test!(
|
|
|
|
px_mod_px,
|
|
|
|
"a {\n color: 10px % 2px;\n}\n",
|
|
|
|
"a {\n color: 0px;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
px_mod_in,
|
|
|
|
"a {\n color: 10px % 2in;\n}\n",
|
|
|
|
"a {\n color: 10px;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
px_mod_none,
|
|
|
|
"a {\n color: 10px % 2;\n}\n",
|
|
|
|
"a {\n color: 0px;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
none_mod_px,
|
|
|
|
"a {\n color: 10 % 2px;\n}\n",
|
|
|
|
"a {\n color: 0px;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
none_mod_none,
|
|
|
|
"a {\n color: 10 % 2;\n}\n",
|
|
|
|
"a {\n color: 0;\n}\n"
|
|
|
|
);
|
2020-03-19 08:36:11 -04:00
|
|
|
test!(
|
|
|
|
num_plus_div,
|
|
|
|
"a {\n color: 1 + 3/4;\n}\n",
|
|
|
|
"a {\n color: 1.75;\n}\n"
|
|
|
|
);
|
2020-03-31 01:38:57 -04:00
|
|
|
test!(
|
|
|
|
negative_near_zero_no_sign,
|
|
|
|
"a {\n color: -0.000000000001;\n}\n",
|
|
|
|
"a {\n color: 0;\n}\n"
|
|
|
|
);
|
2020-04-03 14:34:59 -04:00
|
|
|
test!(
|
|
|
|
equality_unit_conversions,
|
|
|
|
"a {\n color: 1in == 96px;\n}\n",
|
|
|
|
"a {\n color: true;\n}\n"
|
|
|
|
);
|
2020-04-28 12:15:10 -04:00
|
|
|
test!(
|
|
|
|
positive_scientific_notation,
|
|
|
|
"a {\n color: 1e5;\n}\n",
|
|
|
|
"a {\n color: 100000;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
positive_scientific_notation_leading_zeroes,
|
|
|
|
"a {\n color: 1e05;\n}\n",
|
|
|
|
"a {\n color: 100000;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
positive_scientific_notation_capital,
|
|
|
|
"a {\n color: 1E5;\n}\n",
|
|
|
|
"a {\n color: 100000;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_scientific_notation,
|
|
|
|
"a {\n color: 1e-5;\n}\n",
|
|
|
|
"a {\n color: 0.00001;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_scientific_notation_leading_zeroes,
|
|
|
|
"a {\n color: 1e-05;\n}\n",
|
|
|
|
"a {\n color: 0.00001;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_scientific_notation_capital,
|
|
|
|
"a {\n color: 1E-5;\n}\n",
|
|
|
|
"a {\n color: 0.00001;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
positive_scientific_notation_decimal,
|
|
|
|
"a {\n color: 1.2e5;\n}\n",
|
|
|
|
"a {\n color: 120000;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_scientific_notation_decimal,
|
|
|
|
"a {\n color: 1.2e-5;\n}\n",
|
|
|
|
"a {\n color: 0.000012;\n}\n"
|
|
|
|
);
|
|
|
|
test!(unit_e, "a {\n color: 1e;\n}\n");
|
|
|
|
test!(
|
|
|
|
positive_scientific_notation_zero,
|
|
|
|
"a {\n color: 1e0;\n}\n",
|
|
|
|
"a {\n color: 1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
negative_scientific_notation_zero,
|
|
|
|
"a {\n color: 1e-0;\n}\n",
|
|
|
|
"a {\n color: 1;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
scientific_notation_decimal,
|
|
|
|
"a {\n color: 1.2e5.5;\n}\n",
|
|
|
|
"a {\n color: 120000 0.5;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
binary_op_with_e_as_unit,
|
|
|
|
"a {\n color: 1e - 2;\n}\n",
|
|
|
|
"a {\n color: -1e;\n}\n"
|
|
|
|
);
|
|
|
|
error!(
|
2020-05-21 18:25:42 -04:00
|
|
|
scientific_notation_nothing_after_dash_in_style,
|
2020-04-28 12:15:10 -04:00
|
|
|
"a {\n color: 1e-;\n}\n", "Error: Expected digit."
|
|
|
|
);
|
2020-05-21 18:25:42 -04:00
|
|
|
error!(
|
|
|
|
scientific_notation_nothing_after_dash,
|
|
|
|
"a {\n color: 1e-", "Error: Expected digit."
|
|
|
|
);
|
2020-04-28 12:15:10 -04:00
|
|
|
error!(
|
|
|
|
scientific_notation_whitespace_after_dash,
|
|
|
|
"a {\n color: 1e- 2;\n}\n", "Error: Expected digit."
|
|
|
|
);
|
|
|
|
error!(
|
|
|
|
scientific_notation_ident_char_after_dash,
|
|
|
|
"a {\n color: 1e-a;\n}\n", "Error: Expected digit."
|
|
|
|
);
|