@less/test-data 4.8.1 → 5.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/UPSTREAM-FIXTURE-SYNC.md +54 -0
- package/package.json +4 -1
- package/styles.config.ts +15 -0
- package/tests-config/3rd-party/styles.config.cjs +1 -1
- package/tests-config/compression/styles.config.cjs +1 -1
- package/tests-config/debug/all/styles.config.cjs +1 -1
- package/tests-config/debug/comments/styles.config.cjs +1 -1
- package/tests-config/debug/mediaquery/styles.config.cjs +1 -1
- package/tests-config/filemanagerPlugin/styles.config.cjs +1 -1
- package/tests-config/functions-harness/functions-harness.css +8 -0
- package/tests-config/functions-harness/functions-harness.less +10 -0
- package/tests-config/namespacing/legacy/namespacing-7.css +15 -0
- package/tests-config/namespacing/namespacing-5.less +3 -3
- package/tests-config/namespacing/namespacing-7.css +16 -8
- package/tests-config/namespacing/styles.config.cjs +4 -1
- package/tests-config/strict-imports/legacy/strict-imports.css +14 -0
- package/tests-config/strict-imports/strict-imports.css +4 -2
- package/tests-config/strict-imports/styles.config.cjs +6 -5
- package/tests-error/eval/ampersand-merge-template-invalid.less +7 -0
- package/tests-error/eval/ampersand-merge-template-invalid.txt +1 -0
- package/tests-error/eval/at-rules-undefined-var.less +1 -1
- package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.css +45 -0
- package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.less +72 -0
- package/tests-unit/at-rules/at-rules.css +8 -6
- package/tests-unit/at-rules/legacy/at-rules.css +110 -0
- package/tests-unit/at-rules/styles.config.ts +5 -0
- package/tests-unit/at-rules-bubbling/at-rules-bubbling.css +121 -0
- package/tests-unit/at-rules-bubbling/legacy/at-rules-bubbling.css +122 -0
- package/tests-unit/at-rules-keyword-comments/at-rules-keyword-comments.css +2 -5
- package/tests-unit/at-rules-keyword-comments/legacy/at-rules-keyword-comments.css +12 -0
- package/tests-unit/at-rules-targeted/at-rules-targeted.css +5 -3
- package/tests-unit/at-rules-targeted/legacy/at-rules-targeted.css +55 -0
- package/tests-unit/calc/calc.css +8 -8
- package/tests-unit/calc/calc.less +1 -0
- package/tests-unit/calc/legacy/calc.css +32 -0
- package/tests-unit/color-functions/basic.css +1 -1
- package/tests-unit/color-functions/comprehensive.css +5 -5
- package/tests-unit/color-functions/comprehensive.less +1 -0
- package/tests-unit/color-functions/formats.css +0 -12
- package/tests-unit/color-functions/formats.less +0 -15
- package/tests-unit/color-functions/legacy/basic.css +21 -0
- package/tests-unit/color-functions/legacy/comprehensive.css +48 -0
- package/tests-unit/color-functions/legacy/modern-syntax.css +9 -0
- package/tests-unit/color-functions/legacy/operations.css +18 -0
- package/tests-unit/color-functions/legacy/rgba.css +20 -0
- package/tests-unit/color-functions/modern-syntax.css +4 -4
- package/tests-unit/color-functions/modern-syntax.less +1 -0
- package/tests-unit/color-functions/operations.less +1 -0
- package/tests-unit/color-functions/rgba.css +3 -3
- package/tests-unit/color-functions/rgba.less +3 -1
- package/tests-unit/comments/comments.css +5 -6
- package/tests-unit/comments/comments.less +2 -1
- package/tests-unit/comments/comments2.css +4 -6
- package/tests-unit/comments/comments2.less +3 -0
- package/tests-unit/comments/legacy/comments.css +86 -0
- package/tests-unit/comments/legacy/comments2.css +21 -0
- package/tests-unit/container/container.css +40 -83
- package/tests-unit/container/container.less +28 -82
- package/tests-unit/container/legacy/container.css +273 -0
- package/tests-unit/container/styles.config.ts +8 -0
- package/tests-unit/css-3/css-3.css +4 -4
- package/tests-unit/css-3/legacy/css-3.css +147 -0
- package/tests-unit/css-escapes/css-escapes.css +4 -4
- package/tests-unit/css-escapes/legacy/css-escapes.css +34 -0
- package/tests-unit/css-escapes/styles.config.ts +5 -0
- package/tests-unit/css-grid/css-grid.css +4 -1
- package/tests-unit/css-grid/legacy/css-grid.css +27 -0
- package/tests-unit/css-guards/css-guards.less +2 -1
- package/tests-unit/detached-rulesets/detached-rulesets.css +26 -18
- package/tests-unit/detached-rulesets/legacy/detached-rulesets.css +79 -0
- package/tests-unit/directives-bubbling/directives-bubbling.css +16 -14
- package/tests-unit/extend/extend.css +22 -28
- package/tests-unit/extend/legacy/extend.css +79 -0
- package/tests-unit/extend/styles.config.ts +5 -0
- package/tests-unit/extend-chaining/extend-chaining.css +7 -10
- package/tests-unit/extend-chaining/legacy/extend-chaining.css +84 -0
- package/tests-unit/extend-clearfix/extend-clearfix.css +1 -3
- package/tests-unit/extend-clearfix/extend-clearfix.less +0 -1
- package/tests-unit/{extend → extend-clearfix/legacy}/extend-clearfix.css +3 -0
- package/tests-unit/extend-exact/extend-exact.css +25 -24
- package/tests-unit/extend-exact/legacy/extend-exact.css +40 -0
- package/tests-unit/extend-exact/styles.config.ts +5 -0
- package/tests-unit/extend-media/extend-media.css +9 -14
- package/tests-unit/extend-media/legacy/extend-media.css +27 -0
- package/tests-unit/extend-media/styles.config.ts +5 -0
- package/tests-unit/extend-nest/extend-nest.css +3 -22
- package/tests-unit/extend-nest/legacy/extend-nest.css +60 -0
- package/tests-unit/extend-selector/extend-selector.css +42 -67
- package/tests-unit/extend-selector/extend-selector.less +0 -15
- package/tests-unit/extend-selector/legacy/extend-selector.css +73 -0
- package/tests-unit/extend-selector/styles.config.ts +5 -0
- package/tests-unit/extract-and-length/extract-and-length.css +6 -5
- package/tests-unit/extract-and-length/extract-and-length.less +7 -2
- package/tests-unit/extract-and-length/legacy/extract-and-length.css +137 -0
- package/tests-unit/functions/functions.css +5 -14
- package/tests-unit/functions/functions.less +7 -17
- package/tests-unit/functions/legacy/functions.css +244 -0
- package/tests-unit/functions/legacy/functions.less +296 -0
- package/tests-unit/functions-each/functions-each.css +4 -2
- package/tests-unit/import/import-reference-issues.css +6 -6
- package/tests-unit/import/import-reference.css +4 -2
- package/tests-unit/import/legacy/import-reference-issues.css +27 -0
- package/tests-unit/import/legacy/import-reference.css +101 -0
- package/tests-unit/import/styles.config.cjs +5 -4
- package/tests-unit/layer/layer.css +30 -28
- package/tests-unit/layer/legacy/layer.css +136 -0
- package/tests-unit/layer/styles.config.ts +5 -0
- package/tests-unit/math-css-vars/math-css-vars.css +1 -0
- package/tests-unit/math-css-vars/math-css-vars.less +1 -0
- package/tests-unit/media/legacy/media.css +274 -0
- package/tests-unit/media/media.css +49 -43
- package/tests-unit/media/media.less +0 -2
- package/tests-unit/media/styles.config.cjs +5 -0
- package/tests-unit/merge/merge.css +2 -2
- package/tests-unit/mixin-noparens/legacy/mixin-noparens.css +10 -0
- package/tests-unit/mixin-noparens/mixin-noparens.css +4 -2
- package/tests-unit/mixin-noparens/styles.config.ts +5 -0
- package/tests-unit/mixins/legacy/maps.css +9 -0
- package/tests-unit/mixins/legacy/mixins.css +147 -0
- package/tests-unit/mixins/maps.css +7 -5
- package/tests-unit/mixins/mixins.css +7 -5
- package/tests-unit/mixins/styles.config.ts +5 -0
- package/tests-unit/mixins-closure/legacy/mixins-closure.css +12 -0
- package/tests-unit/mixins-closure/mixins-closure.css +4 -2
- package/tests-unit/mixins-closure/styles.config.ts +5 -0
- package/tests-unit/mixins-guards/legacy/mixins-guards.css +214 -0
- package/tests-unit/mixins-guards/mixins-guards.css +5 -3
- package/tests-unit/mixins-guards/mixins-guards.less +0 -1
- package/tests-unit/mixins-guards/styles.config.ts +5 -0
- package/tests-unit/mixins-guards-default-func/legacy/mixins-guards-default-func.css +132 -0
- package/tests-unit/mixins-guards-default-func/mixins-guards-default-func.css +0 -2
- package/tests-unit/mixins-important/mixins-important.css +33 -19
- package/tests-unit/mixins-interpolated/legacy/mixins-interpolated.css +42 -0
- package/tests-unit/mixins-interpolated/mixins-interpolated.css +24 -14
- package/tests-unit/mixins-interpolated/styles.config.ts +5 -0
- package/tests-unit/mixins-nested/legacy/mixins-nested.css +17 -0
- package/tests-unit/mixins-nested/mixins-nested.css +16 -12
- package/tests-unit/mixins-nested/styles.config.ts +5 -0
- package/tests-unit/nesting/legacy/nesting.css +27 -0
- package/tests-unit/nesting/nesting-uncollapsed.css +26 -0
- package/tests-unit/nesting/nesting.css +1 -1
- package/tests-unit/nesting/styles.config.ts +6 -0
- package/tests-unit/operations/operations.css +4 -2
- package/tests-unit/parse-interpolation/legacy/parse-interpolation.css +39 -0
- package/tests-unit/parse-interpolation/parse-interpolation.css +72 -35
- package/tests-unit/parse-interpolation/parse-interpolation.less +73 -25
- package/tests-unit/parse-interpolation/styles.config.ts +5 -0
- package/tests-unit/parser-property-interp/parser-property-interp.css +1 -1
- package/tests-unit/parser-property-interp/parser-property-interp.less +2 -2
- package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.css +1 -9
- package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.less +11 -11
- package/tests-unit/plugin/styles.config.ts +11 -0
- package/tests-unit/property-accessors/legacy/property-accessors.css +60 -0
- package/tests-unit/property-accessors/property-accessors.css +15 -7
- package/tests-unit/property-name-interp/legacy/property-name-interp.css +24 -0
- package/tests-unit/property-name-interp/property-name-interp.css +1 -1
- package/tests-unit/property-name-interp/property-name-interp.less +4 -2
- package/tests-unit/property-targeted/legacy/property-targeted.css +7 -0
- package/tests-unit/property-targeted/property-targeted.css +1 -1
- package/tests-unit/rulesets/legacy/rulesets.css +31 -0
- package/tests-unit/rulesets/rulesets.css +30 -30
- package/tests-unit/rulesets/styles.config.ts +5 -0
- package/tests-unit/scope/legacy/scope.css +41 -0
- package/tests-unit/scope/scope.css +1 -1
- package/tests-unit/selectors/selectors.css +13 -41
- package/tests-unit/styles.config.cjs +1 -1
- package/tests-unit/styles.config.ts +8 -0
- package/tests-unit/variables/legacy/variable-advanced.css +58 -0
- package/tests-unit/variables/variable-advanced.css +1 -4
- package/tests-unit/variables/variable-advanced.less +5 -4
- package/tests-unit/variables-in-at-rules/variables-in-at-rules.less +3 -2
- package/tests-unit/whitespace/legacy/whitespace.css +45 -0
- package/tests-unit/whitespace/whitespace.css +3 -2
- package/tests-warnings/parentless-ampersand-nested.less +6 -0
- package/tests-warnings/parentless-ampersand-nested.txt +42 -0
- package/tests-warnings/parentless-ampersand.less +3 -0
- package/tests-warnings/parentless-ampersand.txt +21 -0
- package/tests-unit/extend/extend-clearfix.less +0 -19
- /package/tests-unit/{directives-bubbling/directives-bubbling.less → at-rules-bubbling/at-rules-bubbling.less} +0 -0
- /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.css +0 -0
- /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.less +0 -0
- /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.css +0 -0
- /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.less +0 -0
- /package/tests-unit/{javascript → javascript-REMOVED/legacy}/styles.config.cjs +0 -0
|
@@ -1,54 +1,102 @@
|
|
|
1
1
|
// Parse interpolation tests
|
|
2
|
-
|
|
2
|
+
// Paired variants: selector-capture (`*[]`) and quoted selectors (`~'...'`).
|
|
3
3
|
|
|
4
|
-
@
|
|
4
|
+
@inputs-cap: *[input[type=text], input[type=email], input[type=password], textarea];
|
|
5
|
+
@inputs-quoted: ~'input[type=text], input[type=email], input[type=password], textarea';
|
|
6
|
+
|
|
7
|
+
@{inputs-cap} {
|
|
5
8
|
&:focus {
|
|
6
9
|
foo: bar;
|
|
7
10
|
}
|
|
8
|
-
}
|
|
11
|
+
}
|
|
9
12
|
|
|
10
|
-
@
|
|
13
|
+
@{inputs-quoted} {
|
|
14
|
+
&:focus {
|
|
15
|
+
foo: baz;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@classes-cap: *[.a, .b, .c];
|
|
20
|
+
@classes-quoted: ~'.a, .b, .c';
|
|
11
21
|
|
|
12
|
-
@{classes} {
|
|
13
|
-
+ .z {
|
|
14
|
-
color: blue;
|
|
22
|
+
@{classes-cap} {
|
|
23
|
+
+ .z-cap {
|
|
24
|
+
color: blue;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@{classes-quoted} {
|
|
29
|
+
+ .z-quoted {
|
|
30
|
+
color: green;
|
|
15
31
|
}
|
|
16
32
|
}
|
|
17
33
|
|
|
18
34
|
.bar {
|
|
19
|
-
.d@{classes}&:hover, baz {
|
|
35
|
+
.d@{classes-cap}&:hover, baz-cap {
|
|
20
36
|
color: blue;
|
|
21
37
|
}
|
|
22
38
|
}
|
|
23
39
|
|
|
24
|
-
|
|
25
|
-
@
|
|
26
|
-
|
|
40
|
+
.bar2 {
|
|
41
|
+
.q@{classes-quoted}&:hover, baz-quoted {
|
|
42
|
+
color: green;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@c-cap: *[.a, .b];
|
|
47
|
+
@d-cap: *[.c, .d];
|
|
48
|
+
@e-cap: ~' + .e-cap';
|
|
27
49
|
|
|
28
|
-
@{c}@{d} {
|
|
29
|
-
@{e} {
|
|
50
|
+
@{c-cap}@{d-cap} {
|
|
51
|
+
@{e-cap} {
|
|
30
52
|
foo: bar;
|
|
31
53
|
}
|
|
32
54
|
}
|
|
33
55
|
|
|
34
|
-
@
|
|
56
|
+
@c-quoted: ~'.a, .b';
|
|
57
|
+
@d-quoted: ~'.c, .d';
|
|
58
|
+
@e-quoted: ~' + .e-quoted';
|
|
35
59
|
|
|
36
|
-
|
|
37
|
-
@{
|
|
60
|
+
@{c-quoted}@{d-quoted} {
|
|
61
|
+
@{e-quoted} {
|
|
62
|
+
foo: baz;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@textClasses-cap: *[&[class="text"], &.text];
|
|
67
|
+
@textClasses-quoted: ~'&[class="text"], &.text';
|
|
68
|
+
|
|
69
|
+
input.cap {
|
|
70
|
+
@{textClasses-cap} {
|
|
38
71
|
background: red;
|
|
39
72
|
}
|
|
40
73
|
}
|
|
41
74
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
75
|
+
input.quoted {
|
|
76
|
+
@{textClasses-quoted} {
|
|
77
|
+
background: blue;
|
|
78
|
+
}
|
|
47
79
|
}
|
|
48
80
|
|
|
49
|
-
@
|
|
50
|
-
@
|
|
51
|
-
|
|
52
|
-
|
|
81
|
+
@my-selector-cap: *[.selector-1, .selector-2];
|
|
82
|
+
@my-selector-quoted: ~'.selector-1, .selector-2';
|
|
83
|
+
|
|
84
|
+
.master-page-cap {
|
|
85
|
+
@{my-selector-cap} {
|
|
86
|
+
background-color: red;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.master-page-quoted {
|
|
91
|
+
@{my-selector-quoted} {
|
|
92
|
+
background-color: blue;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@list-cap: *[apple, satsuma, banana, pear];
|
|
97
|
+
|
|
98
|
+
@{list-cap} {
|
|
99
|
+
.fruit-cap-& {
|
|
100
|
+
content: "Capture";
|
|
53
101
|
}
|
|
54
102
|
}
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
// border-${prop-name} becomes "border-color" (since prop-name's value is "color")
|
|
19
19
|
border-${prop-name}-width: 2px;
|
|
20
20
|
|
|
21
|
-
//
|
|
22
|
-
|
|
21
|
+
// Custom property name with ${prop-name}
|
|
22
|
+
--z-${prop-name}: 1px dashed blue;
|
|
23
23
|
|
|
24
24
|
// Multiple ${prop} in same property name
|
|
25
25
|
// ${my}-${prop-name}-${value} becomes "background-color-width"
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
// They were part of the Shadow DOM specification but have been removed
|
|
5
5
|
|
|
6
6
|
// /deep/ combinator (deprecated)
|
|
7
|
-
.parent /deep/ .child {
|
|
8
|
-
|
|
9
|
-
}
|
|
7
|
+
// .parent /deep/ .child {
|
|
8
|
+
// color: red;
|
|
9
|
+
// }
|
|
10
10
|
|
|
11
|
-
// /shadow/ combinator (deprecated)
|
|
12
|
-
.container /shadow/ .content {
|
|
13
|
-
|
|
14
|
-
}
|
|
11
|
+
// // /shadow/ combinator (deprecated)
|
|
12
|
+
// .container /shadow/ .content {
|
|
13
|
+
// background: blue;
|
|
14
|
+
// }
|
|
15
15
|
|
|
16
|
-
// Test with nested selectors
|
|
17
|
-
.wrapper /deep/ .inner /deep/ .deepest {
|
|
18
|
-
|
|
19
|
-
}
|
|
16
|
+
// // Test with nested selectors
|
|
17
|
+
// .wrapper /deep/ .inner /deep/ .deepest {
|
|
18
|
+
// padding: 10px;
|
|
19
|
+
// }
|
|
20
20
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@plugin` fixtures load their scripts through the compiler's plugin resolver.
|
|
3
|
+
* Do not `require()` them while loading test configuration: those scripts are
|
|
4
|
+
* intentionally evaluated with the plugin-scoped Less globals (`functions`,
|
|
5
|
+
* `tree`, and `registerPlugin`), not with Node globals.
|
|
6
|
+
*/
|
|
7
|
+
export default {
|
|
8
|
+
output: {
|
|
9
|
+
collapseNesting: true
|
|
10
|
+
}
|
|
11
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* Less 4.x output, recorded when this fixture graduated to v5.
|
|
2
|
+
Historical record only — no test reads this file. */
|
|
3
|
+
|
|
4
|
+
.block_1 {
|
|
5
|
+
color: red;
|
|
6
|
+
background-color: red;
|
|
7
|
+
width: 50px;
|
|
8
|
+
height: 25px;
|
|
9
|
+
border: 1px solid #ff3333;
|
|
10
|
+
}
|
|
11
|
+
.block_1:hover {
|
|
12
|
+
background-color: green;
|
|
13
|
+
color: green;
|
|
14
|
+
}
|
|
15
|
+
.block_1 .one {
|
|
16
|
+
background: red;
|
|
17
|
+
}
|
|
18
|
+
.block_1 {
|
|
19
|
+
content: "red";
|
|
20
|
+
prop: red;
|
|
21
|
+
}
|
|
22
|
+
.block_2 {
|
|
23
|
+
color: red;
|
|
24
|
+
}
|
|
25
|
+
.block_2 .two {
|
|
26
|
+
background-color: blue;
|
|
27
|
+
}
|
|
28
|
+
.block_2 {
|
|
29
|
+
color: blue;
|
|
30
|
+
}
|
|
31
|
+
.block_3 {
|
|
32
|
+
color: red;
|
|
33
|
+
color: yellow;
|
|
34
|
+
}
|
|
35
|
+
.block_3 .three {
|
|
36
|
+
background-color: blue;
|
|
37
|
+
}
|
|
38
|
+
.block_3 {
|
|
39
|
+
color: blue;
|
|
40
|
+
}
|
|
41
|
+
.block_4 {
|
|
42
|
+
color: red;
|
|
43
|
+
color: yellow;
|
|
44
|
+
}
|
|
45
|
+
.block_4 .four {
|
|
46
|
+
background-color: yellow;
|
|
47
|
+
}
|
|
48
|
+
.block_4 {
|
|
49
|
+
color: blue;
|
|
50
|
+
}
|
|
51
|
+
a {
|
|
52
|
+
background-color: red, foo;
|
|
53
|
+
}
|
|
54
|
+
ab {
|
|
55
|
+
background: red, foo;
|
|
56
|
+
}
|
|
57
|
+
.value_as_property {
|
|
58
|
+
prop1: color;
|
|
59
|
+
color: #FF0000;
|
|
60
|
+
}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
width: 50px;
|
|
5
5
|
height: 25px;
|
|
6
6
|
border: 1px solid #ff3333;
|
|
7
|
-
content: "red";
|
|
8
|
-
prop: red;
|
|
9
7
|
}
|
|
10
8
|
.block_1:hover {
|
|
11
9
|
background-color: green;
|
|
@@ -14,29 +12,39 @@
|
|
|
14
12
|
.block_1 .one {
|
|
15
13
|
background: red;
|
|
16
14
|
}
|
|
15
|
+
.block_1 {
|
|
16
|
+
content: "red";
|
|
17
|
+
prop: red;
|
|
18
|
+
}
|
|
17
19
|
.block_2 {
|
|
18
20
|
color: red;
|
|
19
|
-
color: blue;
|
|
20
21
|
}
|
|
21
22
|
.block_2 .two {
|
|
22
23
|
background-color: blue;
|
|
23
24
|
}
|
|
25
|
+
.block_2 {
|
|
26
|
+
color: blue;
|
|
27
|
+
}
|
|
24
28
|
.block_3 {
|
|
25
29
|
color: red;
|
|
26
|
-
color: yellow;
|
|
27
|
-
color: blue;
|
|
28
30
|
}
|
|
29
31
|
.block_3 .three {
|
|
30
32
|
background-color: blue;
|
|
31
33
|
}
|
|
34
|
+
.block_3 {
|
|
35
|
+
color: yellow;
|
|
36
|
+
color: blue;
|
|
37
|
+
}
|
|
32
38
|
.block_4 {
|
|
33
39
|
color: red;
|
|
34
|
-
color: blue;
|
|
35
|
-
color: yellow;
|
|
36
40
|
}
|
|
37
41
|
.block_4 .four {
|
|
38
42
|
background-color: yellow;
|
|
39
43
|
}
|
|
44
|
+
.block_4 {
|
|
45
|
+
color: blue;
|
|
46
|
+
color: yellow;
|
|
47
|
+
}
|
|
40
48
|
a {
|
|
41
49
|
background-color: red, foo;
|
|
42
50
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* Less 4.x output, recorded when this fixture graduated to v5.
|
|
2
|
+
Historical record only — no test reads this file. */
|
|
3
|
+
|
|
4
|
+
pi-test {
|
|
5
|
+
border: 0;
|
|
6
|
+
@not-variable: @not-variable;
|
|
7
|
+
ufo-width: 50%;
|
|
8
|
+
*-z-border: 1px dashed blue;
|
|
9
|
+
-www-border-top: 2px;
|
|
10
|
+
radius-is-not-a-border: true;
|
|
11
|
+
border-top-left-radius: 2em;
|
|
12
|
+
border-top-red-radius-: 3pt;
|
|
13
|
+
global-local-mixer-property: strong;
|
|
14
|
+
}
|
|
15
|
+
pi-test-merge {
|
|
16
|
+
pre-property-ish: high, middle, low, base;
|
|
17
|
+
pre-property-ish+: nice try dude;
|
|
18
|
+
}
|
|
19
|
+
pi-indirect-vars {
|
|
20
|
+
auto: auto;
|
|
21
|
+
}
|
|
22
|
+
pi-complex-values {
|
|
23
|
+
3px rgba(255, 255, 0, 0.5), 3.141592653589793 /* foo */3px rgba(255, 255, 0, 0.5), 3.141592653589793 /* foo */: none;
|
|
24
|
+
}
|
|
@@ -17,5 +17,5 @@ pi-indirect-vars {
|
|
|
17
17
|
auto: auto;
|
|
18
18
|
}
|
|
19
19
|
pi-complex-values {
|
|
20
|
-
3px rgba(255, 255, 0, 0.5), 3.
|
|
20
|
+
3px rgba(255, 255, 0, 0.5), 3.1415926536 /* foo */3px rgba(255, 255, 0, 0.5), 3.1415926536 /* foo */: none;
|
|
21
21
|
}
|
|
@@ -5,7 +5,9 @@ pi-test {
|
|
|
5
5
|
@bb: top;
|
|
6
6
|
@c_c: left;
|
|
7
7
|
@d-d4: radius;
|
|
8
|
-
|
|
8
|
+
// Dash-only variable names are removed in Less 5. Keep this fixture on
|
|
9
|
+
// the supported interpolation path with an ordinary variable instead.
|
|
10
|
+
@dash: -;
|
|
9
11
|
|
|
10
12
|
@var: ~'@not-variable';
|
|
11
13
|
|
|
@@ -16,7 +18,7 @@ pi-test {
|
|
|
16
18
|
-www-@{a}-@{bb}: 2px;
|
|
17
19
|
@{d-d4}-is-not-a-@{a}:true;
|
|
18
20
|
@{a}-@{bb}-@{c_c}-@{d-d4} : 2em;
|
|
19
|
-
@{a}@{
|
|
21
|
+
@{a}@{dash}@{bb}@{dash}red@{dash}@{d-d4}-: 3pt;
|
|
20
22
|
|
|
21
23
|
.mixin(mixer);
|
|
22
24
|
.merge(ish, base);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/* Less 4.x output, recorded when this fixture graduated to v5.
|
|
2
|
+
Historical record only — no test reads this file. */
|
|
3
|
+
|
|
4
|
+
#first > .one > #second .two > #deux {
|
|
5
|
+
width: 50%;
|
|
6
|
+
}
|
|
7
|
+
#first > .one > #second .two > #deux #third:focus {
|
|
8
|
+
color: black;
|
|
9
|
+
}
|
|
10
|
+
#first > .one > #second .two > #deux #third:focus #fifth > #sixth .seventh #eighth + #ninth {
|
|
11
|
+
color: purple;
|
|
12
|
+
}
|
|
13
|
+
#first > .one > #second .two > #deux #third {
|
|
14
|
+
height: 100%;
|
|
15
|
+
}
|
|
16
|
+
#first > .one > #second .two > #deux #fourth,
|
|
17
|
+
#first > .one > #second .two > #deux #five,
|
|
18
|
+
#first > .one > #second .two > #deux #six {
|
|
19
|
+
color: #110000;
|
|
20
|
+
}
|
|
21
|
+
:is(#first > .one > #second .two > #deux #fourth, #first > .one > #second .two > #deux #five, #first > .one > #second .two > #deux #six) .seven,
|
|
22
|
+
:is(#first > .one > #second .two > #deux #fourth, #first > .one > #second .two > #deux #five, #first > .one > #second .two > #deux #six) .eight > #nine {
|
|
23
|
+
border: 1px solid black;
|
|
24
|
+
}
|
|
25
|
+
:is(#first > .one > #second .two > #deux #fourth, #first > .one > #second .two > #deux #five, #first > .one > #second .two > #deux #six) #ten {
|
|
26
|
+
color: red;
|
|
27
|
+
}
|
|
28
|
+
#first > .one {
|
|
29
|
+
font-size: 2em;
|
|
30
|
+
hasOwnProperty: blue;
|
|
31
|
+
}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
#first > .one {
|
|
2
|
+
> #second .two > #deux {
|
|
3
|
+
width: 50%;
|
|
4
|
+
#third {
|
|
5
|
+
&:focus {
|
|
6
|
+
color: black;
|
|
7
|
+
#fifth {
|
|
8
|
+
> #sixth {
|
|
9
|
+
.seventh #eighth {
|
|
10
|
+
+ #ninth {
|
|
11
|
+
color: purple;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
height: 100%;
|
|
18
|
+
}
|
|
19
|
+
#fourth,
|
|
20
|
+
#five,
|
|
21
|
+
#six {
|
|
22
|
+
color: #110000;
|
|
23
|
+
.seven,
|
|
24
|
+
.eight > #nine {
|
|
25
|
+
border: 1px solid black;
|
|
26
|
+
}
|
|
27
|
+
#ten {
|
|
28
|
+
color: red;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
2
32
|
font-size: 2em;
|
|
3
33
|
hasOwnProperty: blue;
|
|
4
34
|
}
|
|
5
|
-
#first > .one > #second .two > #deux {
|
|
6
|
-
width: 50%;
|
|
7
|
-
}
|
|
8
|
-
#first > .one > #second .two > #deux #third {
|
|
9
|
-
height: 100%;
|
|
10
|
-
}
|
|
11
|
-
#first > .one > #second .two > #deux #third:focus {
|
|
12
|
-
color: black;
|
|
13
|
-
}
|
|
14
|
-
#first > .one > #second .two > #deux #third:focus #fifth > #sixth .seventh #eighth + #ninth {
|
|
15
|
-
color: purple;
|
|
16
|
-
}
|
|
17
|
-
#first > .one > #second .two > #deux #fourth,
|
|
18
|
-
#first > .one > #second .two > #deux #five,
|
|
19
|
-
#first > .one > #second .two > #deux #six {
|
|
20
|
-
color: #110000;
|
|
21
|
-
}
|
|
22
|
-
#first > .one > #second .two > #deux #fourth .seven,
|
|
23
|
-
#first > .one > #second .two > #deux #five .seven,
|
|
24
|
-
#first > .one > #second .two > #deux #six .seven,
|
|
25
|
-
#first > .one > #second .two > #deux #fourth .eight > #nine,
|
|
26
|
-
#first > .one > #second .two > #deux #five .eight > #nine,
|
|
27
|
-
#first > .one > #second .two > #deux #six .eight > #nine {
|
|
28
|
-
border: 1px solid black;
|
|
29
|
-
}
|
|
30
|
-
#first > .one > #second .two > #deux #fourth #ten,
|
|
31
|
-
#first > .one > #second .two > #deux #five #ten,
|
|
32
|
-
#first > .one > #second .two > #deux #six #ten {
|
|
33
|
-
color: red;
|
|
34
|
-
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/* Less 4.x output, recorded when this fixture graduated to v5.
|
|
2
|
+
Historical record only — no test reads this file. */
|
|
3
|
+
|
|
4
|
+
.tiny-scope {
|
|
5
|
+
color: #989;
|
|
6
|
+
}
|
|
7
|
+
.scope1 {
|
|
8
|
+
color: blue;
|
|
9
|
+
border-color: black;
|
|
10
|
+
}
|
|
11
|
+
.scope1 .scope2 {
|
|
12
|
+
color: blue;
|
|
13
|
+
}
|
|
14
|
+
.scope1 .scope2 .scope3 {
|
|
15
|
+
color: red;
|
|
16
|
+
border-color: black;
|
|
17
|
+
background-color: white;
|
|
18
|
+
}
|
|
19
|
+
.scope {
|
|
20
|
+
scoped-val: green;
|
|
21
|
+
}
|
|
22
|
+
.heightIsSet {
|
|
23
|
+
height: 1024px;
|
|
24
|
+
}
|
|
25
|
+
.useHeightInMixinCall {
|
|
26
|
+
mixin-height: 1024px;
|
|
27
|
+
}
|
|
28
|
+
.imported {
|
|
29
|
+
exists: true;
|
|
30
|
+
}
|
|
31
|
+
.testImported {
|
|
32
|
+
exists: true;
|
|
33
|
+
}
|
|
34
|
+
#allAreUsedHere {
|
|
35
|
+
default: 'top level';
|
|
36
|
+
scope: 'top level';
|
|
37
|
+
sub-scope-only: 'inside';
|
|
38
|
+
}
|
|
39
|
+
#parentSelectorScope {
|
|
40
|
+
prop: white;
|
|
41
|
+
}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
h1 a:hover
|
|
2
|
-
h2 a:hover,
|
|
3
|
-
h3 a:hover,
|
|
4
|
-
h1 p:hover,
|
|
5
|
-
h2 p:hover,
|
|
6
|
-
h3 p:hover {
|
|
1
|
+
:is(h1 a, h2 a, h3 a, h1 p, h2 p, h3 p):hover {
|
|
7
2
|
color: red;
|
|
8
3
|
}
|
|
9
4
|
#all {
|
|
@@ -43,20 +38,17 @@ div a {
|
|
|
43
38
|
p a span {
|
|
44
39
|
color: yellow;
|
|
45
40
|
}
|
|
46
|
-
.foo .bar .qux
|
|
47
|
-
.foo .baz .qux {
|
|
41
|
+
:is(.foo .bar, .foo .baz) .qux {
|
|
48
42
|
display: block;
|
|
49
43
|
}
|
|
50
|
-
.qux .foo .bar,
|
|
51
|
-
.qux .foo .baz {
|
|
44
|
+
.qux :is(.foo .bar, .foo .baz) {
|
|
52
45
|
display: inline;
|
|
53
46
|
}
|
|
54
47
|
.qux.foo .bar,
|
|
55
48
|
.qux.foo .baz {
|
|
56
49
|
display: inline-block;
|
|
57
50
|
}
|
|
58
|
-
.qux .foo .bar .biz
|
|
59
|
-
.qux .foo .baz .biz {
|
|
51
|
+
.qux :is(.foo .bar, .foo .baz) .biz {
|
|
60
52
|
display: none;
|
|
61
53
|
}
|
|
62
54
|
.a.b.c {
|
|
@@ -73,32 +65,12 @@ p a span {
|
|
|
73
65
|
}
|
|
74
66
|
.foo + .foo {
|
|
75
67
|
background: amber;
|
|
76
|
-
}
|
|
77
|
-
.foo + .foo {
|
|
78
68
|
background: amber;
|
|
79
69
|
}
|
|
80
|
-
.foo + .foo,
|
|
81
|
-
.foo + .bar,
|
|
82
|
-
.bar + .foo,
|
|
83
|
-
.bar + .bar {
|
|
70
|
+
:is(.foo, .bar) + :is(.foo, .bar) {
|
|
84
71
|
background: amber;
|
|
85
72
|
}
|
|
86
|
-
.foo a > .foo a,
|
|
87
|
-
.foo a > .bar a,
|
|
88
|
-
.foo a > .foo b,
|
|
89
|
-
.foo a > .bar b,
|
|
90
|
-
.bar a > .foo a,
|
|
91
|
-
.bar a > .bar a,
|
|
92
|
-
.bar a > .foo b,
|
|
93
|
-
.bar a > .bar b,
|
|
94
|
-
.foo b > .foo a,
|
|
95
|
-
.foo b > .bar a,
|
|
96
|
-
.foo b > .foo b,
|
|
97
|
-
.foo b > .bar b,
|
|
98
|
-
.bar b > .foo a,
|
|
99
|
-
.bar b > .bar a,
|
|
100
|
-
.bar b > .foo b,
|
|
101
|
-
.bar b > .bar b {
|
|
73
|
+
:is(.foo a, .bar a, .foo b, .bar b) > :is(.foo a, .bar a, .foo b, .bar b) {
|
|
102
74
|
background: amber;
|
|
103
75
|
}
|
|
104
76
|
.other ::fnord {
|
|
@@ -178,8 +150,8 @@ blank blank blank blank blank blank blank blank blank blank blank blank blank bl
|
|
|
178
150
|
test: global scope;
|
|
179
151
|
}
|
|
180
152
|
.extend-this,
|
|
181
|
-
.active.first-level .second-level,
|
|
182
|
-
.first-level .second-level.active2 {
|
|
153
|
+
.active:is(.first-level .second-level),
|
|
154
|
+
:is(.first-level .second-level).active2 {
|
|
183
155
|
content: '\2661';
|
|
184
156
|
}
|
|
185
157
|
.x:is(.x.a) {
|
|
@@ -197,16 +169,16 @@ a:is(.b, :is(.c)) {
|
|
|
197
169
|
a:is(.b, :is(.c), :has(div)) {
|
|
198
170
|
color: red;
|
|
199
171
|
}
|
|
200
|
-
:is(:not(:has(
|
|
172
|
+
:is(:not(:has(> .foo)), :has(> .foo.bar)) {
|
|
201
173
|
overflow: clip;
|
|
202
174
|
}
|
|
203
|
-
:matches(:not(:has(
|
|
175
|
+
:matches(:not(:has(> .foo)), :has(> .foo.bar)) {
|
|
204
176
|
overflow: clip;
|
|
205
177
|
}
|
|
206
|
-
:where(:not(:has(
|
|
178
|
+
:where(:not(:has(> .foo)), :has(> .foo.bar)) {
|
|
207
179
|
overflow: clip;
|
|
208
180
|
}
|
|
209
|
-
:is(:has(
|
|
181
|
+
:is(:has(> .foo + .bar), :has(> .baz ~ .qux), :not(:has(.quux))) {
|
|
210
182
|
color: blue;
|
|
211
183
|
}
|
|
212
184
|
:where(.a, .b, .c) {
|
|
@@ -215,7 +187,7 @@ a:is(.b, :is(.c), :has(div)) {
|
|
|
215
187
|
:not(.a, .b, .c) {
|
|
216
188
|
color: green;
|
|
217
189
|
}
|
|
218
|
-
:where(:is(.a, .b), :has(
|
|
190
|
+
:where(:is(.a, .b), :has(> .c)) {
|
|
219
191
|
color: blue;
|
|
220
192
|
}
|
|
221
193
|
:is(:where(:has(.foo)), :not(:has(.bar))) {
|