@@ -456,14 +456,24 @@ class PinSafeAreaWithOptInModeSpec: QuickSpec {
456456 describe ( " using Pin.safeAreaInsetsDidChangeMode = .optIn " ) {
457457 it ( " should not call safeAreaInsetsDidChange() " ) {
458458 let mainView = viewController. mainView
459+ let subViewTop = CGFloat ( 10 )
460+ let subViewLeft = CGFloat ( 10 )
459461
460462 mainView. layoutOffsetViewClosure = { ( _ subView: UIView , _ parent: UIView ) in
461- subView. pin. top ( 10 ) . left ( 10 ) . size ( 100 )
463+ subView. pin. top ( subViewTop ) . left ( subViewLeft ) . size ( 100 )
462464 }
463465
464466 navigationController. navigationBar. isTranslucent = true
465467 setupWindow ( with: navigationController)
466-
468+
469+ let expectedSafeAreaInsets = mainView. safeAreaInsets
470+ let expectedSubViewSafeAreaInsets = UIEdgeInsets (
471+ top: expectedSafeAreaInsets. top - subViewTop,
472+ left: . zero,
473+ bottom: . zero,
474+ right: . zero
475+ )
476+
467477 // MATCH safeAreaInsets!
468478 if #available( iOS 11 . 0 , tvOS 11 . 0 , * ) {
469479 expect ( mainView. safeAreaInsetsDidChangeCalledCount) > 0
@@ -476,12 +486,15 @@ class PinSafeAreaWithOptInModeSpec: QuickSpec {
476486 expect ( mainView. subView. safeAreaInsetsDidChangeCalledCount) == 0
477487 }
478488
479- expect ( mainView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top: 44.0 , left: 0.0 , bottom: 0.0 , right: 0.0 ) ) )
480- expect ( mainView. subView. pin. safeArea) . to ( equal ( UIEdgeInsets ( top: 34.0 , left: 0.0 , bottom: 0.0 , right: 0.0 ) ) )
489+ expect ( mainView. safeAreaInsetsDidChangeCalledCount) > 0
490+ expect ( mainView. subView. safeAreaInsetsDidChangeCalledCount) > 0
491+
492+ expect ( mainView. pin. safeArea) . to ( equal ( expectedSafeAreaInsets) )
493+ expect ( mainView. subView. pin. safeArea) . to ( equal ( expectedSubViewSafeAreaInsets) )
481494 expect ( mainView. subView. subViewB!. pin. safeArea) . to ( equal ( UIEdgeInsets ( top: 0.0 , left: 0.0 , bottom: 0.0 , right: 0.0 ) ) )
482495
483- expect ( mainView. subView. frame) . to ( equal ( CGRect ( x: 10 , y: 10 , width: 100 , height: 100 ) ) )
484- expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: 34 , width: 40 , height: 40 ) ) )
496+ expect ( mainView. subView. frame) . to ( equal ( CGRect ( x: subViewLeft , y: subViewTop , width: 100 , height: 100 ) ) )
497+ expect ( mainView. subView. subViewB!. frame) . to ( equal ( CGRect ( x: 0 , y: expectedSubViewSafeAreaInsets . top , width: 40 , height: 40 ) ) )
485498 }
486499 }
487500 }
0 commit comments