@@ -248,29 +248,46 @@ describe('getRegisteredComponents', () => {
248
248
} )
249
249
} )
250
250
251
- describe ( 'getComputedProperties ' , ( ) => {
252
- let node
251
+ describe ( 'getComponentProps ' , ( ) => {
252
+ let props
253
253
254
254
const parse = function ( code ) {
255
255
const data = babelEslint . parse ( code ) . body [ 0 ] . declarations [ 0 ] . init
256
- return utils . getPropsProperties ( data )
256
+ return utils . getComponentProps ( data )
257
257
}
258
258
259
259
it ( 'should return empty array when there is no props property' , ( ) => {
260
- node = parse ( `const test = {
260
+ props = parse ( `const test = {
261
261
name: 'test',
262
262
data() {
263
263
return {}
264
264
}
265
265
}` )
266
266
267
- assert . notOk ( node . type )
268
- assert . notOk ( node . node )
269
- assert . equal ( node . props . length , 0 )
267
+ assert . equal ( props . length , 0 )
268
+ } )
269
+
270
+ it ( 'should return empty array when props property is empty array' , ( ) => {
271
+ props = parse ( `const test = {
272
+ name: 'test',
273
+ props: []
274
+ }` )
275
+
276
+ assert . equal ( props . length , 0 )
277
+ } )
278
+
279
+
280
+ it ( 'should return empty array when props property is empty object array' , ( ) => {
281
+ props = parse ( `const test = {
282
+ name: 'test',
283
+ props: {}
284
+ }` )
285
+
286
+ assert . equal ( props . length , 0 )
270
287
} )
271
288
272
289
it ( 'should return computed props' , ( ) => {
273
- node = parse ( `const test = {
290
+ props = parse ( `const test = {
274
291
name: 'test',
275
292
data() {
276
293
return {}
@@ -284,44 +301,50 @@ describe('getComputedProperties', () => {
284
301
}
285
302
}` )
286
303
287
- assert . ok ( node . node )
288
- assert . equal ( node . type , 'ObjectExpression' , 'it detects correct type' )
289
- assert . equal ( node . props . length , 4 , 'it detects all props' )
304
+ assert . equal ( props . length , 4 , 'it detects all props' )
290
305
291
- assert . ok ( node . props [ 0 ] . value )
292
- assert . ok ( node . props [ 0 ] . key . type === 'Identifier' )
293
- assert . ok ( node . props [ 0 ] . node . type === 'Property' )
294
- assert . ok ( node . props [ 0 ] . value . type === 'Identifier' )
306
+ assert . ok ( props [ 0 ] . key . type === 'Identifier' )
307
+ assert . ok ( props [ 0 ] . node . type === 'Property' )
308
+ assert . ok ( props [ 0 ] . value . type === 'Identifier' )
295
309
296
- assert . ok ( node . props [ 1 ] . value )
297
- assert . ok ( node . props [ 1 ] . key . type === 'Identifier' )
298
- assert . ok ( node . props [ 1 ] . node . type === 'Property' )
299
- assert . ok ( node . props [ 1 ] . value . type === 'ObjectExpression' )
310
+ assert . ok ( props [ 1 ] . key . type === 'Identifier' )
311
+ assert . ok ( props [ 1 ] . node . type === 'Property' )
312
+ assert . ok ( props [ 1 ] . value . type === 'ObjectExpression' )
300
313
301
- assert . ok ( node . props [ 2 ] . value )
302
- assert . ok ( node . props [ 2 ] . key . type === 'Identifier' )
303
- assert . ok ( node . props [ 2 ] . node . type === 'Property' )
304
- assert . ok ( node . props [ 2 ] . value . type === 'ArrayExpression' )
314
+ assert . ok ( props [ 2 ] . key . type === 'Identifier' )
315
+ assert . ok ( props [ 2 ] . node . type === 'Property' )
316
+ assert . ok ( props [ 2 ] . value . type === 'ArrayExpression' )
305
317
306
- assert . ok ( node . props [ 3 ] . value )
307
- assert . ok ( node . props [ 3 ] . key . type === node . props [ 3 ] . value . type )
308
- assert . ok ( node . props [ 3 ] . node . type === 'Property ' )
318
+ assert . ok ( props [ 3 ] . key . type === props [ 3 ] . value . type )
319
+ assert . ok ( props [ 3 ] . node . type === 'Property' )
320
+ assert . ok ( props [ 3 ] . value . type === 'Identifier ' )
309
321
} )
310
322
311
323
it ( 'should return computed from array props' , ( ) => {
312
- node = parse ( `const test = {
324
+ props = parse ( `const test = {
313
325
name: 'test',
314
326
data() {
315
327
return {}
316
328
},
317
329
props: ['a', b, \`c\`, null]
318
330
}` )
319
331
320
- assert . ok ( node . node )
321
- assert . equal ( node . type , 'ArrayExpression' , 'it detects correct type' )
322
- assert . equal ( node . props . length , 1 , 'it detects all props' )
332
+ assert . equal ( props . length , 4 , 'it detects all props' )
333
+
334
+ assert . ok ( props [ 0 ] . node . type === 'Literal' )
335
+ assert . deepEqual ( props [ 0 ] . key , props [ 0 ] . node )
336
+ assert . notOk ( props [ 0 ] . value )
337
+
338
+ assert . ok ( props [ 1 ] . node . type === 'Identifier' )
339
+ assert . notOk ( props [ 1 ] . key )
340
+ assert . notOk ( props [ 1 ] . value )
341
+
342
+ assert . ok ( props [ 2 ] . node . type === 'TemplateLiteral' )
343
+ assert . notOk ( props [ 2 ] . key )
344
+ assert . notOk ( props [ 2 ] . value )
323
345
324
- assert . notOk ( node . props [ 0 ] . value )
325
- assert . ok ( node . props [ 0 ] . key . type === 'Literal' )
346
+ assert . ok ( props [ 3 ] . node . type === 'Literal' )
347
+ assert . notOk ( props [ 3 ] . key )
348
+ assert . notOk ( props [ 3 ] . value )
326
349
} )
327
350
} )
0 commit comments