@@ -604,27 +604,36 @@ class PinSafeAreaTabBarControllerSpec: QuickSpec {
604604 describe ( " navigationbar + tabbar + subview " ) {
605605 it ( " translucent navigation bar " ) {
606606 let mainView = viewController. mainView
607+ let subViewTop = CGFloat ( 10 )
608+ let subViewLeft = CGFloat ( 10 )
607609
608610 mainView. layoutOffsetViewClosure = { ( _ subView: UIView , _ parent: UIView ) in
609- subView. pin. top ( 10 ) . left ( 10 ) . size ( 100 )
611+ subView. pin. top ( subViewTop ) . left ( subViewLeft ) . size ( 100 )
610612 }
611613
612- // navigationController.navigationBar.barStyle = .blackTranslucent
613614 navigationController. navigationBar. isTranslucent = true
614615 setupWindow ( with: navigationController)
616+
617+ let expectedSafeAreaInsets = mainView. safeAreaInsets
618+ let expectedSubViewSafeAreaInsets = UIEdgeInsets (
619+ top: expectedSafeAreaInsets. top - subViewTop,
620+ left: . zero,
621+ bottom: . zero,
622+ right: . zero
623+ )
615624
616625 // MATCH safeAreaInsets!
617626 expect ( mainView. safeAreaInsetsDidChangeCalledCount) > 0
618627 expect ( mainView. subView. safeAreaInsetsDidChangeCalledCount) > 0
619628
620- expect ( mainView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top : 44.0 , left : 0.0 , bottom : 49.0 , right : 0.0 ) ) )
621- expect ( mainView. subView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top : 34.0 , left : 0.0 , bottom : 0.0 , right : 0.0 ) ) )
629+ expect ( mainView. pin. safeArea) . to ( equal ( expectedSafeAreaInsets ) )
630+ expect ( mainView. subView. pin. safeArea) . to ( equal ( expectedSubViewSafeAreaInsets ) )
622631 expect ( mainView. subView. subViewB!. pin. safeArea) . to ( equal ( UIEdgeInsets ( top: 0.0 , left: 0.0 , bottom: 0.0 , right: 0.0 ) ) )
623632
624633 let screenSize = mainView. frame. size
625634 expect ( mainView. frame) . to ( equal ( CGRect ( x: 0 , y: 0 , width: screenSize. width, height: screenSize. height) ) )
626- expect ( mainView. subView. frame) . to ( equal ( CGRect ( x: 10 , y: 10 , width: 100 , height: 100 ) ) )
627- expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: 34 , width: 40 , height: 40 ) ) )
635+ expect ( mainView. subView. frame) . to ( equal ( CGRect ( x: subViewLeft , y: subViewTop , width: 100 , height: 100 ) ) )
636+ expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: expectedSubViewSafeAreaInsets . top , width: 40 , height: 40 ) ) )
628637 }
629638 }
630639
@@ -638,18 +647,21 @@ class PinSafeAreaTabBarControllerSpec: QuickSpec {
638647
639648 navigationController. navigationBar. isTranslucent = true
640649 setupWindow ( with: navigationController)
650+
651+ let expectedSafeAreaInsets = mainView. safeAreaInsets
652+ let expectedSubViewSafeAreaInsets = expectedSafeAreaInsets
641653
642654 // MATCH safeAreaInsets!
643655 expect ( mainView. safeAreaInsetsDidChangeCalledCount) > 0
644656 expect ( mainView. subView. safeAreaInsetsDidChangeCalledCount) > 0
645657
646- expect ( mainView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top : 44.0 , left : 0.0 , bottom : 49.0 , right : 0.0 ) ) )
647- expect ( mainView. subView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top : 44.0 , left : 0.0 , bottom : 49.0 , right : 0.0 ) ) )
658+ expect ( mainView. pin. safeArea) . to ( equal ( expectedSafeAreaInsets ) )
659+ expect ( mainView. subView. pin. safeArea) . to ( equal ( expectedSubViewSafeAreaInsets ) )
648660 expect ( mainView. subView. subViewB!. pin. safeArea) . to ( equal ( UIEdgeInsets ( top: 0.0 , left: 0.0 , bottom: 0.0 , right: 0.0 ) ) )
649661
650662 let screenSize = mainView. frame. size
651663 expect ( mainView. subView. frame) . to ( equal ( CGRect ( x: 0 , y: 0 , width: screenSize. width, height: screenSize. height) ) )
652- expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: 44 , width: 40 , height: 40 ) ) )
664+ expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: expectedSubViewSafeAreaInsets . top , width: 40 , height: 40 ) ) )
653665 }
654666 }
655667 }
0 commit comments