@@ -25,10 +25,14 @@ describe('auto-prefixer for ', () => {
25
25
it ( 'should apply prefixes for display' , ( ) => {
26
26
let input = { "display" : "flex" } ;
27
27
let actual = applyCssPrefixes ( input ) ;
28
+
28
29
expect ( Array . isArray ( actual [ 'display' ] ) ) . toBeTruthy ( ) ;
29
- expect ( actual [ 'display' ] [ 0 ] ) . toEqual ( '-webkit-box' ) ;
30
- expect ( actual [ 'display' ] [ 4 ] ) . toEqual ( 'flex' ) ;
30
+
31
+ // `display:flex` should be last
32
+ expect ( actual [ 'display' ] [ 0 ] ) . toEqual ( '-webkit-flex' ) ;
33
+ expect ( actual [ 'display' ] [ 1 ] ) . toEqual ( 'flex' ) ;
31
34
} ) ;
35
+
32
36
} ) ;
33
37
34
38
/**
@@ -39,8 +43,7 @@ describe('auto-prefixer for ', () => {
39
43
it ( 'should apply prefixes for single values' , ( ) => {
40
44
let input = { "flex" : "100" } ;
41
45
let expected = extendObject ( { } , input , {
42
- '-ms-flex' : "100" ,
43
- '-webkit-box-flex' : "100"
46
+ '-webkit-flex' : "100"
44
47
} ) ;
45
48
let actual = applyCssPrefixes ( input ) ;
46
49
checkCssPrefix ( "flex" , actual , expected ) ;
@@ -49,8 +52,7 @@ describe('auto-prefixer for ', () => {
49
52
it ( 'should apply prefixes for multiple values' , ( ) => {
50
53
let input = { "flex" : "2 1 50%" } ;
51
54
let expected = extendObject ( { } , input , {
52
- '-ms-flex' : "2 1 50%" ,
53
- '-webkit-box-flex' : "2"
55
+ '-webkit-flex' : "2 1 50%"
54
56
} ) ;
55
57
let actual = applyCssPrefixes ( input ) ;
56
58
checkCssPrefix ( "flex" , actual , expected ) ;
@@ -66,9 +68,7 @@ describe('auto-prefixer for ', () => {
66
68
it ( 'should apply prefixes for value == "row"' , ( ) => {
67
69
let input = { "flex-direction" : "row" } ;
68
70
let expected = extendObject ( { } , input , {
69
- '-ms-flex-direction' : "row" ,
70
- '-webkit-box-orient' : "horizontal" ,
71
- '-webkit-box-direction' : "normal"
71
+ '-webkit-flex-direction' : "row"
72
72
} ) ;
73
73
let actual = applyCssPrefixes ( input ) ;
74
74
checkCssPrefix ( "flex-direction" , actual , expected ) ;
@@ -77,9 +77,7 @@ describe('auto-prefixer for ', () => {
77
77
it ( 'should apply prefixes for value == "row-reverse"' , ( ) => {
78
78
let input = { "flex-direction" : "row-reverse" } ;
79
79
let expected = extendObject ( { } , input , {
80
- '-ms-flex-direction' : "row-reverse" ,
81
- '-webkit-box-orient' : "horizontal" ,
82
- '-webkit-box-direction' : "reverse"
80
+ '-webkit-flex-direction' : "row-reverse"
83
81
} ) ;
84
82
let actual = applyCssPrefixes ( input ) ;
85
83
checkCssPrefix ( "flex-direction" , actual , expected ) ;
@@ -88,9 +86,7 @@ describe('auto-prefixer for ', () => {
88
86
it ( 'should apply prefixes for value == "column"' , ( ) => {
89
87
let input = { "flex-direction" : "column" } ;
90
88
let expected = extendObject ( { } , input , {
91
- '-ms-flex-direction' : "column" ,
92
- '-webkit-box-orient' : "vertical" ,
93
- '-webkit-box-direction' : "normal"
89
+ '-webkit-flex-direction' : "column"
94
90
} ) ;
95
91
let actual = applyCssPrefixes ( input ) ;
96
92
checkCssPrefix ( "flex-direction" , actual , expected ) ;
@@ -99,9 +95,7 @@ describe('auto-prefixer for ', () => {
99
95
it ( 'should apply prefixes for value == "column-reverse"' , ( ) => {
100
96
let input = { "flex-direction" : "column-reverse" } ;
101
97
let expected = extendObject ( { } , input , {
102
- '-ms-flex-direction' : "column-reverse" ,
103
- '-webkit-box-orient' : "vertical" ,
104
- '-webkit-box-direction' : "reverse"
98
+ '-webkit-flex-direction' : "column-reverse"
105
99
} ) ;
106
100
let actual = applyCssPrefixes ( input ) ;
107
101
checkCssPrefix ( "flex-direction" , actual , expected ) ;
@@ -117,7 +111,7 @@ describe('auto-prefixer for ', () => {
117
111
it ( 'should apply a prefix' , ( ) => {
118
112
let input = { "flex-wrap" : "nowrap" } ;
119
113
let expected = extendObject ( { } , input , {
120
- "-ms -flex-wrap" : " nowrap"
114
+ '-webkit -flex-wrap' : ' nowrap'
121
115
} ) ;
122
116
let actual = applyCssPrefixes ( input ) ;
123
117
checkCssPrefix ( "flex-wrap" , actual , expected ) ;
@@ -131,20 +125,15 @@ describe('auto-prefixer for ', () => {
131
125
132
126
it ( 'should apply a prefix' , ( ) => {
133
127
let input = { "order" : "1" } ;
134
- let expected = extendObject ( { } , input , {
135
- "-ms-flex-order" : "1" ,
136
- "-webkit-box-ordinal-group" : "2"
137
- } ) ;
128
+ let expected = extendObject ( { } , input ) ;
138
129
let actual = applyCssPrefixes ( input ) ;
139
130
checkCssPrefix ( "order" , actual , expected ) ;
140
131
} ) ;
141
132
142
133
it ( 'should apply a prefix' , ( ) => {
143
134
let input = { "order" : "invalid" } ;
144
135
let expected = extendObject ( { } , input , {
145
- "order" : "0" ,
146
- "-ms-flex-order" : "0" ,
147
- "-webkit-box-ordinal-group" : "1"
136
+ "order" : "0"
148
137
} ) ;
149
138
let actual = applyCssPrefixes ( input ) ;
150
139
checkCssPrefix ( "order" , actual , expected ) ;
@@ -161,8 +150,7 @@ describe('auto-prefixer for ', () => {
161
150
it ( 'should apply a prefix' , ( ) => {
162
151
let input = { "justify-content" : "flex-start" } ;
163
152
let expected = extendObject ( { } , input , {
164
- "-ms-flex-pack" : "start" ,
165
- "-webkit-box-pack" : "start"
153
+ "-webkit-justify-content" : "flex-start"
166
154
} ) ;
167
155
let actual = applyCssPrefixes ( input ) ;
168
156
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -171,8 +159,7 @@ describe('auto-prefixer for ', () => {
171
159
it ( 'should apply a prefix' , ( ) => {
172
160
let input = { "justify-content" : "flex-end" } ;
173
161
let expected = extendObject ( { } , input , {
174
- "-ms-flex-pack" : "end" ,
175
- "-webkit-box-pack" : "end"
162
+ "-webkit-justify-content" : "flex-end"
176
163
} ) ;
177
164
let actual = applyCssPrefixes ( input ) ;
178
165
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -181,8 +168,7 @@ describe('auto-prefixer for ', () => {
181
168
it ( 'should apply a prefix' , ( ) => {
182
169
let input = { "justify-content" : "center" } ;
183
170
let expected = extendObject ( { } , input , {
184
- "-ms-flex-pack" : "center" ,
185
- "-webkit-box-pack" : "center"
171
+ "-webkit-justify-content" : "center"
186
172
} ) ;
187
173
let actual = applyCssPrefixes ( input ) ;
188
174
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -197,8 +183,7 @@ describe('auto-prefixer for ', () => {
197
183
it ( 'should apply a prefix' , ( ) => {
198
184
let input = { "align-items" : "flex-start" } ;
199
185
let expected = extendObject ( { } , input , {
200
- "-ms-flex-align" : "start" ,
201
- "-webkit-box-align" : "start"
186
+ "-webkit-align-items" : "flex-start"
202
187
} ) ;
203
188
let actual = applyCssPrefixes ( input ) ;
204
189
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -207,8 +192,7 @@ describe('auto-prefixer for ', () => {
207
192
it ( 'should apply a prefix' , ( ) => {
208
193
let input = { "align-items" : "flex-end" } ;
209
194
let expected = extendObject ( { } , input , {
210
- "-ms-flex-align" : "end" ,
211
- "-webkit-box-align" : "end"
195
+ "-webkit-align-items" : "flex-end"
212
196
} ) ;
213
197
let actual = applyCssPrefixes ( input ) ;
214
198
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -217,8 +201,7 @@ describe('auto-prefixer for ', () => {
217
201
it ( 'should apply a prefix' , ( ) => {
218
202
let input = { "align-items" : "center" } ;
219
203
let expected = extendObject ( { } , input , {
220
- "-ms-flex-align" : "center" ,
221
- "-webkit-box-align" : "center"
204
+ "-webkit-align-items" : "center"
222
205
} ) ;
223
206
let actual = applyCssPrefixes ( input ) ;
224
207
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -236,7 +219,7 @@ describe('auto-prefixer for ', () => {
236
219
it ( 'should apply a prefix' , ( ) => {
237
220
let input = { "align-self" : "flex-start" } ;
238
221
let expected = extendObject ( { } , input , {
239
- "-ms-flex-item- align" : " start"
222
+ '-webkit- align-self' : 'flex- start'
240
223
} ) ;
241
224
let actual = applyCssPrefixes ( input ) ;
242
225
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -245,7 +228,7 @@ describe('auto-prefixer for ', () => {
245
228
it ( 'should apply a prefix' , ( ) => {
246
229
let input = { "align-self" : "flex-end" } ;
247
230
let expected = extendObject ( { } , input , {
248
- "-ms-flex-item- align" : " end"
231
+ '-webkit- align-self' : 'flex- end'
249
232
} ) ;
250
233
let actual = applyCssPrefixes ( input ) ;
251
234
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -254,7 +237,7 @@ describe('auto-prefixer for ', () => {
254
237
it ( 'should apply a prefix' , ( ) => {
255
238
let input = { "align-self" : "center" } ;
256
239
let expected = extendObject ( { } , input , {
257
- "-ms-flex-item- align" : " center"
240
+ '-webkit- align-self' : ' center'
258
241
} ) ;
259
242
let actual = applyCssPrefixes ( input ) ;
260
243
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -270,7 +253,7 @@ describe('auto-prefixer for ', () => {
270
253
it ( 'should apply a prefix' , ( ) => {
271
254
let input = { "align-content" : "flex-start" } ;
272
255
let expected = extendObject ( { } , input , {
273
- "-ms-flex-line-pack" : " start"
256
+ '-webkit-align-content' : 'flex- start'
274
257
} ) ;
275
258
let actual = applyCssPrefixes ( input ) ;
276
259
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -279,7 +262,7 @@ describe('auto-prefixer for ', () => {
279
262
it ( 'should apply a prefix' , ( ) => {
280
263
let input = { "align-content" : "flex-end" } ;
281
264
let expected = extendObject ( { } , input , {
282
- "-ms-flex-line-pack" : " end"
265
+ '-webkit-align-content' : 'flex- end'
283
266
} ) ;
284
267
let actual = applyCssPrefixes ( input ) ;
285
268
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -288,7 +271,7 @@ describe('auto-prefixer for ', () => {
288
271
it ( 'should apply a prefix' , ( ) => {
289
272
let input = { "align-content" : "center" } ;
290
273
let expected = extendObject ( { } , input , {
291
- "-ms-flex-line-pack" : " center"
274
+ '-webkit-align-content' : ' center'
292
275
} ) ;
293
276
let actual = applyCssPrefixes ( input ) ;
294
277
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -297,7 +280,7 @@ describe('auto-prefixer for ', () => {
297
280
it ( 'should apply a prefix' , ( ) => {
298
281
let input = { "align-content" : "stretch" } ;
299
282
let expected = extendObject ( { } , input , {
300
- "-ms-flex-line-pack" : " stretch"
283
+ '-webkit-align-content' : ' stretch'
301
284
} ) ;
302
285
let actual = applyCssPrefixes ( input ) ;
303
286
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -310,50 +293,29 @@ describe('auto-prefixer for ', () => {
310
293
/**
311
294
* Internal checks to `expect().toEqual()`
312
295
*/
313
- function checkCssPrefix ( iKey , actual , expected ) {
314
- expect ( actual [ iKey ] ) . toEqual ( expected [ iKey ] ) ;
315
- switch ( iKey ) {
296
+ function checkCssPrefix ( key , actual , expected ) {
297
+ expect ( actual [ key ] ) . toEqual ( expected [ key ] ) ;
298
+ switch ( key ) {
316
299
case 'display' :
317
- expect ( actual [ 'display' ] ) . toEqual ( expected [ iKey ] ) ;
318
- break ;
319
- case 'flex' :
320
- expect ( actual [ '-ms-flex' ] ) . toEqual ( expected [ '-ms-flex' ] ) ;
321
- expect ( actual [ '-webkit-box-flex' ] ) . toEqual ( expected [ '-webkit-box-flex' ] . split ( " " ) [ 0 ] ) ;
300
+ expect ( actual [ 'display' ] ) . toEqual ( expected [ key ] ) ;
322
301
break ;
323
302
303
+ case 'flex' :
324
304
case 'flex-direction' :
325
- expect ( actual [ '-ms-flex-direction' ] ) . toEqual ( expected [ '-ms-flex-direction' ] ) ;
326
- expect ( actual [ '-webkit-box-orient' ] ) . toEqual ( expected [ '-webkit-box-orient' ] ) ;
327
- expect ( actual [ '-webkit-box-direction' ] ) . toEqual ( expected [ '-webkit-box-direction' ] ) ;
328
- break ;
329
-
330
305
case 'flex-wrap' :
331
- expect ( actual [ '-ms-flex-wrap' ] ) . toEqual ( expected [ '-ms-flex-wrap' ] ) ;
332
- break ;
333
-
334
- case 'order' :
335
- expect ( actual [ '-ms-flex-order' ] ) . toEqual ( expected [ '-ms-flex-order' ] ) ;
336
- expect ( actual [ '-webkit-box-ordinal-group' ] ) . toEqual ( expected [ '-webkit-box-ordinal-group' ] ) ;
337
- break ;
338
-
306
+ case 'flex-grow' :
307
+ case 'flex-shrink' :
308
+ case 'flex-basis' :
309
+ case 'flex-flow' :
339
310
case 'justify-content' :
340
- expect ( actual [ '-ms-flex-pack' ] ) . toEqual ( expected [ '-ms-flex-pack' ] ) ;
341
- expect ( actual [ '-webkit-box-pack' ] ) . toEqual ( expected [ '-webkit-box-pack' ] ) ;
342
- break ;
343
-
344
311
case 'align-items' :
345
- expect ( actual [ '-ms-flex-align' ] ) . toEqual ( expected [ '-ms-flex-align' ] ) ;
346
- expect ( actual [ '-webkit-box-align' ] ) . toEqual ( expected [ '-webkit-box-align' ] ) ;
347
- break ;
348
-
349
312
case 'align-self' :
350
- expect ( actual [ '-ms-flex-item-align' ] ) . toEqual ( expected [ '-ms-flex-item-align' ] ) ;
351
- break ;
352
-
353
313
case 'align-content' :
354
- expect ( actual [ '-ms-flex-line-pack' ] ) . toEqual ( expected [ '-ms-flex-line-pack' ] ) ;
314
+ expect ( actual [ key ] ) . toEqual ( expected [ '-webkit-' + key ] ) ;
355
315
break ;
356
316
357
-
317
+ case 'order' :
318
+ expect ( actual [ key ] ) . toEqual ( expected [ key ] ) ;
319
+ break ;
358
320
}
359
321
}
0 commit comments