@@ -10,7 +10,7 @@ import {
10
10
reSetVar ,
11
11
setVar ,
12
12
} from '../parser-compiled-sfc'
13
- import type { ImportSpecifier } from '@babel/types'
13
+ import type { CallExpression , Identifier , ImportSpecifier , ObjectExpression } from '@babel/types'
14
14
describe ( 'parseSetupBody' , ( ) => {
15
15
let node : any
16
16
@@ -82,7 +82,7 @@ describe('parseHasCSSVars', () => {
82
82
const code = 'const a = 1'
83
83
const ast = parse ( code )
84
84
85
- const node = ast . program . body [ 0 ] . declarations [ 0 ] . init
85
+ const node = ( ast as any ) . program . body [ 0 ] . declarations [ 0 ] . init
86
86
87
87
parseHasCSSVars ( node , null ! )
88
88
@@ -102,47 +102,47 @@ describe('parseHasCSSVars', () => {
102
102
} )
103
103
104
104
describe ( 'parseUseCSSVars function' , ( ) => {
105
- let node : Node & { scopeIds ?: Set < string > }
106
- let parent : Node & { scopeIds ?: Set < string > }
105
+ let node : Node & { scopeIds ?: Set < string > } & Identifier & CallExpression & ObjectExpression
106
+ let parent : Node & { scopeIds ?: Set < string > } & Identifier & CallExpression & ObjectExpression
107
107
108
108
beforeEach ( ( ) => {
109
109
reSetVar ( )
110
- node = { } as Node & { scopeIds ?: Set < string > }
111
- parent = { } as Node & { scopeIds ?: Set < string > }
110
+ node = { } as Node & { scopeIds ?: Set < string > } & Identifier & CallExpression & ObjectExpression
111
+ parent = { } as Node & { scopeIds ?: Set < string > } & Identifier & CallExpression & ObjectExpression
112
112
} )
113
113
114
114
test ( 'sets isUseCSSVarsEnter to true when called with _useCssVars identifier and a CallExpression parent' , ( ) => {
115
- node . type = 'Identifier' ;
116
- ( node as any ) . name = '_useCssVars'
117
- parent . type = 'CallExpression'
115
+ ( node as Identifier ) . type = 'Identifier' ;
116
+ ( node as Identifier ) . name = '_useCssVars' ;
117
+ ( parent as CallExpression ) . type = 'CallExpression'
118
118
119
- parseUseCSSVars ( node , parent as any )
119
+ parseUseCSSVars ( node as any , parent as any )
120
120
121
121
expect ( getVar ( ) . isUseCSSVarsEnter ) . toBe ( true )
122
122
} )
123
123
124
124
test ( 'does not set isUseCSSVarsEnter to true when called with non-_useCssVars identifier and a CallExpression parent' , ( ) => {
125
- node . type = 'Identifier' ;
126
- ( node as any ) . name = 'foo'
127
- parent . type = 'CallExpression'
125
+ ( node as Identifier ) . type = 'Identifier' ;
126
+ ( node as Identifier ) . name = 'foo' ;
127
+ ( parent as CallExpression ) . type = 'CallExpression'
128
128
129
129
parseUseCSSVars ( node , parent as any )
130
130
131
131
expect ( getVar ( ) . isUseCSSVarsEnter ) . toBe ( false )
132
132
} )
133
133
134
134
test ( 'does not set isUseCSSVarsEnter to true when called with _useCssVars identifier and a non-CallExpression parent' , ( ) => {
135
- node . type = 'Identifier' ;
136
- ( node as any ) . name = '_useCssVars'
137
- parent . type = 'Identifier'
135
+ ( node as Identifier ) . type = 'Identifier' ;
136
+ ( node as Identifier ) . name = '_useCssVars' ;
137
+ ( parent as Identifier ) . type = 'Identifier'
138
138
139
139
parseUseCSSVars ( node , parent as any )
140
140
141
141
expect ( getVar ( ) . isUseCSSVarsEnter ) . toBe ( false )
142
142
} )
143
143
144
144
test ( 'does not set isUseCSSVarsEnter to true when called with _useCssVars identifier and no parent' , ( ) => {
145
- node . type = 'Identifier' ;
145
+ ( node as Identifier ) . type = 'Identifier' ;
146
146
( node as any ) . name = '_useCssVars'
147
147
148
148
parseUseCSSVars ( node , undefined ! )
@@ -151,26 +151,25 @@ describe('parseUseCSSVars function', () => {
151
151
} )
152
152
153
153
test ( 'sets useCSSVarsNode to the node when isUseCSSVarsEnter is true and node is an ObjectExpression' , ( ) => {
154
- setVar ( 'isUseCSSVarsEnter' , true )
155
- node . type = 'ObjectExpression'
156
-
154
+ setVar ( 'isUseCSSVarsEnter' , true ) ;
155
+ ( node as ObjectExpression ) . type = 'ObjectExpression'
157
156
parseUseCSSVars ( node , parent as any )
158
157
159
158
expect ( getVar ( ) . useCSSVarsNode ) . toBe ( node )
160
159
} )
161
160
162
161
test ( 'does not set useCSSVarsNode when isUseCSSVarsEnter is true and node is not an ObjectExpression' , ( ) => {
163
- setVar ( 'isUseCSSVarsEnter' , true )
164
- node . type = 'Identifier'
162
+ setVar ( 'isUseCSSVarsEnter' , true ) ;
163
+ ( node as Identifier ) . type = 'Identifier'
165
164
166
165
parseUseCSSVars ( node , parent as any )
167
166
168
167
expect ( getVar ( ) . useCSSVarsNode ) . not . toBe ( node )
169
168
} )
170
169
171
170
test ( 'does not set useCSSVarsNode when isUseCSSVarsEnter is false and node is an ObjectExpression' , ( ) => {
172
- setVar ( 'isUseCSSVarsEnter' , false )
173
- node . type = 'ObjectExpression'
171
+ setVar ( 'isUseCSSVarsEnter' , false ) ;
172
+ ( node as ObjectExpression ) . type = 'ObjectExpression'
174
173
175
174
parseUseCSSVars ( node , parent as any )
176
175
0 commit comments