2020-03-20 10:59:16 -04:00
|
|
|
#![cfg(test)]
|
|
|
|
|
|
|
|
#[macro_use]
|
|
|
|
mod macros;
|
|
|
|
|
|
|
|
test!(
|
|
|
|
length_of_list_as_var,
|
|
|
|
"$a: 1 2 3 4 5;a {\n color: length($a);\n}\n",
|
|
|
|
"a {\n color: 5;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
length_of_list,
|
|
|
|
"a {\n color: length(1 2 3 4 5);\n}\n",
|
|
|
|
"a {\n color: 5;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
length_of_comma_list,
|
|
|
|
"a {\n color: length((1, 2, 3, 4, 5));\n}\n",
|
|
|
|
"a {\n color: 5;\n}\n"
|
|
|
|
);
|
2020-03-20 12:09:08 -04:00
|
|
|
test!(
|
|
|
|
nth_space_separated,
|
|
|
|
"a {\n color: nth(a b c, 1);\n}\n",
|
|
|
|
"a {\n color: a;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
nth_negative_index,
|
|
|
|
"a {\n color: nth(a b c, -2);\n}\n",
|
|
|
|
"a {\n color: b;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
nth_comma_separated,
|
|
|
|
"a {\n color: nth((a, b, c), 3);\n}\n",
|
|
|
|
"a {\n color: c;\n}\n"
|
|
|
|
);
|
2020-03-20 12:36:31 -04:00
|
|
|
test!(
|
|
|
|
nth_non_list,
|
|
|
|
"a {\n color: nth(foo, 1);\n}\n",
|
|
|
|
"a {\n color: foo;\n}\n"
|
|
|
|
);
|
2020-03-20 12:32:33 -04:00
|
|
|
test!(
|
|
|
|
list_separator_space_separated,
|
|
|
|
"a {\n color: list-separator(a b c);\n}\n",
|
|
|
|
"a {\n color: space;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
list_separator_foo,
|
|
|
|
"a {\n color: list-separator(foo);\n}\n",
|
|
|
|
"a {\n color: space;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
list_separator_comma_separated,
|
|
|
|
"a {\n color: list-separator((a, b, c));\n}\n",
|
|
|
|
"a {\n color: comma;\n}\n"
|
|
|
|
);
|
|
|
|
// blocked on better parsing of comma separated lists with
|
|
|
|
// space separated lists inside
|
|
|
|
// test!(
|
|
|
|
// list_separator_comma_separated_with_space,
|
|
|
|
// "a {\n color: list-separator(((a b, c d)));\n}\n",
|
|
|
|
// "a {\n color: comma;\n}\n"
|
|
|
|
// );
|
2020-03-20 19:27:26 -04:00
|
|
|
test!(
|
|
|
|
set_nth_named_args,
|
|
|
|
"a {\n color: set-nth($list: 1 2 3, $n: 2, $value: foo);\n}\n",
|
|
|
|
"a {\n color: 1 foo 3;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
set_nth_non_list,
|
|
|
|
"a {\n color: set-nth(c, 1, e);\n}\n",
|
|
|
|
"a {\n color: e;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
set_nth_2_long,
|
|
|
|
"a {\n color: set-nth(c d, 1, e);\n}\n",
|
|
|
|
"a {\n color: e d;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
set_nth_comma_separated,
|
|
|
|
"a {\n color: set-nth((a, b, c), 1, e);\n}\n",
|
|
|
|
"a {\n color: e, b, c;\n}\n"
|
|
|
|
);
|
2020-03-20 19:50:23 -04:00
|
|
|
test!(
|
|
|
|
append_space_separated,
|
|
|
|
"a {\n color: append(a b, c);\n}\n",
|
|
|
|
"a {\n color: a b c;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
append_comma_separated,
|
|
|
|
"a {\n color: append((a, b), c);\n}\n",
|
|
|
|
"a {\n color: a, b, c;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
append_list,
|
|
|
|
"a {\n color: append(a b, c d);\n}\n",
|
|
|
|
"a {\n color: a b c d;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
append_list_separator_comma,
|
|
|
|
"a {\n color: append(a, b, comma);\n}\n",
|
|
|
|
"a {\n color: a, b;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
append_list_separator_space,
|
|
|
|
"a {\n color: append((a, b), c, space);\n}\n",
|
|
|
|
"a {\n color: a b c;\n}\n"
|
|
|
|
);
|
2020-03-20 20:01:57 -04:00
|
|
|
test!(
|
|
|
|
list_separator_empty,
|
|
|
|
"a {\n color: list-separator(());\n}\n",
|
|
|
|
"a {\n color: space;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
append_empty,
|
|
|
|
"a {\n color: append((), a);\n}\n",
|
|
|
|
"a {\n color: a;\n}\n"
|
|
|
|
);
|
2020-03-22 14:04:16 -04:00
|
|
|
test!(
|
|
|
|
join_space_separated,
|
|
|
|
"a {\n color: join(a b, c d);\n}\n",
|
|
|
|
"a {\n color: a b c d;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
join_comma_separated,
|
|
|
|
"a {\n color: join((a, b), (c, d));\n}\n",
|
|
|
|
"a {\n color: a, b, c, d;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
join_non_list,
|
|
|
|
"a {\n color: join(a, b);\n}\n",
|
|
|
|
"a {\n color: a b;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
join_separator_comma,
|
|
|
|
"a {\n color: join(a, b, comma);\n}\n",
|
|
|
|
"a {\n color: a, b;\n}\n"
|
|
|
|
);
|
|
|
|
test!(
|
|
|
|
join_separator_space,
|
|
|
|
"a {\n color: join((a, b), (c, d), space);\n}\n",
|
|
|
|
"a {\n color: a b c d;\n}\n"
|
|
|
|
);
|
2020-03-23 19:56:24 -04:00
|
|
|
test!(
|
|
|
|
join_bracketed,
|
|
|
|
"a {\n color: join([a], b);\n}\n",
|
|
|
|
"a {\n color: [a b];\n}\n"
|
|
|
|
);
|
|
|
|
test!(bracketed_ident, "a {\n color: [a];\n}\n");
|
|
|
|
test!(bracketed_space_list, "a {\n color: [a b];\n}\n");
|
|
|
|
test!(bracketed_comma_list, "a {\n color: [a, b];\n}\n");
|
|
|
|
test!(bracketed_as_space_list, "a {\n color: [a b] c;\n}\n");
|