123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
-
- // test late parsing
- @cols: 1, 2;
- .a(@i: length(@cols)) when (@i > 0) {
- @divider: e(extract(@cols, @i));
- }
- .a;
- .b(@j: 1) when (@j < length(@cols)) {
- @divider: e(extract(@cols, @j));
- }
- .b;
- // simple array/list:
- .multiunit {
- @v: abc "abc" 1 1px 1% #123;
- length: length(@v);
- extract: extract(@v, 1) extract(@v, 2) extract(@v, 3) extract(@v, 4) extract(@v, 5) extract(@v, 6);
- }
- .incorrect-index {
- @v1: a b c;
- @v2: a, b, c;
- v1: extract(@v1, 5);
- v2: extract(@v2, -2);
- }
- .scalar {
- @var: variable;
- var-value: extract(@var, 1);
- var-length: length(@var);
- ill-index: extract(@var, 2);
- name-value: extract(name, 1);
- string-value: extract("string", 1);
- number-value: extract(12345678, 1);
- color-value: extract(blue, 1);
- rgba-value: extract(rgba(80, 160, 240, 0.67), 1);
- empty-value: extract(~'', 1);
- name-length: length(name);
- string-length: length("string");
- number-length: length(12345678);
- color-length: length(blue);
- rgba-length: length(rgba(80, 160, 240, 0.67));
- empty-length: length(~'');
- }
- .mixin-arguments {
- .mixin-args(a b c d);
- .mixin-args(a, b, c, d);
- .mixin-args(1; 2; 3; 4);
- }
- .mixin-args(@value) {
- &-1 {
- length: length(@value);
- extract: extract(@value, 3) ~"|" extract(@value, 2) ~"|" extract(@value, 1);
- }
- }
- .mixin-args(...) {
- &-2 {
- length: length(@arguments);
- extract: extract(@arguments, 3) ~"|" extract(@arguments, 2) ~"|" extract(@arguments, 1);
- }
- }
- .mixin-args(@values...) {
- &-3 {
- length: length(@values);
- extract: extract(@values, 3) ~"|" extract(@values, 2) ~"|" extract(@values, 1);
- }
- }
- .mixin-args(@head, @tail...) {
- &-4 {
- length: length(@tail);
- extract: extract(@tail, 2) ~"|" extract(@tail, 1);
- }
- }
- // "multidimensional" array/list
- .md-space-comma {
- @v: a b c, 1 2 3, "x" "y" "z";
- length-1: length(@v);
- extract-1: extract(@v, 2);
- length-2: length(extract(@v, 2));
- extract-2: extract(extract(@v, 2), 2);
- &-as-args {.mixin-args(a b c, 1 2 3, "x" "y" "z")}
- }
- .md-cat-space-comma {
- @a: a b c;
- @b: 1 2 3;
- @c: "x" "y" "z";
- @v: @a, @b, @c;
- length-1: length(@v);
- extract-1: extract(@v, 2);
- length-2: length(extract(@v, 2));
- extract-2: extract(extract(@v, 2), 2);
- &-as-args {.mixin-args(@a, @b, @c)}
- }
- .md-cat-comma-space {
- @a: a, b, c;
- @b: 1, 2, 3;
- @c: "x", "y", "z";
- @v: @a @b @c;
- length-1: length(@v);
- extract-1: extract(@v, 2);
- length-2: length(extract(@v, 2));
- extract-2: extract(extract(@v, 2), 2);
- &-as-args {.mixin-args(@a @b @c)}
- }
- .md-3D {
- @a: a b c d, 1 2 3 4;
- @b: 5 6 7 8, e f g h;
- .3D(@a, @b);
- .3D(...) {
- @v1: @arguments;
- length-1: length(@v1);
- extract-1: extract(@v1, 1);
- @v2: extract(@v1, 2);
- length-2: length(@v2);
- extract-2: extract(@v2, 1);
- @v3: extract(@v2, 1);
- length-3: length(@v3);
- extract-3: extract(@v3, 3);
- @v4: extract(@v3, 4);
- length-4: length(@v4);
- extract-4: extract(@v4, 1);
- }
- }
|