@less/test-data 4.9.0 → 5.0.0-alpha.2

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.
Files changed (211) hide show
  1. package/UPSTREAM-FIXTURE-SYNC.md +54 -0
  2. package/package.json +4 -1
  3. package/styles.config.ts +15 -0
  4. package/tests-config/3rd-party/styles.config.cjs +1 -1
  5. package/tests-config/compression/styles.config.cjs +1 -1
  6. package/tests-config/debug/all/styles.config.cjs +1 -1
  7. package/tests-config/debug/comments/styles.config.cjs +1 -1
  8. package/tests-config/debug/mediaquery/styles.config.cjs +1 -1
  9. package/tests-config/filemanagerPlugin/styles.config.cjs +1 -1
  10. package/tests-config/functions-harness/functions-harness.css +8 -0
  11. package/tests-config/functions-harness/functions-harness.less +10 -0
  12. package/tests-config/js-type-errors/js-type-error-2.txt +4 -0
  13. package/tests-config/js-type-errors/js-type-error.txt +1 -1
  14. package/tests-config/namespacing/legacy/namespacing-7.css +15 -0
  15. package/tests-config/namespacing/namespacing-5.less +3 -3
  16. package/tests-config/namespacing/namespacing-7.css +16 -8
  17. package/tests-config/namespacing/styles.config.cjs +4 -1
  18. package/tests-config/sourcemaps/styles.config.cjs +1 -1
  19. package/tests-config/sourcemaps-variable-selector/styles.config.cjs +1 -1
  20. package/tests-config/strict-imports/legacy/strict-imports.css +14 -0
  21. package/tests-config/strict-imports/strict-imports.css +4 -2
  22. package/tests-config/strict-imports/styles.config.cjs +6 -5
  23. package/tests-config/units/no-strict/legacy/no-strict.css +24 -0
  24. package/tests-config/units/no-strict/no-strict.css +3 -3
  25. package/tests-config/url-args/legacy/urls.css +58 -0
  26. package/tests-config/url-args/urls.css +2 -1
  27. package/tests-error/eval/ampersand-merge-template-invalid.less +7 -0
  28. package/tests-error/eval/ampersand-merge-template-invalid.txt +1 -0
  29. package/tests-error/eval/at-rules-undefined-var.less +1 -1
  30. package/tests-error/eval/property-undefined.txt +1 -0
  31. package/tests-error/eval/recursive-property.txt +1 -0
  32. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.css +0 -38
  33. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.less +0 -70
  34. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.css +45 -0
  35. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.less +72 -0
  36. package/tests-unit/at-rules/at-rules.css +8 -6
  37. package/tests-unit/at-rules/legacy/at-rules.css +110 -0
  38. package/tests-unit/at-rules/styles.config.ts +5 -0
  39. package/tests-unit/at-rules-bubbling/at-rules-bubbling.css +121 -0
  40. package/tests-unit/at-rules-bubbling/legacy/at-rules-bubbling.css +122 -0
  41. package/tests-unit/at-rules-keyword-comments/at-rules-keyword-comments.css +2 -5
  42. package/tests-unit/at-rules-keyword-comments/legacy/at-rules-keyword-comments.css +12 -0
  43. package/tests-unit/at-rules-targeted/at-rules-targeted.css +5 -3
  44. package/tests-unit/at-rules-targeted/legacy/at-rules-targeted.css +55 -0
  45. package/tests-unit/calc/calc.css +8 -8
  46. package/tests-unit/calc/calc.less +1 -0
  47. package/tests-unit/calc/legacy/calc.css +32 -0
  48. package/tests-unit/color-functions/basic.css +1 -1
  49. package/tests-unit/color-functions/comprehensive.css +5 -5
  50. package/tests-unit/color-functions/comprehensive.less +1 -0
  51. package/tests-unit/color-functions/formats.css +0 -12
  52. package/tests-unit/color-functions/formats.less +0 -15
  53. package/tests-unit/color-functions/legacy/basic.css +21 -0
  54. package/tests-unit/color-functions/legacy/comprehensive.css +48 -0
  55. package/tests-unit/color-functions/legacy/modern-syntax.css +9 -0
  56. package/tests-unit/color-functions/legacy/operations.css +18 -0
  57. package/tests-unit/color-functions/legacy/rgba.css +20 -0
  58. package/tests-unit/color-functions/modern-syntax.css +4 -4
  59. package/tests-unit/color-functions/modern-syntax.less +1 -0
  60. package/tests-unit/color-functions/operations.less +1 -0
  61. package/tests-unit/color-functions/rgba.css +3 -3
  62. package/tests-unit/color-functions/rgba.less +3 -1
  63. package/tests-unit/comments/comments.css +5 -6
  64. package/tests-unit/comments/comments.less +2 -1
  65. package/tests-unit/comments/comments2.css +4 -6
  66. package/tests-unit/comments/comments2.less +3 -0
  67. package/tests-unit/comments/legacy/comments.css +86 -0
  68. package/tests-unit/comments/legacy/comments2.css +21 -0
  69. package/tests-unit/container/container.css +40 -83
  70. package/tests-unit/container/container.less +28 -82
  71. package/tests-unit/container/legacy/container.css +273 -0
  72. package/tests-unit/container/styles.config.ts +8 -0
  73. package/tests-unit/css-3/css-3.css +4 -4
  74. package/tests-unit/css-3/legacy/css-3.css +147 -0
  75. package/tests-unit/css-escapes/css-escapes.css +4 -4
  76. package/tests-unit/css-escapes/legacy/css-escapes.css +34 -0
  77. package/tests-unit/css-escapes/styles.config.ts +5 -0
  78. package/tests-unit/css-grid/css-grid.css +4 -1
  79. package/tests-unit/css-grid/legacy/css-grid.css +27 -0
  80. package/tests-unit/css-guards/css-guards.less +2 -1
  81. package/tests-unit/detached-rulesets/detached-rulesets.css +26 -18
  82. package/tests-unit/detached-rulesets/legacy/detached-rulesets.css +79 -0
  83. package/tests-unit/directives-bubbling/directives-bubbling.css +16 -14
  84. package/tests-unit/extend/extend.css +22 -28
  85. package/tests-unit/extend/legacy/extend.css +79 -0
  86. package/tests-unit/extend/styles.config.ts +5 -0
  87. package/tests-unit/extend-chaining/extend-chaining.css +7 -10
  88. package/tests-unit/extend-chaining/legacy/extend-chaining.css +84 -0
  89. package/tests-unit/extend-clearfix/extend-clearfix.css +1 -3
  90. package/tests-unit/extend-clearfix/extend-clearfix.less +0 -1
  91. package/tests-unit/{extend → extend-clearfix/legacy}/extend-clearfix.css +3 -0
  92. package/tests-unit/extend-exact/extend-exact.css +25 -24
  93. package/tests-unit/extend-exact/legacy/extend-exact.css +40 -0
  94. package/tests-unit/extend-exact/styles.config.ts +5 -0
  95. package/tests-unit/extend-media/extend-media.css +9 -14
  96. package/tests-unit/extend-media/legacy/extend-media.css +27 -0
  97. package/tests-unit/extend-media/styles.config.ts +5 -0
  98. package/tests-unit/extend-nest/extend-nest.css +3 -22
  99. package/tests-unit/extend-nest/legacy/extend-nest.css +60 -0
  100. package/tests-unit/extend-selector/extend-selector.css +42 -67
  101. package/tests-unit/extend-selector/extend-selector.less +0 -15
  102. package/tests-unit/extend-selector/legacy/extend-selector.css +73 -0
  103. package/tests-unit/extend-selector/styles.config.ts +5 -0
  104. package/tests-unit/extract-and-length/extract-and-length.css +6 -5
  105. package/tests-unit/extract-and-length/extract-and-length.less +7 -2
  106. package/tests-unit/extract-and-length/legacy/extract-and-length.css +137 -0
  107. package/tests-unit/functions/functions.css +5 -16
  108. package/tests-unit/functions/functions.less +8 -21
  109. package/tests-unit/functions/legacy/functions.css +244 -0
  110. package/tests-unit/functions/legacy/functions.less +296 -0
  111. package/tests-unit/functions-each/functions-each.css +4 -2
  112. package/tests-unit/import/import-reference-issues.css +6 -6
  113. package/tests-unit/import/import-reference.css +4 -2
  114. package/tests-unit/import/legacy/import-reference-issues.css +27 -0
  115. package/tests-unit/import/legacy/import-reference.css +101 -0
  116. package/tests-unit/import/styles.config.cjs +5 -4
  117. package/tests-unit/layer/layer.css +30 -28
  118. package/tests-unit/layer/legacy/layer.css +136 -0
  119. package/tests-unit/layer/styles.config.ts +5 -0
  120. package/tests-unit/math-css-vars/math-css-vars.css +1 -0
  121. package/tests-unit/math-css-vars/math-css-vars.less +1 -0
  122. package/tests-unit/media/legacy/media.css +274 -0
  123. package/tests-unit/media/media.css +49 -43
  124. package/tests-unit/media/media.less +0 -2
  125. package/tests-unit/media/styles.config.cjs +5 -0
  126. package/tests-unit/merge/merge.css +2 -2
  127. package/tests-unit/mixin-noparens/legacy/mixin-noparens.css +10 -0
  128. package/tests-unit/mixin-noparens/mixin-noparens.css +4 -2
  129. package/tests-unit/mixin-noparens/styles.config.ts +5 -0
  130. package/tests-unit/mixins/legacy/maps.css +9 -0
  131. package/tests-unit/mixins/legacy/mixins.css +147 -0
  132. package/tests-unit/mixins/maps.css +7 -5
  133. package/tests-unit/mixins/mixins.css +7 -5
  134. package/tests-unit/mixins/styles.config.ts +5 -0
  135. package/tests-unit/mixins-closure/legacy/mixins-closure.css +12 -0
  136. package/tests-unit/mixins-closure/mixins-closure.css +4 -2
  137. package/tests-unit/mixins-closure/styles.config.ts +5 -0
  138. package/tests-unit/mixins-guards/legacy/mixins-guards.css +214 -0
  139. package/tests-unit/mixins-guards/mixins-guards.css +21 -5
  140. package/tests-unit/mixins-guards/mixins-guards.less +0 -1
  141. package/tests-unit/mixins-guards/styles.config.ts +5 -0
  142. package/tests-unit/mixins-guards-default-func/legacy/mixins-guards-default-func.css +132 -0
  143. package/tests-unit/mixins-guards-default-func/mixins-guards-default-func.css +0 -2
  144. package/tests-unit/mixins-important/mixins-important.css +33 -19
  145. package/tests-unit/mixins-interpolated/legacy/mixins-interpolated.css +42 -0
  146. package/tests-unit/mixins-interpolated/mixins-interpolated.css +24 -14
  147. package/tests-unit/mixins-interpolated/styles.config.ts +5 -0
  148. package/tests-unit/mixins-nested/legacy/mixins-nested.css +17 -0
  149. package/tests-unit/mixins-nested/mixins-nested.css +16 -12
  150. package/tests-unit/mixins-nested/styles.config.ts +5 -0
  151. package/tests-unit/nesting/legacy/nesting.css +27 -0
  152. package/tests-unit/nesting/nesting-uncollapsed.css +26 -0
  153. package/tests-unit/nesting/nesting.css +1 -1
  154. package/tests-unit/nesting/styles.config.ts +6 -0
  155. package/tests-unit/operations/legacy/operations-advanced.css +36 -0
  156. package/tests-unit/operations/operations-advanced.css +1 -1
  157. package/tests-unit/operations/operations.css +4 -2
  158. package/tests-unit/parse-interpolation/legacy/parse-interpolation.css +39 -0
  159. package/tests-unit/parse-interpolation/parse-interpolation.css +72 -35
  160. package/tests-unit/parse-interpolation/parse-interpolation.less +73 -25
  161. package/tests-unit/parse-interpolation/styles.config.ts +5 -0
  162. package/tests-unit/parser-property-interp/parser-property-interp.css +1 -1
  163. package/tests-unit/parser-property-interp/parser-property-interp.less +2 -2
  164. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.css +1 -9
  165. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.less +11 -11
  166. package/tests-unit/plugin/styles.config.ts +11 -0
  167. package/tests-unit/property-accessors/legacy/property-accessors.css +60 -0
  168. package/tests-unit/property-accessors/property-accessors.css +15 -7
  169. package/tests-unit/property-name-interp/legacy/property-name-interp.css +24 -0
  170. package/tests-unit/property-name-interp/property-name-interp.css +1 -1
  171. package/tests-unit/property-name-interp/property-name-interp.less +4 -2
  172. package/tests-unit/property-targeted/legacy/property-targeted.css +7 -0
  173. package/tests-unit/property-targeted/property-targeted.css +1 -1
  174. package/tests-unit/rulesets/legacy/rulesets.css +31 -0
  175. package/tests-unit/rulesets/rulesets.css +30 -30
  176. package/tests-unit/rulesets/styles.config.ts +5 -0
  177. package/tests-unit/scope/legacy/scope.css +41 -0
  178. package/tests-unit/scope/scope.css +1 -1
  179. package/tests-unit/selectors/selectors.css +13 -41
  180. package/tests-unit/styles.config.cjs +1 -1
  181. package/tests-unit/styles.config.ts +8 -0
  182. package/tests-unit/variables/legacy/variable-advanced.css +58 -0
  183. package/tests-unit/variables/variable-advanced.css +9 -12
  184. package/tests-unit/variables/variable-advanced.less +5 -4
  185. package/tests-unit/variables/variables.css +1 -1
  186. package/tests-unit/variables-in-at-rules/variables-in-at-rules.less +3 -2
  187. package/tests-unit/whitespace/legacy/whitespace.css +45 -0
  188. package/tests-unit/whitespace/whitespace.css +3 -2
  189. package/tests-warnings/parentless-ampersand-nested.less +6 -0
  190. package/tests-warnings/parentless-ampersand-nested.txt +42 -0
  191. package/tests-warnings/parentless-ampersand.less +3 -0
  192. package/tests-warnings/parentless-ampersand.txt +21 -0
  193. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.css +0 -8
  194. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.less +0 -24
  195. package/tests-config/rootpath-escape-interpolation/styles.config.cjs +0 -8
  196. package/tests-config/sourcemaps/url-interpolation/styles.config.cjs +0 -9
  197. package/tests-config/sourcemaps/url-interpolation/url-interpolation.css +0 -13
  198. package/tests-config/sourcemaps/url-interpolation/url-interpolation.less +0 -24
  199. package/tests-error/parse/property-interpolation-lookup.less +0 -8
  200. package/tests-error/parse/property-interpolation-lookup.txt +0 -4
  201. package/tests-unit/extend/extend-clearfix.less +0 -19
  202. package/tests-unit/lookup-interpolation/lookup-interpolation.css +0 -60
  203. package/tests-unit/lookup-interpolation/lookup-interpolation.less +0 -127
  204. package/tests-unit/media-nested-type/media-nested-type.css +0 -40
  205. package/tests-unit/media-nested-type/media-nested-type.less +0 -51
  206. /package/tests-unit/{directives-bubbling/directives-bubbling.less → at-rules-bubbling/at-rules-bubbling.less} +0 -0
  207. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.css +0 -0
  208. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.less +0 -0
  209. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.css +0 -0
  210. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.less +0 -0
  211. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/styles.config.cjs +0 -0
