14
14
15
15
#import < UIKit/UIKit.h>
16
16
#import < XCTest/XCTest.h>
17
+ #import " MDCBadgeAppearance.h"
17
18
18
19
#pragma clang diagnostic push
19
20
#pragma clang diagnostic ignored "-Wprivate-header"
21
+ #import " MDCBottomNavigationBarItem.h"
20
22
#import " MDCBottomNavigationItemView.h"
21
23
#pragma clang diagnostic pop
22
24
23
25
#import " supplemental/MDCBottomNavigationSnapshotTestMutableTraitCollection.h"
24
26
#import " supplemental/MDCBottomNavigationSnapshotTestUtilities.h"
25
27
#import " supplemental/MDCFakeBottomNavigationBar.h"
26
28
#import " MDCAvailability.h"
29
+ #import " MDCBadgeAppearance.h"
27
30
#import " MDCBottomNavigationBar.h"
28
31
#import " MDCRippleTouchController.h"
29
32
#import " MDCRippleView.h"
@@ -401,7 +404,7 @@ - (void)testShadowColorRespondsToDynamicColor {
401
404
402
405
#pragma mark - Badging
403
406
404
- - (void )testCustomBadgeColorsSetAfterItems {
407
+ - (void )testCustomBadgeColorsOverrideDefaultBadgeAppearanceWhenSetAfterBarItems {
405
408
// Given
406
409
self.tabItem1 .badgeValue = @" " ;
407
410
self.tabItem2 .badgeValue = @" Gray on Yellow" ;
@@ -410,15 +413,34 @@ - (void)testCustomBadgeColorsSetAfterItems {
410
413
MDCBottomNavigationBarTestHeightTypical);
411
414
412
415
// When
413
- self.tabItem3 .badgeColor = UIColor.greenColor ;
414
- self.navigationBar .itemBadgeBackgroundColor = UIColor.yellowColor ;
415
- self.navigationBar .itemBadgeTextColor = UIColor.darkGrayColor ;
416
+ MDCBadgeAppearance *greenAppearance = [[MDCBadgeAppearance alloc ] init ];
417
+ greenAppearance.font = [UIFont systemFontOfSize: 8.0 ];
418
+ greenAppearance.backgroundColor = UIColor.greenColor ;
419
+ greenAppearance.textColor = UIColor.darkGrayColor ;
420
+ MDCBottomNavigationBarItem *barItem1 =
421
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem1];
422
+ MDCBottomNavigationBarItem *barItem2 =
423
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem2];
424
+ MDCBottomNavigationBarItem *barItem3 =
425
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem3
426
+ badgeAppearance: greenAppearance];
427
+ MDCBottomNavigationBarItem *barItem4 =
428
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem4];
429
+ MDCBottomNavigationBarItem *barItem5 =
430
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem5];
431
+ self.navigationBar .barItems = @[ barItem1, barItem2, barItem3, barItem4, barItem5 ];
432
+
433
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
434
+ badgeAppearance.font = [UIFont systemFontOfSize: 8.0 ];
435
+ badgeAppearance.backgroundColor = UIColor.yellowColor ;
436
+ badgeAppearance.textColor = UIColor.darkGrayColor ;
437
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
416
438
417
439
// Then
418
440
[self generateAndVerifySnapshot ];
419
441
}
420
442
421
- - (void )testCustomBadgeColorsSetBeforeItems {
443
+ - (void )testCustomBadgeColorsOverrideDefaultBadgeAppearanceWhenSetBeforeBarItems {
422
444
// Given
423
445
self.tabItem1 .badgeValue = @" " ;
424
446
self.tabItem2 .badgeValue = @" Gray on Yellow" ;
@@ -427,11 +449,27 @@ - (void)testCustomBadgeColorsSetBeforeItems {
427
449
MDCBottomNavigationBarTestHeightTypical);
428
450
429
451
// When
430
- self.tabItem3 .badgeColor = UIColor.greenColor ;
431
- self.navigationBar .itemBadgeBackgroundColor = UIColor.yellowColor ;
432
- self.navigationBar .itemBadgeTextColor = UIColor.darkGrayColor ;
433
- self.navigationBar .items =
434
- @[ self .tabItem1, self .tabItem2, self .tabItem3, self .tabItem4, self .tabItem5 ];
452
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
453
+ badgeAppearance.font = [UIFont systemFontOfSize: 8.0 ];
454
+ badgeAppearance.backgroundColor = UIColor.yellowColor ;
455
+ badgeAppearance.textColor = UIColor.darkGrayColor ;
456
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
457
+ MDCBadgeAppearance *greenAppearance = [[MDCBadgeAppearance alloc ] init ];
458
+ greenAppearance.font = [UIFont systemFontOfSize: 8.0 ];
459
+ greenAppearance.backgroundColor = UIColor.greenColor ;
460
+ greenAppearance.textColor = UIColor.darkGrayColor ;
461
+ MDCBottomNavigationBarItem *barItem1 =
462
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem1];
463
+ MDCBottomNavigationBarItem *barItem2 =
464
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem2];
465
+ MDCBottomNavigationBarItem *barItem3 =
466
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem3
467
+ badgeAppearance: greenAppearance];
468
+ MDCBottomNavigationBarItem *barItem4 =
469
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem4];
470
+ MDCBottomNavigationBarItem *barItem5 =
471
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem5];
472
+ self.navigationBar .barItems = @[ barItem1, barItem2, barItem3, barItem4, barItem5 ];
435
473
436
474
// Then
437
475
[self generateAndVerifySnapshot ];
@@ -446,9 +484,27 @@ - (void)testClearBadgeColorsRendersClearBackgroundAndUILabelDefaultTextColor {
446
484
MDCBottomNavigationBarTestHeightTypical);
447
485
448
486
// When
449
- self.tabItem3 .badgeColor = UIColor.greenColor ;
450
- self.navigationBar .itemBadgeBackgroundColor = [UIColor clearColor ];
451
- self.navigationBar .itemBadgeTextColor = nil ;
487
+ MDCBadgeAppearance *greenAppearance = [[MDCBadgeAppearance alloc ] init ];
488
+ greenAppearance.font = [UIFont systemFontOfSize: 8.0 ];
489
+ greenAppearance.backgroundColor = UIColor.greenColor ;
490
+ greenAppearance.textColor = UIColor.blackColor ;
491
+ MDCBottomNavigationBarItem *barItem1 =
492
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem1];
493
+ MDCBottomNavigationBarItem *barItem2 =
494
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem2];
495
+ MDCBottomNavigationBarItem *barItem3 =
496
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem3
497
+ badgeAppearance: greenAppearance];
498
+ MDCBottomNavigationBarItem *barItem4 =
499
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem4];
500
+ MDCBottomNavigationBarItem *barItem5 =
501
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem5];
502
+ self.navigationBar .barItems = @[ barItem1, barItem2, barItem3, barItem4, barItem5 ];
503
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
504
+ badgeAppearance.font = [UIFont systemFontOfSize: 8.0 ];
505
+ badgeAppearance.backgroundColor = UIColor.clearColor ;
506
+ badgeAppearance.textColor = nil ;
507
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
452
508
453
509
// Then
454
510
[self generateAndVerifySnapshot ];
@@ -463,9 +519,27 @@ - (void)testNilBadgeColorsRendersTintBackgroundAndUILabelDefaultTextColor {
463
519
MDCBottomNavigationBarTestHeightTypical);
464
520
465
521
// When
466
- self.tabItem3 .badgeColor = UIColor.greenColor ;
467
- self.navigationBar .itemBadgeBackgroundColor = nil ;
468
- self.navigationBar .itemBadgeTextColor = nil ;
522
+ MDCBadgeAppearance *greenAppearance = [[MDCBadgeAppearance alloc ] init ];
523
+ greenAppearance.font = [UIFont systemFontOfSize: 8.0 ];
524
+ greenAppearance.backgroundColor = UIColor.greenColor ;
525
+ greenAppearance.textColor = UIColor.blackColor ;
526
+ MDCBottomNavigationBarItem *barItem1 =
527
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem1];
528
+ MDCBottomNavigationBarItem *barItem2 =
529
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem2];
530
+ MDCBottomNavigationBarItem *barItem3 =
531
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem3
532
+ badgeAppearance: greenAppearance];
533
+ MDCBottomNavigationBarItem *barItem4 =
534
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem4];
535
+ MDCBottomNavigationBarItem *barItem5 =
536
+ [[MDCBottomNavigationBarItem alloc ] initWithBarItem: self .tabItem5];
537
+ self.navigationBar .barItems = @[ barItem1, barItem2, barItem3, barItem4, barItem5 ];
538
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
539
+ badgeAppearance.font = [UIFont systemFontOfSize: 8.0 ];
540
+ badgeAppearance.backgroundColor = nil ;
541
+ badgeAppearance.textColor = nil ;
542
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
469
543
470
544
// Then
471
545
[self generateAndVerifySnapshot ];
@@ -479,7 +553,9 @@ - (void)testCustomBadgeTextFontSetBeforeItems {
479
553
MDCBottomNavigationBarTestHeightTypical);
480
554
481
555
// When
482
- self.navigationBar .itemBadgeTextFont = [UIFont systemFontOfSize: 10.0 ];
556
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
557
+ badgeAppearance.font = [UIFont systemFontOfSize: 10.0 ];
558
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
483
559
self.navigationBar .items =
484
560
@[ self .tabItem1, self .tabItem2, self .tabItem3, self .tabItem4, self .tabItem5 ];
485
561
@@ -497,7 +573,9 @@ - (void)testCustomBadgeTextFontSetAfterItems {
497
573
// When
498
574
self.navigationBar .items =
499
575
@[ self .tabItem1, self .tabItem2, self .tabItem3, self .tabItem4, self .tabItem5 ];
500
- self.navigationBar .itemBadgeTextFont = [UIFont systemFontOfSize: 10.0 ];
576
+ MDCBadgeAppearance *badgeAppearance = [[MDCBadgeAppearance alloc ] init ];
577
+ badgeAppearance.font = [UIFont systemFontOfSize: 10.0 ];
578
+ self.navigationBar .itemBadgeAppearance = badgeAppearance;
501
579
502
580
// Then
503
581
[self generateAndVerifySnapshot ];
0 commit comments