@@ -2,27 +2,30 @@ const test = require('ava');
22
33const { parse, nodeToString } = require ( '../../lib' ) ;
44
5- test ( 'inline & :extend()' , ( t ) => {
5+ test ( 'inline :extend()' , ( t ) => {
66 const less = '.a:extend(.b) {color: red;}' ;
77 const root = parse ( less ) ;
88 const { first } = root ;
99
1010 t . is ( first . selector , '.a:extend(.b)' ) ;
11+ t . truthy ( first . extend ) ;
1112 t . is ( nodeToString ( root ) , less ) ;
1213} ) ;
1314
14- test ( 'inline & :extend() with multiple parameters' , ( t ) => {
15+ test ( 'inline :extend() with multiple parameters' , ( t ) => {
1516 const less = '.e:extend(.f, .g) {}' ;
1617 const { first } = parse ( less ) ;
1718
1819 t . is ( first . selector , '.e:extend(.f, .g)' ) ;
20+ t . truthy ( first . extend ) ;
1921} ) ;
2022
21- test ( 'inline & :extend() with nested selector in parameters' , ( t ) => {
23+ test ( 'inline :extend() with nested selector in parameters' , ( t ) => {
2224 const less = '.e:extend(.a .g, b span) {}' ;
2325 const { first } = parse ( less ) ;
2426
2527 t . is ( first . selector , '.e:extend(.a .g, b span)' ) ;
28+ t . truthy ( first . extend ) ;
2629} ) ;
2730
2831test ( 'parses nested &:extend()' , ( t ) => {
@@ -32,27 +35,31 @@ test('parses nested &:extend()', (t) => {
3235 t . is ( first . selector , '.a' ) ;
3336 t . is ( first . first . prop , '&' ) ;
3437 t . is ( first . first . value , 'extend(.bucket tr)' ) ;
38+ t . truthy ( first . first . extend ) ;
3539} ) ;
3640
3741test ( 'parses :extend() after selector' , ( t ) => {
3842 const less = 'pre:hover:extend(div pre){}' ;
3943 const { first } = parse ( less ) ;
4044
4145 t . is ( first . selector , 'pre:hover:extend(div pre)' ) ;
46+ t . truthy ( first . extend ) ;
4247} ) ;
4348
4449test ( 'parses :extend() after selector. 2' , ( t ) => {
4550 const less = 'pre:hover :extend(div pre){}' ;
4651 const { first } = parse ( less ) ;
4752
4853 t . is ( first . selector , 'pre:hover :extend(div pre)' ) ;
54+ t . truthy ( first . extend ) ;
4955} ) ;
5056
5157test ( 'parses multiple extends' , ( t ) => {
5258 const less = 'pre:hover:extend(div pre):extend(.bucket tr) { }' ;
5359 const { first } = parse ( less ) ;
5460
5561 t . is ( first . selector , 'pre:hover:extend(div pre):extend(.bucket tr)' ) ;
62+ t . truthy ( first . extend ) ;
5663} ) ;
5764
5865test ( 'parses nth expression in extend' , ( t ) => {
@@ -62,13 +69,15 @@ test('parses nth expression in extend', (t) => {
6269
6370 t . is ( first . selector , ':nth-child(1n+3)' ) ;
6471 t . is ( last . selector , '.child:extend(:nth-child(n+3))' ) ;
72+ t . truthy ( last . extend ) ;
6573} ) ;
6674
6775test ( '"all"' , ( t ) => {
6876 const less = '.replacement:extend(.test all) {}' ;
6977 const { first } = parse ( less ) ;
7078
7179 t . is ( first . selector , '.replacement:extend(.test all)' ) ;
80+ t . truthy ( first . extend ) ;
7281} ) ;
7382
7483test ( 'with interpolation' , ( t ) => {
@@ -77,4 +86,5 @@ test('with interpolation', (t) => {
7786
7887 t . is ( root . nodes [ 0 ] . selector , '.bucket' ) ;
7988 t . is ( root . nodes [ 1 ] . selector , '.some-class:extend(@{variable})' ) ;
89+ t . truthy ( root . nodes [ 1 ] . extend ) ;
8090} ) ;
0 commit comments