@@ -18,6 +18,17 @@ describe('Value Node Types', () => {
1818 expect ( value ?. start ) . toBe ( 13 )
1919 expect ( value ?. length ) . toBe ( 3 )
2020 expect ( value ?. end ) . toBe ( 16 )
21+ expect ( value ?. line ) . toBe ( 1 )
22+ expect ( value ?. column ) . toBe ( 14 )
23+ } )
24+
25+ it ( 'should have correct line and column on line 2' , ( ) => {
26+ const value = getValue ( 'div {\n color: red;\n}' )
27+ expect ( value ?. start ) . toBe ( 15 )
28+ expect ( value ?. length ) . toBe ( 3 )
29+ expect ( value ?. end ) . toBe ( 18 )
30+ expect ( value ?. line ) . toBe ( 2 )
31+ expect ( value ?. column ) . toBe ( 10 )
2132 } )
2233 } )
2334
@@ -27,6 +38,17 @@ describe('Value Node Types', () => {
2738 expect ( value ?. start ) . toBe ( 15 )
2839 expect ( value ?. length ) . toBe ( 3 )
2940 expect ( value ?. end ) . toBe ( 18 )
41+ expect ( value ?. line ) . toBe ( 1 )
42+ expect ( value ?. column ) . toBe ( 16 )
43+ } )
44+
45+ it ( 'should have correct line and column on line 3' , ( ) => {
46+ const value = getValue ( 'div {\n /* comment */\n opacity: 0.5;\n}' )
47+ expect ( value ?. start ) . toBe ( 33 )
48+ expect ( value ?. length ) . toBe ( 3 )
49+ expect ( value ?. end ) . toBe ( 36 )
50+ expect ( value ?. line ) . toBe ( 3 )
51+ expect ( value ?. column ) . toBe ( 12 )
3052 } )
3153 } )
3254
@@ -36,6 +58,17 @@ describe('Value Node Types', () => {
3658 expect ( value ?. start ) . toBe ( 13 )
3759 expect ( value ?. length ) . toBe ( 5 )
3860 expect ( value ?. end ) . toBe ( 18 )
61+ expect ( value ?. line ) . toBe ( 1 )
62+ expect ( value ?. column ) . toBe ( 14 )
63+ } )
64+
65+ it ( 'should have correct line and column on line 2' , ( ) => {
66+ const value = getValue ( 'div {\n width: 100px;\n}' )
67+ expect ( value ?. start ) . toBe ( 15 )
68+ expect ( value ?. length ) . toBe ( 5 )
69+ expect ( value ?. end ) . toBe ( 20 )
70+ expect ( value ?. line ) . toBe ( 2 )
71+ expect ( value ?. column ) . toBe ( 10 )
3972 } )
4073 } )
4174
@@ -45,6 +78,17 @@ describe('Value Node Types', () => {
4578 expect ( value ?. start ) . toBe ( 15 )
4679 expect ( value ?. length ) . toBe ( 7 )
4780 expect ( value ?. end ) . toBe ( 22 )
81+ expect ( value ?. line ) . toBe ( 1 )
82+ expect ( value ?. column ) . toBe ( 16 )
83+ } )
84+
85+ it ( 'should have correct line and column on line 4' , ( ) => {
86+ const value = getValue ( 'div {\n /* line 2 */\n /* line 3 */\n content: "hello";\n}' )
87+ expect ( value ?. start ) . toBe ( 47 )
88+ expect ( value ?. length ) . toBe ( 7 )
89+ expect ( value ?. end ) . toBe ( 54 )
90+ expect ( value ?. line ) . toBe ( 4 )
91+ expect ( value ?. column ) . toBe ( 12 )
4892 } )
4993 } )
5094
@@ -54,6 +98,17 @@ describe('Value Node Types', () => {
5498 expect ( value ?. start ) . toBe ( 13 )
5599 expect ( value ?. length ) . toBe ( 7 )
56100 expect ( value ?. end ) . toBe ( 20 )
101+ expect ( value ?. line ) . toBe ( 1 )
102+ expect ( value ?. column ) . toBe ( 14 )
103+ } )
104+
105+ it ( 'should have correct line and column on line 2' , ( ) => {
106+ const value = getValue ( 'div {\n color: #ff0000;\n}' )
107+ expect ( value ?. start ) . toBe ( 15 )
108+ expect ( value ?. length ) . toBe ( 7 )
109+ expect ( value ?. end ) . toBe ( 22 )
110+ expect ( value ?. line ) . toBe ( 2 )
111+ expect ( value ?. column ) . toBe ( 10 )
57112 } )
58113 } )
59114
@@ -63,6 +118,17 @@ describe('Value Node Types', () => {
63118 expect ( value ?. start ) . toBe ( 13 )
64119 expect ( value ?. length ) . toBe ( 14 )
65120 expect ( value ?. end ) . toBe ( 27 )
121+ expect ( value ?. line ) . toBe ( 1 )
122+ expect ( value ?. column ) . toBe ( 14 )
123+ } )
124+
125+ it ( 'should have correct line and column on line 3' , ( ) => {
126+ const value = getValue ( 'div {\n /* comment */\n color: rgb(255, 0, 0);\n}' )
127+ expect ( value ?. start ) . toBe ( 31 )
128+ expect ( value ?. length ) . toBe ( 14 )
129+ expect ( value ?. end ) . toBe ( 45 )
130+ expect ( value ?. line ) . toBe ( 3 )
131+ expect ( value ?. column ) . toBe ( 10 )
66132 } )
67133 } )
68134
@@ -74,6 +140,19 @@ describe('Value Node Types', () => {
74140 expect ( comma ?. start ) . toBe ( 24 )
75141 expect ( comma ?. length ) . toBe ( 1 )
76142 expect ( comma ?. end ) . toBe ( 25 )
143+ expect ( comma ?. line ) . toBe ( 1 )
144+ expect ( comma ?. column ) . toBe ( 25 )
145+ } )
146+
147+ it ( 'should have correct line and column on line 2' , ( ) => {
148+ const root = parse ( 'div {\n font-family: Arial, sans-serif;\n}' )
149+ const decl = root . first_child ?. first_child ?. next_sibling ?. first_child
150+ const comma = decl ?. values [ 1 ]
151+ expect ( comma ?. start ) . toBe ( 26 )
152+ expect ( comma ?. length ) . toBe ( 1 )
153+ expect ( comma ?. end ) . toBe ( 27 )
154+ expect ( comma ?. line ) . toBe ( 2 )
155+ expect ( comma ?. column ) . toBe ( 21 )
77156 } )
78157 } )
79158
@@ -85,6 +164,19 @@ describe('Value Node Types', () => {
85164 expect ( paren ?. start ) . toBe ( 18 )
86165 expect ( paren ?. length ) . toBe ( 13 )
87166 expect ( paren ?. end ) . toBe ( 31 )
167+ expect ( paren ?. line ) . toBe ( 1 )
168+ expect ( paren ?. column ) . toBe ( 19 )
169+ } )
170+
171+ it ( 'should have correct line and column on line 2' , ( ) => {
172+ const root = parse ( 'div {\n width: calc((100% - 50px) / 2);\n}' )
173+ const func = root . first_child ?. first_child ?. next_sibling ?. first_child ?. values [ 0 ]
174+ const paren = func ?. children [ 0 ]
175+ expect ( paren ?. start ) . toBe ( 20 )
176+ expect ( paren ?. length ) . toBe ( 13 )
177+ expect ( paren ?. end ) . toBe ( 33 )
178+ expect ( paren ?. line ) . toBe ( 2 )
179+ expect ( paren ?. column ) . toBe ( 15 )
88180 } )
89181 } )
90182
@@ -94,6 +186,17 @@ describe('Value Node Types', () => {
94186 expect ( value ?. start ) . toBe ( 18 )
95187 expect ( value ?. length ) . toBe ( 16 )
96188 expect ( value ?. end ) . toBe ( 34 )
189+ expect ( value ?. line ) . toBe ( 1 )
190+ expect ( value ?. column ) . toBe ( 19 )
191+ } )
192+
193+ it ( 'should have correct line and column on line 2' , ( ) => {
194+ const value = getValue ( 'div {\n background: url("image.png");\n}' )
195+ expect ( value ?. start ) . toBe ( 20 )
196+ expect ( value ?. length ) . toBe ( 16 )
197+ expect ( value ?. end ) . toBe ( 36 )
198+ expect ( value ?. line ) . toBe ( 2 )
199+ expect ( value ?. column ) . toBe ( 15 )
97200 } )
98201 } )
99202 } )
0 commit comments