@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
@@ -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
+ .wrapper {
5
+ display: grid;
6
+ grid-template-columns: [col1-start] 9fr [col1-end] 10px [col2-start] 3fr [col2-end];
7
+ grid-template-rows: auto;
8
+ }
9
+ .wrapper {
10
+ display: grid;
11
+ grid-template-columns: [left-bound] auto [container-left] 1170px [container-right] auto [right-bound];
12
+ grid-template-rows: [row-1-start] 140px [row-2-start] 390px [row-3-start] 200px [row-4-start] 120px [row-5-start] 120px [row-6-start] 120px;
13
+ }
14
+ .container-12 {
15
+ z-index: 20;
16
+ display: grid;
17
+ grid-column: container-left / span 1;
18
+ grid-row: 2;
19
+ grid-template-columns: [wrapcol-1-start] 1fr [wrapcol-1-end] 15px [wrapcol-2-start] 1fr [wrapcol-2-end] 15px [wrapcol-3-start] 1fr [wrapcol-3-end] 15px [wrapcol-4-start] 1fr [wrapcol-4-end] 15px [wrapcol-5-start] 1fr [wrapcol-5-end] 15px [wrapcol-6-start] 1fr [wrapcol-6-end] 15px [wrapcol-7-start] 1fr [wrapcol-7-end] 15px [wrapcol-8-start] 1fr [wrapcol-8-end] 15px [wrapcol-9-start] 1fr [wrapcol-9-end] 15px [wrapcol-10-start] 1fr [wrapcol-10-end] 15px [wrapcol-11-start] 1fr [wrapcol-11-end] 15px [wrapcol-12-start] 1fr [wrapcol-12-end];
20
+ grid-template-rows: repeat(14, [gutter] 10px [row] 60px);
21
+ }
22
+ .wrapper {
23
+ display: grid;
24
+ grid-template-columns: 9fr 1.875em 3fr;
25
+ grid-template-rows: auto;
26
+ grid-template-areas: "header header header" "content . sidebar" "footer footer footer";
27
+ }
@@ -99,6 +99,7 @@
99
99
  .errors-if-called when (@c = never) {
100
100
  .mixin-doesnt-exist();
101
101
  }
102
- a:hover when (2 = true) {5:-}
102
+ // a:hover when (2 = true) {5:-}
103
+ a:hover when (2 = true) {all:reset}
103
104
 
104
105
 
@@ -29,14 +29,16 @@ html.lt-ie9 header {
29
29
  }
30
30
  .wrap-selector {
31
31
  test: extra-wrap;
32
- visible-one: visible;
33
- visible-two: visible;
34
32
  }
35
33
  .wrap-selector .wrap-selector {
36
34
  test: wrapped-twice;
37
35
  visible-one: visible;
38
36
  visible-two: visible;
39
37
  }
38
+ .wrap-selector {
39
+ visible-one: visible;
40
+ visible-two: visible;
41
+ }
40
42
  .wrap-selector {
41
43
  test-func: 90;
42
44
  test-arithmetic: 18px;
@@ -46,24 +48,30 @@ html.lt-ie9 header {
46
48
  .without-mixins {
47
49
  b: 1;
48
50
  }
49
- @media (orientation: portrait) and (tv) {
50
- .my-selector {
51
- background-color: black;
51
+ @media (orientation: portrait) {
52
+ @media (tv) {
53
+ .my-selector {
54
+ background-color: black;
55
+ }
52
56
  }
53
- }
54
- @media (orientation: portrait) and (widescreen) and (print) and (tv) {
55
- .triple-wrapped-mq {
56
- triple: true;
57
+ @media (widescreen) {
58
+ @media (print) {
59
+ @media (tv) {
60
+ .triple-wrapped-mq {
61
+ triple: true;
62
+ }
63
+ }
64
+ }
65
+ @media (tv) {
66
+ .triple-wrapped-mq {
67
+ triple: true;
68
+ }
69
+ }
57
70
  }
58
- }
59
- @media (orientation: portrait) and (widescreen) and (tv) {
60
- .triple-wrapped-mq {
61
- triple: true;
62
- }
63
- }
64
- @media (orientation: portrait) and (tv) {
65
- .triple-wrapped-mq {
66
- triple: true;
71
+ @media (tv) {
72
+ .triple-wrapped-mq {
73
+ triple: true;
74
+ }
67
75
  }
68
76
  }
69
77
  .a {
@@ -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
+ .wrap-selector {
5
+ color: black;
6
+ one: 1px;
7
+ four: magic-frame;
8
+ visible-one: visible;
9
+ visible-two: visible;
10
+ }
11
+ .wrap-selector {
12
+ color: red;
13
+ visible-one: visible;
14
+ visible-two: visible;
15
+ }
16
+ .wrap-selector {
17
+ color: black;
18
+ background: white;
19
+ visible-one: visible;
20
+ visible-two: visible;
21
+ }
22
+ header {
23
+ background: blue;
24
+ }
25
+ @media screen and (min-width: 1200) {
26
+ header {
27
+ background: red;
28
+ }
29
+ }
30
+ html.lt-ie9 header {
31
+ background: red;
32
+ }
33
+ .wrap-selector {
34
+ test: extra-wrap;
35
+ visible-one: visible;
36
+ visible-two: visible;
37
+ }
38
+ .wrap-selector .wrap-selector {
39
+ test: wrapped-twice;
40
+ visible-one: visible;
41
+ visible-two: visible;
42
+ }
43
+ .wrap-selector {
44
+ test-func: 90;
45
+ test-arithmetic: 18px;
46
+ visible-one: visible;
47
+ visible-two: visible;
48
+ }
49
+ .without-mixins {
50
+ b: 1;
51
+ }
52
+ @media (orientation: portrait) and (tv) {
53
+ .my-selector {
54
+ background-color: black;
55
+ }
56
+ }
57
+ @media (orientation: portrait) and (widescreen) and (print) and (tv) {
58
+ .triple-wrapped-mq {
59
+ triple: true;
60
+ }
61
+ }
62
+ @media (orientation: portrait) and (widescreen) and (tv) {
63
+ .triple-wrapped-mq {
64
+ triple: true;
65
+ }
66
+ }
67
+ @media (orientation: portrait) and (tv) {
68
+ .triple-wrapped-mq {
69
+ triple: true;
70
+ }
71
+ }
72
+ .a {
73
+ test: test;
74
+ }
75
+ .argument-default {
76
+ default: works;
77
+ direct: works;
78
+ named: works;
79
+ }
@@ -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
  }