@@ -76,13 +76,21 @@ describe('flex directive', () => {
76
76
expectEl ( dom ) . toHaveStyle ( { 'box-sizing' : 'border-box' } , styler ) ;
77
77
78
78
if ( platform . BLINK ) {
79
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 1 1e-09px' } , styler ) ;
79
+ expectEl ( dom ) . toHaveStyle ( {
80
+ 'flex' : '1 1 1e-09px'
81
+ } , styler ) ;
80
82
} else if ( platform . FIREFOX ) {
81
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 1 1e-9px' } , styler ) ;
83
+ expectEl ( dom ) . toHaveStyle ( {
84
+ 'flex' : '1 1 1e-9px'
85
+ } , styler ) ;
82
86
} else if ( platform . EDGE || platform . TRIDENT ) {
83
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 1 0px' } , styler ) ;
87
+ expectEl ( dom ) . toHaveStyle ( {
88
+ 'flex' : '1 1 0px'
89
+ } , styler ) ;
84
90
} else {
85
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 1 0.000000001px' } , styler ) ;
91
+ expectEl ( dom ) . toHaveStyle ( {
92
+ 'flex' : '1 1 0.000000001px'
93
+ } , styler ) ;
86
94
}
87
95
} ) ;
88
96
@@ -95,13 +103,21 @@ describe('flex directive', () => {
95
103
expectEl ( dom ) . toHaveStyle ( { 'box-sizing' : 'border-box' } , styler ) ;
96
104
97
105
if ( platform . BLINK ) {
98
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '10 1 1e-09px' } , styler ) ;
106
+ expectEl ( dom ) . toHaveStyle ( {
107
+ 'flex' : '10 1 1e-09px'
108
+ } , styler ) ;
99
109
} else if ( platform . FIREFOX ) {
100
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '10 1 1e-9px' } , styler ) ;
110
+ expectEl ( dom ) . toHaveStyle ( {
111
+ 'flex' : '10 1 1e-9px'
112
+ } , styler ) ;
101
113
} else if ( platform . EDGE || platform . TRIDENT ) {
102
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '10 1 0px' } , styler ) ;
114
+ expectEl ( dom ) . toHaveStyle ( {
115
+ 'flex' : '10 1 0px'
116
+ } , styler ) ;
103
117
} else {
104
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '10 1 0.000000001px' } , styler ) ;
118
+ expectEl ( dom ) . toHaveStyle ( {
119
+ 'flex' : '10 1 0.000000001px'
120
+ } , styler ) ;
105
121
}
106
122
} ) ;
107
123
@@ -114,13 +130,21 @@ describe('flex directive', () => {
114
130
expectEl ( dom ) . toHaveStyle ( { 'box-sizing' : 'border-box' } , styler ) ;
115
131
116
132
if ( platform . BLINK ) {
117
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 10 1e-09px' } , styler ) ;
133
+ expectEl ( dom ) . toHaveStyle ( {
134
+ 'flex' : '1 10 1e-09px'
135
+ } , styler ) ;
118
136
} else if ( platform . FIREFOX ) {
119
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 10 1e-9px' } , styler ) ;
137
+ expectEl ( dom ) . toHaveStyle ( {
138
+ 'flex' : '1 10 1e-9px'
139
+ } , styler ) ;
120
140
} else if ( platform . EDGE || platform . TRIDENT ) {
121
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 10 0px' } , styler ) ;
141
+ expectEl ( dom ) . toHaveStyle ( {
142
+ 'flex' : '1 10 0px'
143
+ } , styler ) ;
122
144
} else {
123
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '1 10 0.000000001px' } , styler ) ;
145
+ expectEl ( dom ) . toHaveStyle ( {
146
+ 'flex' : '1 10 0.000000001px'
147
+ } , styler ) ;
124
148
}
125
149
} ) ;
126
150
@@ -132,17 +156,67 @@ describe('flex directive', () => {
132
156
expectEl ( dom ) . toHaveStyle ( { 'box-sizing' : 'border-box' } , styler ) ;
133
157
134
158
if ( platform . BLINK ) {
135
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '4 5 1e-09px' } , styler ) ;
159
+ expectEl ( dom ) . toHaveStyle ( {
160
+ 'flex' : '4 5 1e-09px'
161
+ } , styler ) ;
136
162
} else if ( platform . FIREFOX ) {
137
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '4 5 1e-9px' } , styler ) ;
163
+ expectEl ( dom ) . toHaveStyle ( {
164
+ 'flex' : '4 5 1e-9px'
165
+ } , styler ) ;
138
166
} else if ( platform . EDGE || platform . TRIDENT ) {
139
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '4 5 0px' } , styler ) ;
167
+ expectEl ( dom ) . toHaveStyle ( {
168
+ 'flex' : '4 5 0px'
169
+ } , styler ) ;
140
170
} else {
141
- expectEl ( dom ) . toHaveStyle ( { 'flex' : '4 5 0.000000001px' } , styler ) ;
171
+ expectEl ( dom ) . toHaveStyle ( {
172
+ 'flex' : '4 5 0.000000001px'
173
+ } , styler ) ;
142
174
}
143
175
} ) ;
144
176
145
- it ( 'should add correct styles for `fxFlex="0%"` usage' , ( ) => {
177
+ it ( 'should add correct styles for flex-basis unitless 0 input' , ( ) => {
178
+ componentWithTemplate ( `<div fxFlex="1 1 0"></div>` ) ;
179
+
180
+ fixture . detectChanges ( ) ;
181
+ expectNativeEl ( fixture ) . toHaveStyle ( {
182
+ 'flex' : '1 1 0%' ,
183
+ 'box-sizing' : 'border-box' ,
184
+ } , styler ) ;
185
+
186
+ expectNativeEl ( fixture ) . not . toHaveStyle ( {
187
+ 'max-width' : '*'
188
+ } , styler ) ;
189
+ } ) ;
190
+
191
+ it ( 'should add correct styles for flex-basis 0px input' , ( ) => {
192
+ componentWithTemplate ( `<div fxFlex="1 1 0px"></div>` ) ;
193
+
194
+ fixture . detectChanges ( ) ;
195
+ expectNativeEl ( fixture ) . toHaveStyle ( {
196
+ 'flex' : '1 1 0%' ,
197
+ 'box-sizing' : 'border-box' ,
198
+ } , styler ) ;
199
+
200
+ expectNativeEl ( fixture ) . not . toHaveStyle ( {
201
+ 'max-width' : '*'
202
+ } , styler ) ;
203
+ } ) ;
204
+
205
+ it ( 'should add correct styles for noshrink with basis' , ( ) => {
206
+ componentWithTemplate ( `<div fxFlex="1 0 50%"></div>` ) ;
207
+
208
+ fixture . detectChanges ( ) ;
209
+ expectNativeEl ( fixture ) . toHaveStyle ( {
210
+ 'flex' : '1 0 50%' ,
211
+ 'box-sizing' : 'border-box' ,
212
+ } , styler ) ;
213
+
214
+ expectNativeEl ( fixture ) . not . toHaveStyle ( {
215
+ 'max-width' : '*'
216
+ } , styler ) ;
217
+ } ) ;
218
+
219
+ it ( 'should add correct styles for `fxFlex="2%"` usage' , ( ) => {
146
220
componentWithTemplate ( `<div fxFlex='2%'></div>` ) ;
147
221
148
222
fixture . detectChanges ( ) ;
@@ -282,7 +356,9 @@ describe('flex directive', () => {
282
356
if ( ! ( platform . FIREFOX || platform . TRIDENT ) ) {
283
357
expectNativeEl ( fixture ) . toHaveStyle ( {
284
358
'box-sizing' : 'border-box' ,
285
- 'flex' : '1 1 calc(30vw - 10px)'
359
+ 'flex-grow' : '1' ,
360
+ 'flex-shrink' : '1' ,
361
+ 'flex-basis' : 'calc(30vw - 10px)'
286
362
} , styler ) ;
287
363
}
288
364
} ) ;
@@ -295,7 +371,9 @@ describe('flex directive', () => {
295
371
setTimeout ( ( ) => {
296
372
expectNativeEl ( fixture ) . toHaveStyle ( {
297
373
'box-sizing' : 'border-box' ,
298
- 'flex' : '1 1 calc(75% - 10px)' // correct version has whitespace
374
+ 'flex-grow' : '1' ,
375
+ 'flex-shrink' : '1' ,
376
+ 'flex-basis' : 'calc(75% - 10px)' // correct version has whitespace
299
377
} , styler ) ;
300
378
} ) ;
301
379
}
@@ -492,26 +570,47 @@ describe('flex directive', () => {
492
570
493
571
let nodes = queryFor ( fixture , '[fxFlex]' ) ;
494
572
expect ( nodes . length ) . toEqual ( 3 ) ;
495
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
496
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
497
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
573
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
574
+ 'flex' : '1 1 auto'
575
+ } , styler ) ;
576
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
577
+ 'flex' : '1 1 auto'
578
+ } , styler ) ;
579
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
580
+ 'flex' : '1 1 auto'
581
+ } , styler ) ;
498
582
499
583
matchMedia . activate ( 'xl' ) ;
500
584
fixture . detectChanges ( ) ;
501
585
502
586
nodes = queryFor ( fixture , '[fxFlex]' ) ;
503
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '50%' } , styler ) ;
504
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '24.4%' } , styler ) ;
505
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '25.6%' } , styler ) ;
587
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
588
+ 'flex' : '1 1 100%' ,
589
+ 'max-height' : '50%'
590
+ } , styler ) ;
591
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
592
+ 'flex' : '1 1 100%' ,
593
+ 'max-height' : '24.4%'
594
+ } , styler ) ;
595
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
596
+ 'flex' : '1 1 100%' ,
597
+ 'max-height' : '25.6%'
598
+ } , styler ) ;
506
599
507
600
matchMedia . activate ( 'sm' ) ;
508
601
fixture . detectChanges ( ) ;
509
602
510
603
nodes = queryFor ( fixture , '[fxFlex]' ) ;
511
604
expect ( nodes . length ) . toEqual ( 3 ) ;
512
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
513
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
514
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
605
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
606
+ 'flex' : '1 1 auto'
607
+ } , styler ) ;
608
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
609
+ 'flex' : '1 1 auto'
610
+ } , styler ) ;
611
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
612
+ 'flex' : '1 1 auto'
613
+ } , styler ) ;
515
614
516
615
expectEl ( nodes [ 0 ] ) . not . toHaveStyle ( { 'max-height' : '50%' } , styler ) ;
517
616
expectEl ( nodes [ 1 ] ) . not . toHaveStyle ( { 'max-height' : '24.4%' } , styler ) ;
@@ -535,25 +634,46 @@ describe('flex directive', () => {
535
634
let nodes = queryFor ( fixture , '[fxFlex]' ) ;
536
635
537
636
expect ( nodes . length ) . toEqual ( 3 ) ;
538
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
539
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
540
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
637
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
638
+ 'flex' : '1 1 auto'
639
+ } , styler ) ;
640
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
641
+ 'flex' : '1 1 auto'
642
+ } , styler ) ;
643
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
644
+ 'flex' : '1 1 auto'
645
+ } , styler ) ;
541
646
542
647
matchMedia . activate ( 'sm' ) ;
543
648
fixture . detectChanges ( ) ;
544
649
nodes = queryFor ( fixture , '[fxFlex]' ) ;
545
650
546
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
547
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
548
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
651
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
652
+ 'flex' : '1 1 auto'
653
+ } , styler ) ;
654
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
655
+ 'flex' : '1 1 auto'
656
+ } , styler ) ;
657
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
658
+ 'flex' : '1 1 auto'
659
+ } , styler ) ;
549
660
550
661
matchMedia . activate ( 'lg' , true ) ;
551
662
fixture . detectChanges ( ) ;
552
663
nodes = queryFor ( fixture , '[fxFlex]' ) ;
553
664
554
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '50%' } , styler ) ;
555
- expectEl ( nodes [ 1 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '24.4%' } , styler ) ;
556
- expectEl ( nodes [ 2 ] ) . toHaveStyle ( { 'flex' : '1 1 100%' , 'max-height' : '25.6%' } , styler ) ;
665
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
666
+ 'flex' : '1 1 100%' ,
667
+ 'max-height' : '50%'
668
+ } , styler ) ;
669
+ expectEl ( nodes [ 1 ] ) . toHaveStyle ( {
670
+ 'flex' : '1 1 100%' ,
671
+ 'max-height' : '24.4%'
672
+ } , styler ) ;
673
+ expectEl ( nodes [ 2 ] ) . toHaveStyle ( {
674
+ 'flex' : '1 1 100%' ,
675
+ 'max-height' : '25.6%'
676
+ } , styler ) ;
557
677
} ) ;
558
678
559
679
it ( 'should fallback to the default layout from lt-md selectors' , ( ) => {
@@ -568,7 +688,9 @@ describe('flex directive', () => {
568
688
let nodes = queryFor ( fixture , '[fxFlex]' ) ;
569
689
570
690
expect ( nodes . length ) . toEqual ( 1 ) ;
571
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
691
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
692
+ 'flex' : '1 1 auto'
693
+ } , styler ) ;
572
694
573
695
matchMedia . activate ( 'sm' , true ) ;
574
696
fixture . detectChanges ( ) ;
@@ -583,7 +705,9 @@ describe('flex directive', () => {
583
705
fixture . detectChanges ( ) ;
584
706
nodes = queryFor ( fixture , '[fxFlex]' ) ;
585
707
586
- expectEl ( nodes [ 0 ] ) . toHaveStyle ( { 'flex' : '1 1 auto' } , styler ) ;
708
+ expectEl ( nodes [ 0 ] ) . toHaveStyle ( {
709
+ 'flex' : '1 1 auto'
710
+ } , styler ) ;
587
711
} ) ;
588
712
} ) ;
589
713
0 commit comments