@less/test-data 4.9.0 → 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.
Files changed (204) 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-error/eval/ampersand-merge-template-invalid.less +7 -0
  24. package/tests-error/eval/ampersand-merge-template-invalid.txt +1 -0
  25. package/tests-error/eval/at-rules-undefined-var.less +1 -1
  26. package/tests-error/eval/property-undefined.txt +1 -0
  27. package/tests-error/eval/recursive-property.txt +1 -0
  28. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.css +0 -38
  29. package/tests-unit/at-rule-variable-deprecated/at-rule-variable-deprecated.less +0 -70
  30. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.css +45 -0
  31. package/tests-unit/at-rule-variable-interpolation/at-rule-variable-interpolation.less +72 -0
  32. package/tests-unit/at-rules/at-rules.css +8 -6
  33. package/tests-unit/at-rules/legacy/at-rules.css +110 -0
  34. package/tests-unit/at-rules/styles.config.ts +5 -0
  35. package/tests-unit/at-rules-bubbling/at-rules-bubbling.css +121 -0
  36. package/tests-unit/at-rules-bubbling/legacy/at-rules-bubbling.css +122 -0
  37. package/tests-unit/at-rules-keyword-comments/at-rules-keyword-comments.css +2 -5
  38. package/tests-unit/at-rules-keyword-comments/legacy/at-rules-keyword-comments.css +12 -0
  39. package/tests-unit/at-rules-targeted/at-rules-targeted.css +5 -3
  40. package/tests-unit/at-rules-targeted/legacy/at-rules-targeted.css +55 -0
  41. package/tests-unit/calc/calc.css +8 -8
  42. package/tests-unit/calc/calc.less +1 -0
  43. package/tests-unit/calc/legacy/calc.css +32 -0
  44. package/tests-unit/color-functions/basic.css +1 -1
  45. package/tests-unit/color-functions/comprehensive.css +5 -5
  46. package/tests-unit/color-functions/comprehensive.less +1 -0
  47. package/tests-unit/color-functions/formats.css +0 -12
  48. package/tests-unit/color-functions/formats.less +0 -15
  49. package/tests-unit/color-functions/legacy/basic.css +21 -0
  50. package/tests-unit/color-functions/legacy/comprehensive.css +48 -0
  51. package/tests-unit/color-functions/legacy/modern-syntax.css +9 -0
  52. package/tests-unit/color-functions/legacy/operations.css +18 -0
  53. package/tests-unit/color-functions/legacy/rgba.css +20 -0
  54. package/tests-unit/color-functions/modern-syntax.css +4 -4
  55. package/tests-unit/color-functions/modern-syntax.less +1 -0
  56. package/tests-unit/color-functions/operations.less +1 -0
  57. package/tests-unit/color-functions/rgba.css +3 -3
  58. package/tests-unit/color-functions/rgba.less +3 -1
  59. package/tests-unit/comments/comments.css +5 -6
  60. package/tests-unit/comments/comments.less +2 -1
  61. package/tests-unit/comments/comments2.css +4 -6
  62. package/tests-unit/comments/comments2.less +3 -0
  63. package/tests-unit/comments/legacy/comments.css +86 -0
  64. package/tests-unit/comments/legacy/comments2.css +21 -0
  65. package/tests-unit/container/container.css +40 -83
  66. package/tests-unit/container/container.less +28 -82
  67. package/tests-unit/container/legacy/container.css +273 -0
  68. package/tests-unit/container/styles.config.ts +8 -0
  69. package/tests-unit/css-3/css-3.css +4 -4
  70. package/tests-unit/css-3/legacy/css-3.css +147 -0
  71. package/tests-unit/css-escapes/css-escapes.css +4 -4
  72. package/tests-unit/css-escapes/legacy/css-escapes.css +34 -0
  73. package/tests-unit/css-escapes/styles.config.ts +5 -0
  74. package/tests-unit/css-grid/css-grid.css +4 -1
  75. package/tests-unit/css-grid/legacy/css-grid.css +27 -0
  76. package/tests-unit/css-guards/css-guards.less +2 -1
  77. package/tests-unit/detached-rulesets/detached-rulesets.css +26 -18
  78. package/tests-unit/detached-rulesets/legacy/detached-rulesets.css +79 -0
  79. package/tests-unit/directives-bubbling/directives-bubbling.css +16 -14
  80. package/tests-unit/extend/extend.css +22 -28
  81. package/tests-unit/extend/legacy/extend.css +79 -0
  82. package/tests-unit/extend/styles.config.ts +5 -0
  83. package/tests-unit/extend-chaining/extend-chaining.css +7 -10
  84. package/tests-unit/extend-chaining/legacy/extend-chaining.css +84 -0
  85. package/tests-unit/extend-clearfix/extend-clearfix.css +1 -3
  86. package/tests-unit/extend-clearfix/extend-clearfix.less +0 -1
  87. package/tests-unit/{extend → extend-clearfix/legacy}/extend-clearfix.css +3 -0
  88. package/tests-unit/extend-exact/extend-exact.css +25 -24
  89. package/tests-unit/extend-exact/legacy/extend-exact.css +40 -0
  90. package/tests-unit/extend-exact/styles.config.ts +5 -0
  91. package/tests-unit/extend-media/extend-media.css +9 -14
  92. package/tests-unit/extend-media/legacy/extend-media.css +27 -0
  93. package/tests-unit/extend-media/styles.config.ts +5 -0
  94. package/tests-unit/extend-nest/extend-nest.css +3 -22
  95. package/tests-unit/extend-nest/legacy/extend-nest.css +60 -0
  96. package/tests-unit/extend-selector/extend-selector.css +42 -67
  97. package/tests-unit/extend-selector/extend-selector.less +0 -15
  98. package/tests-unit/extend-selector/legacy/extend-selector.css +73 -0
  99. package/tests-unit/extend-selector/styles.config.ts +5 -0
  100. package/tests-unit/extract-and-length/extract-and-length.css +6 -5
  101. package/tests-unit/extract-and-length/extract-and-length.less +7 -2
  102. package/tests-unit/extract-and-length/legacy/extract-and-length.css +137 -0
  103. package/tests-unit/functions/functions.css +5 -16
  104. package/tests-unit/functions/functions.less +7 -20
  105. package/tests-unit/functions/legacy/functions.css +244 -0
  106. package/tests-unit/functions/legacy/functions.less +296 -0
  107. package/tests-unit/functions-each/functions-each.css +4 -2
  108. package/tests-unit/import/import-reference-issues.css +6 -6
  109. package/tests-unit/import/import-reference.css +4 -2
  110. package/tests-unit/import/legacy/import-reference-issues.css +27 -0
  111. package/tests-unit/import/legacy/import-reference.css +101 -0
  112. package/tests-unit/import/styles.config.cjs +5 -4
  113. package/tests-unit/layer/layer.css +30 -28
  114. package/tests-unit/layer/legacy/layer.css +136 -0
  115. package/tests-unit/layer/styles.config.ts +5 -0
  116. package/tests-unit/math-css-vars/math-css-vars.css +1 -0
  117. package/tests-unit/math-css-vars/math-css-vars.less +1 -0
  118. package/tests-unit/media/legacy/media.css +274 -0
  119. package/tests-unit/media/media.css +49 -43
  120. package/tests-unit/media/media.less +0 -2
  121. package/tests-unit/media/styles.config.cjs +5 -0
  122. package/tests-unit/merge/merge.css +2 -2
  123. package/tests-unit/mixin-noparens/legacy/mixin-noparens.css +10 -0
  124. package/tests-unit/mixin-noparens/mixin-noparens.css +4 -2
  125. package/tests-unit/mixin-noparens/styles.config.ts +5 -0
  126. package/tests-unit/mixins/legacy/maps.css +9 -0
  127. package/tests-unit/mixins/legacy/mixins.css +147 -0
  128. package/tests-unit/mixins/maps.css +7 -5
  129. package/tests-unit/mixins/mixins.css +7 -5
  130. package/tests-unit/mixins/styles.config.ts +5 -0
  131. package/tests-unit/mixins-closure/legacy/mixins-closure.css +12 -0
  132. package/tests-unit/mixins-closure/mixins-closure.css +4 -2
  133. package/tests-unit/mixins-closure/styles.config.ts +5 -0
  134. package/tests-unit/mixins-guards/legacy/mixins-guards.css +214 -0
  135. package/tests-unit/mixins-guards/mixins-guards.css +5 -3
  136. package/tests-unit/mixins-guards/mixins-guards.less +0 -1
  137. package/tests-unit/mixins-guards/styles.config.ts +5 -0
  138. package/tests-unit/mixins-guards-default-func/legacy/mixins-guards-default-func.css +132 -0
  139. package/tests-unit/mixins-guards-default-func/mixins-guards-default-func.css +0 -2
  140. package/tests-unit/mixins-important/mixins-important.css +33 -19
  141. package/tests-unit/mixins-interpolated/legacy/mixins-interpolated.css +42 -0
  142. package/tests-unit/mixins-interpolated/mixins-interpolated.css +24 -14
  143. package/tests-unit/mixins-interpolated/styles.config.ts +5 -0
  144. package/tests-unit/mixins-nested/legacy/mixins-nested.css +17 -0
  145. package/tests-unit/mixins-nested/mixins-nested.css +16 -12
  146. package/tests-unit/mixins-nested/styles.config.ts +5 -0
  147. package/tests-unit/nesting/legacy/nesting.css +27 -0
  148. package/tests-unit/nesting/nesting-uncollapsed.css +26 -0
  149. package/tests-unit/nesting/nesting.css +1 -1
  150. package/tests-unit/nesting/styles.config.ts +6 -0
  151. package/tests-unit/operations/operations.css +4 -2
  152. package/tests-unit/parse-interpolation/legacy/parse-interpolation.css +39 -0
  153. package/tests-unit/parse-interpolation/parse-interpolation.css +72 -35
  154. package/tests-unit/parse-interpolation/parse-interpolation.less +73 -25
  155. package/tests-unit/parse-interpolation/styles.config.ts +5 -0
  156. package/tests-unit/parser-property-interp/parser-property-interp.css +1 -1
  157. package/tests-unit/parser-property-interp/parser-property-interp.less +2 -2
  158. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.css +1 -9
  159. package/tests-unit/parser-slashed-combinator/parser-slashed-combinator.less +11 -11
  160. package/tests-unit/plugin/styles.config.ts +11 -0
  161. package/tests-unit/property-accessors/legacy/property-accessors.css +60 -0
  162. package/tests-unit/property-accessors/property-accessors.css +15 -7
  163. package/tests-unit/property-name-interp/legacy/property-name-interp.css +24 -0
  164. package/tests-unit/property-name-interp/property-name-interp.css +1 -1
  165. package/tests-unit/property-name-interp/property-name-interp.less +4 -2
  166. package/tests-unit/property-targeted/legacy/property-targeted.css +7 -0
  167. package/tests-unit/property-targeted/property-targeted.css +1 -1
  168. package/tests-unit/rulesets/legacy/rulesets.css +31 -0
  169. package/tests-unit/rulesets/rulesets.css +30 -30
  170. package/tests-unit/rulesets/styles.config.ts +5 -0
  171. package/tests-unit/scope/legacy/scope.css +41 -0
  172. package/tests-unit/scope/scope.css +1 -1
  173. package/tests-unit/selectors/selectors.css +13 -41
  174. package/tests-unit/styles.config.cjs +1 -1
  175. package/tests-unit/styles.config.ts +8 -0
  176. package/tests-unit/variables/legacy/variable-advanced.css +58 -0
  177. package/tests-unit/variables/variable-advanced.css +1 -4
  178. package/tests-unit/variables/variable-advanced.less +5 -4
  179. package/tests-unit/variables-in-at-rules/variables-in-at-rules.less +3 -2
  180. package/tests-unit/whitespace/legacy/whitespace.css +45 -0
  181. package/tests-unit/whitespace/whitespace.css +3 -2
  182. package/tests-warnings/parentless-ampersand-nested.less +6 -0
  183. package/tests-warnings/parentless-ampersand-nested.txt +42 -0
  184. package/tests-warnings/parentless-ampersand.less +3 -0
  185. package/tests-warnings/parentless-ampersand.txt +21 -0
  186. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.css +0 -8
  187. package/tests-config/rootpath-escape-interpolation/rootpath-escape-interpolation.less +0 -24
  188. package/tests-config/rootpath-escape-interpolation/styles.config.cjs +0 -8
  189. package/tests-config/sourcemaps/url-interpolation/styles.config.cjs +0 -9
  190. package/tests-config/sourcemaps/url-interpolation/url-interpolation.css +0 -13
  191. package/tests-config/sourcemaps/url-interpolation/url-interpolation.less +0 -24
  192. package/tests-error/parse/property-interpolation-lookup.less +0 -8
  193. package/tests-error/parse/property-interpolation-lookup.txt +0 -4
  194. package/tests-unit/extend/extend-clearfix.less +0 -19
  195. package/tests-unit/lookup-interpolation/lookup-interpolation.css +0 -60
  196. package/tests-unit/lookup-interpolation/lookup-interpolation.less +0 -127
  197. package/tests-unit/media-nested-type/media-nested-type.css +0 -40
  198. package/tests-unit/media-nested-type/media-nested-type.less +0 -51
  199. /package/tests-unit/{directives-bubbling/directives-bubbling.less → at-rules-bubbling/at-rules-bubbling.less} +0 -0
  200. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.css +0 -0
  201. /package/tests-unit/{ie-filters → ie-filters-REMOVED/legacy}/ie-filters.less +0 -0
  202. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.css +0 -0
  203. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/javascript.less +0 -0
  204. /package/tests-unit/{javascript → javascript-REMOVED/legacy}/styles.config.cjs +0 -0
