@@ -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 ) ;
@@ -132,8 +126,7 @@ describe('auto-prefixer for ', () => {
132
126
it ( 'should apply a prefix' , ( ) => {
133
127
let input = { "order" : "1" } ;
134
128
let expected = extendObject ( { } , input , {
135
- "-ms-flex-order" : "1" ,
136
- "-webkit-box-ordinal-group" : "2"
129
+ '-webkit-order' : '1'
137
130
} ) ;
138
131
let actual = applyCssPrefixes ( input ) ;
139
132
checkCssPrefix ( "order" , actual , expected ) ;
@@ -143,8 +136,7 @@ describe('auto-prefixer for ', () => {
143
136
let input = { "order" : "invalid" } ;
144
137
let expected = extendObject ( { } , input , {
145
138
"order" : "0" ,
146
- "-ms-flex-order" : "0" ,
147
- "-webkit-box-ordinal-group" : "1"
139
+ '-webkit-order' : "0"
148
140
} ) ;
149
141
let actual = applyCssPrefixes ( input ) ;
150
142
checkCssPrefix ( "order" , actual , expected ) ;
@@ -161,8 +153,7 @@ describe('auto-prefixer for ', () => {
161
153
it ( 'should apply a prefix' , ( ) => {
162
154
let input = { "justify-content" : "flex-start" } ;
163
155
let expected = extendObject ( { } , input , {
164
- "-ms-flex-pack" : "start" ,
165
- "-webkit-box-pack" : "start"
156
+ "-webkit-justify-content" : "flex-start"
166
157
} ) ;
167
158
let actual = applyCssPrefixes ( input ) ;
168
159
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -171,8 +162,7 @@ describe('auto-prefixer for ', () => {
171
162
it ( 'should apply a prefix' , ( ) => {
172
163
let input = { "justify-content" : "flex-end" } ;
173
164
let expected = extendObject ( { } , input , {
174
- "-ms-flex-pack" : "end" ,
175
- "-webkit-box-pack" : "end"
165
+ "-webkit-justify-content" : "flex-end"
176
166
} ) ;
177
167
let actual = applyCssPrefixes ( input ) ;
178
168
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -181,8 +171,7 @@ describe('auto-prefixer for ', () => {
181
171
it ( 'should apply a prefix' , ( ) => {
182
172
let input = { "justify-content" : "center" } ;
183
173
let expected = extendObject ( { } , input , {
184
- "-ms-flex-pack" : "center" ,
185
- "-webkit-box-pack" : "center"
174
+ "-webkit-justify-content" : "center"
186
175
} ) ;
187
176
let actual = applyCssPrefixes ( input ) ;
188
177
checkCssPrefix ( "justify-content" , actual , expected ) ;
@@ -197,8 +186,7 @@ describe('auto-prefixer for ', () => {
197
186
it ( 'should apply a prefix' , ( ) => {
198
187
let input = { "align-items" : "flex-start" } ;
199
188
let expected = extendObject ( { } , input , {
200
- "-ms-flex-align" : "start" ,
201
- "-webkit-box-align" : "start"
189
+ "-webkit-align-items" : "flex-start"
202
190
} ) ;
203
191
let actual = applyCssPrefixes ( input ) ;
204
192
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -207,8 +195,7 @@ describe('auto-prefixer for ', () => {
207
195
it ( 'should apply a prefix' , ( ) => {
208
196
let input = { "align-items" : "flex-end" } ;
209
197
let expected = extendObject ( { } , input , {
210
- "-ms-flex-align" : "end" ,
211
- "-webkit-box-align" : "end"
198
+ "-webkit-align-items" : "flex-end"
212
199
} ) ;
213
200
let actual = applyCssPrefixes ( input ) ;
214
201
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -217,8 +204,7 @@ describe('auto-prefixer for ', () => {
217
204
it ( 'should apply a prefix' , ( ) => {
218
205
let input = { "align-items" : "center" } ;
219
206
let expected = extendObject ( { } , input , {
220
- "-ms-flex-align" : "center" ,
221
- "-webkit-box-align" : "center"
207
+ "-webkit-align-items" : "center"
222
208
} ) ;
223
209
let actual = applyCssPrefixes ( input ) ;
224
210
checkCssPrefix ( "align-items" , actual , expected ) ;
@@ -236,7 +222,7 @@ describe('auto-prefixer for ', () => {
236
222
it ( 'should apply a prefix' , ( ) => {
237
223
let input = { "align-self" : "flex-start" } ;
238
224
let expected = extendObject ( { } , input , {
239
- "-ms-flex-item- align" : " start"
225
+ '-webkit- align-self' : 'flex- start'
240
226
} ) ;
241
227
let actual = applyCssPrefixes ( input ) ;
242
228
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -245,7 +231,7 @@ describe('auto-prefixer for ', () => {
245
231
it ( 'should apply a prefix' , ( ) => {
246
232
let input = { "align-self" : "flex-end" } ;
247
233
let expected = extendObject ( { } , input , {
248
- "-ms-flex-item- align" : " end"
234
+ '-webkit- align-self' : 'flex- end'
249
235
} ) ;
250
236
let actual = applyCssPrefixes ( input ) ;
251
237
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -254,7 +240,7 @@ describe('auto-prefixer for ', () => {
254
240
it ( 'should apply a prefix' , ( ) => {
255
241
let input = { "align-self" : "center" } ;
256
242
let expected = extendObject ( { } , input , {
257
- "-ms-flex-item- align" : " center"
243
+ '-webkit- align-self' : ' center'
258
244
} ) ;
259
245
let actual = applyCssPrefixes ( input ) ;
260
246
checkCssPrefix ( "align-self" , actual , expected ) ;
@@ -270,7 +256,7 @@ describe('auto-prefixer for ', () => {
270
256
it ( 'should apply a prefix' , ( ) => {
271
257
let input = { "align-content" : "flex-start" } ;
272
258
let expected = extendObject ( { } , input , {
273
- "-ms-flex-line-pack" : " start"
259
+ '-webkit-align-content' : 'flex- start'
274
260
} ) ;
275
261
let actual = applyCssPrefixes ( input ) ;
276
262
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -279,7 +265,7 @@ describe('auto-prefixer for ', () => {
279
265
it ( 'should apply a prefix' , ( ) => {
280
266
let input = { "align-content" : "flex-end" } ;
281
267
let expected = extendObject ( { } , input , {
282
- "-ms-flex-line-pack" : " end"
268
+ '-webkit-align-content' : 'flex- end'
283
269
} ) ;
284
270
let actual = applyCssPrefixes ( input ) ;
285
271
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -288,7 +274,7 @@ describe('auto-prefixer for ', () => {
288
274
it ( 'should apply a prefix' , ( ) => {
289
275
let input = { "align-content" : "center" } ;
290
276
let expected = extendObject ( { } , input , {
291
- "-ms-flex-line-pack" : " center"
277
+ '-webkit-align-content' : ' center'
292
278
} ) ;
293
279
let actual = applyCssPrefixes ( input ) ;
294
280
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -297,7 +283,7 @@ describe('auto-prefixer for ', () => {
297
283
it ( 'should apply a prefix' , ( ) => {
298
284
let input = { "align-content" : "stretch" } ;
299
285
let expected = extendObject ( { } , input , {
300
- "-ms-flex-line-pack" : " stretch"
286
+ '-webkit-align-content' : ' stretch'
301
287
} ) ;
302
288
let actual = applyCssPrefixes ( input ) ;
303
289
checkCssPrefix ( "align-content" , actual , expected ) ;
@@ -310,50 +296,26 @@ describe('auto-prefixer for ', () => {
310
296
/**
311
297
* Internal checks to `expect().toEqual()`
312
298
*/
313
- function checkCssPrefix ( iKey , actual , expected ) {
314
- expect ( actual [ iKey ] ) . toEqual ( expected [ iKey ] ) ;
315
- switch ( iKey ) {
299
+ function checkCssPrefix ( key , actual , expected ) {
300
+ expect ( actual [ key ] ) . toEqual ( expected [ key ] ) ;
301
+ switch ( key ) {
316
302
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 ] ) ;
322
- break ;
323
-
324
- 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
- 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
-
339
- 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' ] ) ;
303
+ expect ( actual [ 'display' ] ) . toEqual ( expected [ key ] ) ;
342
304
break ;
343
305
344
306
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
307
case 'align-self' :
350
- expect ( actual [ '-ms-flex-item-align' ] ) . toEqual ( expected [ '-ms-flex-item-align' ] ) ;
351
- break ;
352
-
353
308
case 'align-content' :
354
- expect ( actual [ '-ms-flex-line-pack' ] ) . toEqual ( expected [ '-ms-flex-line-pack' ] ) ;
309
+ case 'flex' :
310
+ case 'flex-direction' :
311
+ case 'flex-wrap' :
312
+ case 'flex-grow' :
313
+ case 'flex-shrink' :
314
+ case 'flex-basis' :
315
+ case 'flex-flow' :
316
+ case 'justify-content' :
317
+ case 'order' :
318
+ expect ( actual [ key ] ) . toEqual ( expected [ '-webkit-' + key ] ) ;
355
319
break ;
356
-
357
-
358
320
}
359
321
}
0 commit comments