@@ -2,27 +2,30 @@ const test = require('ava');
2
2
3
3
const { parse, nodeToString } = require ( '../../lib' ) ;
4
4
5
- test ( 'inline & :extend()' , ( t ) => {
5
+ test ( 'inline :extend()' , ( t ) => {
6
6
const less = '.a:extend(.b) {color: red;}' ;
7
7
const root = parse ( less ) ;
8
8
const { first } = root ;
9
9
10
10
t . is ( first . selector , '.a:extend(.b)' ) ;
11
+ t . truthy ( first . extend ) ;
11
12
t . is ( nodeToString ( root ) , less ) ;
12
13
} ) ;
13
14
14
- test ( 'inline & :extend() with multiple parameters' , ( t ) => {
15
+ test ( 'inline :extend() with multiple parameters' , ( t ) => {
15
16
const less = '.e:extend(.f, .g) {}' ;
16
17
const { first } = parse ( less ) ;
17
18
18
19
t . is ( first . selector , '.e:extend(.f, .g)' ) ;
20
+ t . truthy ( first . extend ) ;
19
21
} ) ;
20
22
21
- test ( 'inline & :extend() with nested selector in parameters' , ( t ) => {
23
+ test ( 'inline :extend() with nested selector in parameters' , ( t ) => {
22
24
const less = '.e:extend(.a .g, b span) {}' ;
23
25
const { first } = parse ( less ) ;
24
26
25
27
t . is ( first . selector , '.e:extend(.a .g, b span)' ) ;
28
+ t . truthy ( first . extend ) ;
26
29
} ) ;
27
30
28
31
test ( 'parses nested &:extend()' , ( t ) => {
@@ -32,27 +35,31 @@ test('parses nested &:extend()', (t) => {
32
35
t . is ( first . selector , '.a' ) ;
33
36
t . is ( first . first . prop , '&' ) ;
34
37
t . is ( first . first . value , 'extend(.bucket tr)' ) ;
38
+ t . truthy ( first . first . extend ) ;
35
39
} ) ;
36
40
37
41
test ( 'parses :extend() after selector' , ( t ) => {
38
42
const less = 'pre:hover:extend(div pre){}' ;
39
43
const { first } = parse ( less ) ;
40
44
41
45
t . is ( first . selector , 'pre:hover:extend(div pre)' ) ;
46
+ t . truthy ( first . extend ) ;
42
47
} ) ;
43
48
44
49
test ( 'parses :extend() after selector. 2' , ( t ) => {
45
50
const less = 'pre:hover :extend(div pre){}' ;
46
51
const { first } = parse ( less ) ;
47
52
48
53
t . is ( first . selector , 'pre:hover :extend(div pre)' ) ;
54
+ t . truthy ( first . extend ) ;
49
55
} ) ;
50
56
51
57
test ( 'parses multiple extends' , ( t ) => {
52
58
const less = 'pre:hover:extend(div pre):extend(.bucket tr) { }' ;
53
59
const { first } = parse ( less ) ;
54
60
55
61
t . is ( first . selector , 'pre:hover:extend(div pre):extend(.bucket tr)' ) ;
62
+ t . truthy ( first . extend ) ;
56
63
} ) ;
57
64
58
65
test ( 'parses nth expression in extend' , ( t ) => {
@@ -62,13 +69,15 @@ test('parses nth expression in extend', (t) => {
62
69
63
70
t . is ( first . selector , ':nth-child(1n+3)' ) ;
64
71
t . is ( last . selector , '.child:extend(:nth-child(n+3))' ) ;
72
+ t . truthy ( last . extend ) ;
65
73
} ) ;
66
74
67
75
test ( '"all"' , ( t ) => {
68
76
const less = '.replacement:extend(.test all) {}' ;
69
77
const { first } = parse ( less ) ;
70
78
71
79
t . is ( first . selector , '.replacement:extend(.test all)' ) ;
80
+ t . truthy ( first . extend ) ;
72
81
} ) ;
73
82
74
83
test ( 'with interpolation' , ( t ) => {
@@ -77,4 +86,5 @@ test('with interpolation', (t) => {
77
86
78
87
t . is ( root . nodes [ 0 ] . selector , '.bucket' ) ;
79
88
t . is ( root . nodes [ 1 ] . selector , '.some-class:extend(@{variable})' ) ;
89
+ t . truthy ( root . nodes [ 1 ] . extend ) ;
80
90
} ) ;
0 commit comments