@@ -36,7 +36,7 @@
36
36
  @supports (property: value) {
37
37
  @media (max-size: 2px) {
38
38
  @supports (whatever: something) {
39
- .outOfMedia {
39
+ .outOfMedia {
40
40
  property: value;
41
41
  }
42
42
  }
@@ -45,7 +45,7 @@
45
45
  @supports (property: value) {
46
46
  @media (max-size: 2px) {
47
47
  @supports (whatever: something) {
48
- .onTop {
48
+ .onTop {
49
49
  property: value;
50
50
  }
51
51
  }
@@ -77,14 +77,16 @@
77
77
  }
78
78
  }
79
79
  }
80
- @media print and (max-size: 2px) {
81
- .in1 {
82
- stay: here;
83
- }
84
- @supports not (-webkit-font-smoothing: subpixel-antialiased) {
85
- @supports (whatever: something) {
86
- .in2 .in1 {
87
- property: value;
80
+ @media print {
81
+ @media (max-size: 2px) {
82
+ .in1 {
83
+ stay: here;
84
+ }
85
+ @supports not (-webkit-font-smoothing: subpixel-antialiased) {
86
+ @supports (whatever: something) {
87
+ .in2 .in1 {
88
+ property: value;
89
+ }
88
90
  }
89
91
  }
90
92
  }
@@ -101,10 +103,6 @@ html {
101
103
  property: value;
102
104
  }
103
105
  }
104
- .onTop {
105
- animation: "textscale";
106
- font-family: something;
107
- }
108
106
  @font-face {
109
107
  font-family: something;
110
108
  src: made-up-url;
@@ -117,3 +115,7 @@ html {
117
115
  font-size: 2em;
118
116
  }
119
117
  }
118
+ .onTop {
119
+ animation: "textscale";
120
+ font-family: something;
121
+ }
@@ -3,34 +3,22 @@
3
3
  border: 1px #f00;
4
4
  background: #fdd;
5
5
  }
6
- .error.intrusion,
7
- .badError.intrusion {
6
+ :is(.error, .badError).intrusion {
8
7
  font-size: 1.3em;
9
8
  font-weight: bold;
10
9
  }
11
- .intrusion .error,
12
- .intrusion .badError {
10
+ .intrusion :is(.error, .badError) {
13
11
  display: none;
14
12
  }
15
13
  .badError {
16
14
  border-width: 3px;
17
15
  }
18
- .foo .bar,
19
- .foo .baz,
20
- .ext1 .ext2 .bar,
21
- .ext1 .ext2 .baz,
22
- .ext3 .bar,
23
- .ext3 .baz,
24
- .foo .ext3,
25
- .ext4 .bar,
26
- .ext4 .baz,
27
- .foo .ext4 {
16
+ :is(.foo, .ext1 .ext2, .ext3, .ext4) :is(.bar, .ext3, .ext4),
17
+ :is(.foo, .ext1 .ext2, .ext3, .ext4) .baz {
28
18
  display: none;
29
19
  }
30
- div.ext5,
31
- .ext6 > .ext5,
32
- div.ext7,
33
- .ext6 > .ext7 {
20
+ div:is(.ext5, .ext7),
21
+ .ext6 > :is(.ext5, .ext7) {
34
22
  width: 100px;
35
23
  }
36
24
  .ext8.ext9,
@@ -56,21 +44,27 @@ div.ext7,
56
44
  .fuu {
57
45
  result: match-nested-foo;
58
46
  }
59
- .aa,
60
- .cc {
47
+ .aa {
61
48
  color: black;
49
+ .dd,
50
+ .ee {
51
+ background: red;
52
+ }
62
53
  }
63
- .aa .dd,
64
- .aa .ee {
65
- background: red;
54
+ .cc {
55
+ color: black;
66
56
  }
67
57
  .bb,
68
- .cc,
69
- .ee,
70
58
  .ff {
71
59
  background: red;
60
+ .bb,
61
+ .ff {
62
+ color: black;
63
+ }
72
64
  }
73
- .bb .bb,
74
- .ff .ff {
75
- color: black;
65
+ .cc {
66
+ background: red;
67
+ }
68
+ .ee {
69
+ background: red;
76
70
  }
@@ -0,0 +1,79 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .error,
5
+ .badError {
6
+ border: 1px #f00;
7
+ background: #fdd;
8
+ }
9
+ .error.intrusion,
10
+ .badError.intrusion {
11
+ font-size: 1.3em;
12
+ font-weight: bold;
13
+ }
14
+ .intrusion .error,
15
+ .intrusion .badError {
16
+ display: none;
17
+ }
18
+ .badError {
19
+ border-width: 3px;
20
+ }
21
+ .foo .bar,
22
+ .foo .baz,
23
+ .ext1 .ext2 .bar,
24
+ .ext1 .ext2 .baz,
25
+ .ext3 .bar,
26
+ .ext3 .baz,
27
+ .foo .ext3,
28
+ .ext4 .bar,
29
+ .ext4 .baz,
30
+ .foo .ext4 {
31
+ display: none;
32
+ }
33
+ div.ext5,
34
+ .ext6 > .ext5,
35
+ div.ext7,
36
+ .ext6 > .ext7 {
37
+ width: 100px;
38
+ }
39
+ .ext8.ext9,
40
+ .fuu {
41
+ result: add-foo;
42
+ }
43
+ .ext8 .ext9,
44
+ .ext8 + .ext9,
45
+ .ext8 > .ext9,
46
+ .buu,
47
+ .zap,
48
+ .zoo {
49
+ result: bar-matched;
50
+ }
51
+ .ext8.nomatch {
52
+ result: none;
53
+ }
54
+ .ext8 .ext9,
55
+ .buu {
56
+ result: match-nested-bar;
57
+ }
58
+ .ext8.ext9,
59
+ .fuu {
60
+ result: match-nested-foo;
61
+ }
62
+ .aa,
63
+ .cc {
64
+ color: black;
65
+ }
66
+ .aa .dd,
67
+ .aa .ee {
68
+ background: red;
69
+ }
70
+ .bb,
71
+ .cc,
72
+ .ee,
73
+ .ff {
74
+ background: red;
75
+ }
76
+ .bb .bb,
77
+ .ff .ff {
78
+ color: black;
79
+ }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ output: [
3
+ { file: '{name}.css', collapseNesting: false }
4
+ ]
5
+ }
@@ -8,13 +8,10 @@
8
8
  .d {
9
9
  color: black;
10
10
  }
11
- .g.h,
12
- .i.j.h,
13
- .k.j.h {
11
+ :is(.g, :is(.i, .k).j).h {
14
12
  color: black;
15
13
  }
16
- .i.j,
17
- .k.j {
14
+ :is(.i, .k).j {
18
15
  color: inherit;
19
16
  }
20
17
  .l,
@@ -72,10 +69,10 @@
72
69
  .mc {
73
70
  color: inherit;
74
71
  }
75
- }
76
- @media (tv) and (plasma) {
77
- .me,
78
- .mf {
79
- background: red;
72
+ @media (plasma) {
73
+ .me,
74
+ .mf {
75
+ background: red;
76
+ }
80
77
  }
81
78
  }
@@ -0,0 +1,84 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .a,
5
+ .b,
6
+ .c {
7
+ color: black;
8
+ }
9
+ .f,
10
+ .e,
11
+ .d {
12
+ color: black;
13
+ }
14
+ .g.h,
15
+ .i.j.h,
16
+ .k.j.h {
17
+ color: black;
18
+ }
19
+ .i.j,
20
+ .k.j {
21
+ color: inherit;
22
+ }
23
+ .l,
24
+ .m,
25
+ .n,
26
+ .o,
27
+ .p,
28
+ .q,
29
+ .r,
30
+ .s,
31
+ .t {
32
+ color: black;
33
+ }
34
+ .u,
35
+ .v.u.v {
36
+ color: black;
37
+ }
38
+ .w,
39
+ .v.w.v {
40
+ color: black;
41
+ }
42
+ .x,
43
+ .y,
44
+ .z {
45
+ color: x;
46
+ }
47
+ .y,
48
+ .z,
49
+ .x {
50
+ color: y;
51
+ }
52
+ .z,
53
+ .x,
54
+ .y {
55
+ color: z;
56
+ }
57
+ .va,
58
+ .vb,
59
+ .vc {
60
+ color: black;
61
+ }
62
+ .vb,
63
+ .vc {
64
+ color: inherit;
65
+ }
66
+ @media (tv) {
67
+ .ma,
68
+ .mb,
69
+ .mc {
70
+ color: black;
71
+ }
72
+ .md,
73
+ .ma,
74
+ .mb,
75
+ .mc {
76
+ color: inherit;
77
+ }
78
+ }
79
+ @media (tv) and (plasma) {
80
+ .me,
81
+ .mf {
82
+ background: red;
83
+ }
84
+ }
@@ -3,9 +3,7 @@
3
3
  .bar {
4
4
  *zoom: 1;
5
5
  }
6
- .clearfix:after,
7
- .foo:after,
8
- .bar:after {
6
+ :is(.clearfix, .foo, .bar):after {
9
7
  content: '';
10
8
  display: block;
11
9
  clear: both;
@@ -17,4 +17,3 @@
17
17
  &:extend(.clearfix all);
18
18
  color: blue;
19
19
  }
20
-
@@ -1,3 +1,6 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
1
4
  .clearfix,
2
5
  .foo,
3
6
  .bar {
@@ -1,37 +1,38 @@
1
- .replace.replace .replace,
2
- .c.replace + .replace .replace,
3
- .replace.replace .c,
4
- .c.replace + .replace .c,
1
+ :is(.replace.replace, .c.replace + .replace) :is(.replace, .c),
5
2
  .rep_ace {
6
3
  prop: copy-paste-replace;
7
4
  }
8
5
  .a .b .c {
9
6
  prop: not_effected;
10
7
  }
11
- .a,
12
- .effected {
8
+ .a {
13
9
  prop: is_effected;
10
+ .b {
11
+ prop: not_effected;
12
+ }
13
+ .b.c {
14
+ prop: not_effected;
15
+ }
14
16
  }
15
- .a .b {
16
- prop: not_effected;
17
- }
18
- .a .b.c {
19
- prop: not_effected;
17
+ .effected {
18
+ prop: is_effected;
20
19
  }
21
- .c .b .a,
22
- .a .b .a,
23
- .c .a .a,
24
- .a .a .a,
25
- .c .b .c,
26
- .a .b .c,
27
- .c .a .c,
28
- .a .a .c {
29
- prop: not_effected;
20
+ .c,
21
+ .a {
22
+ .b,
23
+ .a {
24
+ .a,
25
+ .c {
26
+ prop: not_effected;
27
+ }
28
+ }
29
+ }
30
+ .e.e {
31
+ prop: extend-double;
32
+ &:hover {
33
+ hover: not-extended;
34
+ }
30
35
  }
31
- .e.e,
32
36
  .dbl {
33
37
  prop: extend-double;
34
38
  }
35
- .e.e:hover {
36
- hover: not-extended;
37
- }
@@ -0,0 +1,40 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .replace.replace .replace,
5
+ .c.replace + .replace .replace,
6
+ .replace.replace .c,
7
+ .c.replace + .replace .c,
8
+ .rep_ace {
9
+ prop: copy-paste-replace;
10
+ }
11
+ .a .b .c {
12
+ prop: not_effected;
13
+ }
14
+ .a,
15
+ .effected {
16
+ prop: is_effected;
17
+ }
18
+ .a .b {
19
+ prop: not_effected;
20
+ }
21
+ .a .b.c {
22
+ prop: not_effected;
23
+ }
24
+ .c .b .a,
25
+ .a .b .a,
26
+ .c .a .a,
27
+ .a .a .a,
28
+ .c .b .c,
29
+ .a .b .c,
30
+ .c .a .c,
31
+ .a .a .c {
32
+ prop: not_effected;
33
+ }
34
+ .e.e,
35
+ .dbl {
36
+ prop: extend-double;
37
+ }
38
+ .e.e:hover {
39
+ hover: not-extended;
40
+ }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ output: [
3
+ { file: '{name}.css', collapseNesting: false }
4
+ ]
5
+ }
@@ -1,24 +1,19 @@
1
- .ext1 .ext2,
2
- .all .ext2 {
1
+ :is(.ext1, .all) .ext2 {
3
2
  background: black;
4
3
  }
5
4
  @media (tv) {
6
- .ext1 .ext3,
7
- .tv-lowres .ext3,
8
- .all .ext3 {
5
+ :is(.ext1, .tv-lowres, .all) .ext3 {
9
6
  color: inherit;
10
7
  }
11
8
  .tv-lowres {
12
9
  background: blue;
13
10
  }
14
- }
15
- @media (tv) and (hires) {
16
- .ext1 .ext4,
17
- .tv-hires .ext4,
18
- .all .ext4 {
19
- color: green;
20
- }
21
- .tv-hires {
22
- background: red;
11
+ @media (hires) {
12
+ :is(.ext1, .tv-lowres, .tv-hires, .all) .ext4 {
13
+ color: green;
14
+ }
15
+ .tv-hires {
16
+ background: red;
17
+ }
23
18
  }
24
19
  }
@@ -0,0 +1,27 @@
1
+ /* Less 4.x output, recorded when this fixture graduated to v5.
2
+ Historical record only — no test reads this file. */
3
+
4
+ .ext1 .ext2,
5
+ .all .ext2 {
6
+ background: black;
7
+ }
8
+ @media (tv) {
9
+ .ext1 .ext3,
10
+ .tv-lowres .ext3,
11
+ .all .ext3 {
12
+ color: inherit;
13
+ }
14
+ .tv-lowres {
15
+ background: blue;
16
+ }
17
+ }
18
+ @media (tv) and (hires) {
19
+ .ext1 .ext4,
20
+ .tv-hires .ext4,
21
+ .all .ext4 {
22
+ color: green;
23
+ }
24
+ .tv-hires {
25
+ background: red;
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ output: [
3
+ { file: '{name}.css', collapseNesting: false }
4
+ ]
5
+ }
@@ -5,10 +5,7 @@
5
5
  width: 300px;
6
6
  background: red;
7
7
  }
8
- .sidebar .box,
9
- .sidebar2 .box,
10
- .type1 .sidebar3 .box,
11
- .type2.sidebar4 .box {
8
+ :is(.sidebar, .sidebar2, .type1 .sidebar3, .type2.sidebar4) .box {
12
9
  background: #FFF;
13
10
  border: 1px solid #000;
14
11
  margin: 10px 0;
@@ -26,8 +23,7 @@
26
23
  .submit {
27
24
  color: black;
28
25
  }
29
- .button:hover,
30
- .submit:hover {
26
+ :is(.button, .submit):hover {
31
27
  color: inherit;
32
28
  }
33
29
  .button2 :hover {
@@ -37,21 +33,6 @@
37
33
  notnested: black;
38
34
  }
39
35
  .amp-test-h,
40
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
41
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
42
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
43
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
44
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
45
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
46
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
47
- .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
48
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
49
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
50
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
51
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
52
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
53
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
54
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
55
- .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g {
36
+ .amp-test-f:is(.amp-test-c :is(.amp-test-a, .amp-test-b).amp-test-d:is(.amp-test-a, .amp-test-b).amp-test-e) + :is(.amp-test-c :is(.amp-test-a, .amp-test-b).amp-test-d:is(.amp-test-a, .amp-test-b).amp-test-e).amp-test-g {
56
37
  test: extended by masses of selectors;
57
38
  }
@@ -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
+ .sidebar,
5
+ .sidebar2,
6
+ .type1 .sidebar3,
7
+ .type2.sidebar4 {
8
+ width: 300px;
9
+ background: red;
10
+ }
11
+ .sidebar .box,
12
+ .sidebar2 .box,
13
+ .type1 .sidebar3 .box,
14
+ .type2.sidebar4 .box {
15
+ background: #FFF;
16
+ border: 1px solid #000;
17
+ margin: 10px 0;
18
+ }
19
+ .sidebar2 {
20
+ background: blue;
21
+ }
22
+ .type1 .sidebar3 {
23
+ background: green;
24
+ }
25
+ .type2.sidebar4 {
26
+ background: red;
27
+ }
28
+ .button,
29
+ .submit {
30
+ color: black;
31
+ }
32
+ .button:hover,
33
+ .submit:hover {
34
+ color: inherit;
35
+ }
36
+ .button2 :hover {
37
+ nested: white;
38
+ }
39
+ .button2 :hover {
40
+ notnested: black;
41
+ }
42
+ .amp-test-h,
43
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
44
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
45
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
46
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
47
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
48
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
49
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
50
+ .amp-test-f.amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
51
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
52
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
53
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
54
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
55
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
56
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-a.amp-test-d.amp-test-b.amp-test-e.amp-test-g,
57
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-a.amp-test-e.amp-test-g,
58
+ .amp-test-f.amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e + .amp-test-c .amp-test-b.amp-test-d.amp-test-b.amp-test-e.amp-test-g {
59
+ test: extended by masses of selectors;
60
+ }