1
1
import { normalizeClass , parseStringStyle } from '../src'
2
2
3
3
describe ( 'normalizeClass' , ( ) => {
4
+ test ( 'handles undefined correctly' , ( ) => {
5
+ expect ( normalizeClass ( undefined ) ) . toEqual ( '' )
6
+ } )
7
+
4
8
test ( 'handles string correctly' , ( ) => {
5
9
expect ( normalizeClass ( 'foo' ) ) . toEqual ( 'foo' )
6
10
} )
@@ -11,12 +15,56 @@ describe('normalizeClass', () => {
11
15
)
12
16
} )
13
17
18
+ test ( 'handles empty array correctly' , ( ) => {
19
+ expect ( normalizeClass ( [ ] ) ) . toEqual ( '' )
20
+ } )
21
+
22
+ test ( 'handles nested array correctly' , ( ) => {
23
+ expect ( normalizeClass ( [ 'foo' , [ 'bar' ] , [ [ 'baz' ] ] ] ) ) . toEqual ( 'foo bar baz' )
24
+ } )
25
+
14
26
test ( 'handles object correctly' , ( ) => {
15
27
expect ( normalizeClass ( { foo : true , bar : false , baz : true } ) ) . toEqual (
16
28
'foo baz'
17
29
)
18
30
} )
19
31
32
+ test ( 'handles empty object correctly' , ( ) => {
33
+ expect ( normalizeClass ( { } ) ) . toEqual ( '' )
34
+ } )
35
+
36
+ test ( 'handles arrays and objects correctly' , ( ) => {
37
+ expect (
38
+ normalizeClass ( [ 'foo' , [ 'bar' ] , { baz : true } , [ { qux : true } ] ] )
39
+ ) . toEqual ( 'foo bar baz qux' )
40
+ } )
41
+
42
+ test ( 'handles array of objects with falsy values' , ( ) => {
43
+ expect (
44
+ normalizeClass ( [
45
+ { foo : false } ,
46
+ { bar : 0 } ,
47
+ { baz : - 0 } ,
48
+ { qux : '' } ,
49
+ { quux : null } ,
50
+ { corge : undefined } ,
51
+ { grault : NaN }
52
+ ] )
53
+ ) . toEqual ( '' )
54
+ } )
55
+
56
+ test ( 'handles array of objects with truthy values' , ( ) => {
57
+ expect (
58
+ normalizeClass ( [
59
+ { foo : true } ,
60
+ { bar : 'not-empty' } ,
61
+ { baz : 1 } ,
62
+ { qux : { } } ,
63
+ { quux : [ ] }
64
+ ] )
65
+ ) . toEqual ( 'foo bar baz qux quux' )
66
+ } )
67
+
20
68
// #6777
21
69
test ( 'parse multi-line inline style' , ( ) => {
22
70
expect (
0 commit comments