@@ -1,36 +1,73 @@
1
- input[type=text]:focus,
2
- input[type=email]:focus,
3
- input[type=password]:focus,
4
- textarea:focus {
5
- foo: bar;
6
- }
7
- .a + .z,
8
- .b + .z,
9
- .c + .z {
10
- color: blue;
11
- }
12
- .bar .d.a,
13
- .bar .b,
14
- .c.bar:hover,
15
- .bar baz {
16
- color: blue;
17
- }
18
- .a + .e,
19
- .b.c + .e,
20
- .d + .e {
21
- foo: bar;
22
- }
23
- input[class="text"],
24
- input.text {
25
- background: red;
26
- }
27
- .master-page-1 .selector-1,
28
- .master-page-1 .selector-2 {
29
- background-color: red;
30
- }
31
- .fruit-apple,
32
- .fruit-satsuma,
33
- .fruit-banana,
34
- .fruit-pear {
35
- content: "Just a test.";
1
+ input[type=text],
2
+ input[type=email],
3
+ input[type=password],
4
+ textarea {
5
+ &:focus {
6
+ foo: bar;
7
+ }
8
+ }
9
+ input[type=text], input[type=email], input[type=password], textarea {
10
+ &:focus {
11
+ foo: baz;
12
+ }
13
+ }
14
+ .a,
15
+ .b,
16
+ .c {
17
+ + .z-cap {
18
+ color: blue;
19
+ }
20
+ }
21
+ .a, .b, .c {
22
+ + .z-quoted {
23
+ color: green;
24
+ }
25
+ }
26
+ .bar {
27
+ .d:is(.a, .b, .c)&:hover, baz-cap {
28
+ color: blue;
29
+ }
30
+ }
31
+ .bar2 {
32
+ .q:is(.a, .b, .c)&:hover, baz-quoted {
33
+ color: green;
34
+ }
35
+ }
36
+ :is(.a, .b):is(.c, .d) {
37
+ + .e-cap {
38
+ foo: bar;
39
+ }
40
+ }
41
+ :is(.a, .b):is(.c, .d) {
42
+ + .e-quoted {
43
+ foo: bar;
44
+ }
45
+ }
46
+ input.cap {
47
+ &[class="text"],
48
+ &.text {
49
+ background: red;
50
+ }
51
+ }
52
+ input.quoted {
53
+ &[class="text"], &.text {
54
+ background: blue;
55
+ }
56
+ }
57
+ .master-page-cap {
58
+ .selector-1,
59
+ .selector-2 {
60
+ background-color: red;
61
+ }
62
+ }
63
+ .master-page-quoted {
64
+ .selector-1, .selector-2 {
65
+ background-color: blue;
66
+ }
67
+ }
68
+ .fruit-cap-apple,
69
+ .fruit-cap-satsuma,
70
+ .fruit-cap-banana,
71
+ .fruit-cap-pear {
72
+ content: "Capture";
36
73
  }
@@ -1,54 +1,102 @@
1
1
  // Parse interpolation tests
2
- @inputs: input[type=text], input[type=email], input[type=password], textarea;
2
+ // Paired variants: selector-capture (`*[]`) and quoted selectors (`~'...'`).
3
3
 
4
- @{inputs} {
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
- @classes: .a, .b, .c;
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
- @c: ~'.a, .b';
25
- @d: ~'.c, .d';
26
- @e: ~' + .e';
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
- @textClasses: ~'&[class="text"], &.text';
56
+ @c-quoted: ~'.a, .b';
57
+ @d-quoted: ~'.c, .d';
58
+ @e-quoted: ~' + .e-quoted';
35
59
 
36
- input {
37
- @{textClasses} {
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
- @my-selector: ~'.selector-1, .selector-2';
43
- .master-page-1 {
44
- @{my-selector} {
45
- background-color: red;
46
- }
75
+ input.quoted {
76
+ @{textClasses-quoted} {
77
+ background: blue;
78
+ }
47
79
  }
48
80
 
49
- @list: apple, satsuma, banana, pear;
50
- @{list} {
51
- .fruit-& {
52
- content: "Just a test.";
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
  }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ output: {
3
+ collapseNesting: false
4
+ }
5
+ };
@@ -4,6 +4,6 @@
4
4
  value: width;
5
5
  color: red;
6
6
  border-color-width: 2px;
7
- *-z-color: 1px dashed blue;
7
+ --z-color: 1px dashed blue;
8
8
  background-color-width: green;
9
9
  }
@@ -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
- // Complex property name with ${prop}
22
- *-z-${prop-name}: 1px dashed blue;
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"
@@ -1,9 +1 @@
1
- .parent /deep/ .child {
2
- color: red;
3
- }
4
- .container /shadow/ .content {
5
- background: blue;
6
- }
7
- .wrapper /deep/ .inner /deep/ .deepest {
8
- padding: 10px;
9
- }
1
+
@@ -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
- color: red;
9
- }
7
+ // .parent /deep/ .child {
8
+ // color: red;
9
+ // }
10
10
 
11
- // /shadow/ combinator (deprecated)
12
- .container /shadow/ .content {
13
- background: blue;
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
- padding: 10px;
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.141592653589793 /* foo */3px rgba(255, 255, 0, 0.5), 3.141592653589793 /* foo */: none;
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}@{-}@{bb}@{-}red@{-}@{d-d4}-: 3pt;
21
+ @{a}@{dash}@{bb}@{dash}red@{dash}@{d-d4}-: 3pt;
20
22
 
21
23
  .mixin(mixer);
22
24
  .merge(ish, base);
@@ -0,0 +1,7 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .test-important {
5
+ color: red!important;
6
+ background: red !important;
7
+ }
@@ -1,4 +1,4 @@
1
1
  .test-important {
2
- color: red!important;
2
+ color: red !important;
3
3
  background: red !important;
4
4
  }
@@ -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,5 @@
1
+ export default {
2
+ output: [
3
+ { file: '{name}.css', collapseNesting: false }
4
+ ]
5
+ }
@@ -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,5 +1,5 @@
1
1
  .tiny-scope {
2
- color: #989;
2
+ color: blue;
3
3
  }
4
4
  .scope1 {
5
5
  color: blue;