Skip to content

Commit 2936dd5

Browse files
committed
Fix using translucent NavigationBar with OffsetView and AdditionalSafeAreaInsets test cases
1 parent e4afefa commit 2936dd5

File tree

1 file changed

+22
-36
lines changed

1 file changed

+22
-36
lines changed

Tests/iOS/PinSafeAreaTests.swift

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -141,30 +141,19 @@ class PinSafeAreaSpec: QuickSpec {
141141
}
142142

143143
navigationController.navigationBar.isTranslucent = true
144+
viewController.additionalSafeAreaInsets = UIEdgeInsets(top: 10, left: 10, bottom: 30, right: 0)
144145
setupWindow(with: navigationController)
145146

146-
let expectedSafeAreaInsets: UIEdgeInsets
147-
let expectedOffsetViewSafeAreaInsets: UIEdgeInsets
148-
let expectedOffsetViewFrame: CGRect
149147
let screenSize = mainView.frame.size
148+
let expectedSafeAreaInsets = mainView.safeAreaInsets
149+
let expectedOffsetViewSafeAreaInsets = UIEdgeInsets.zero
150+
let expectedOffsetViewFrame = CGRect(
151+
x: expectedSafeAreaInsets.left,
152+
y: expectedSafeAreaInsets.top,
153+
width: screenSize.width - (expectedSafeAreaInsets.left + expectedSafeAreaInsets.right),
154+
height: screenSize.height - (expectedSafeAreaInsets.top + expectedSafeAreaInsets.bottom)
155+
)
150156

151-
if #available(iOS 11.0, tvOS 11.0, *) {
152-
viewController.additionalSafeAreaInsets = UIEdgeInsets(top: 10, left: 10, bottom: 30, right: 0)
153-
expectedSafeAreaInsets = UIEdgeInsets(top: 54, left: 10, bottom: 30, right: 0)
154-
expectedOffsetViewSafeAreaInsets = UIEdgeInsets.zero
155-
expectedOffsetViewFrame = CGRect(x: 0, y: 44, width: screenSize.width,
156-
height: screenSize.height - 44)
157-
} else {
158-
expectedSafeAreaInsets = UIEdgeInsets(top: 44, left: 0, bottom: 0, right: 0)
159-
expectedOffsetViewSafeAreaInsets = UIEdgeInsets.zero
160-
expectedOffsetViewFrame = CGRect(x: 0, y: 44, width: screenSize.width,
161-
height: screenSize.height - expectedSafeAreaInsets.top)
162-
}
163-
164-
if #available(iOS 11.0, tvOS 11.0, *) {
165-
XCTAssertEqual(viewController.view.safeAreaInsets, expectedSafeAreaInsets)
166-
XCTAssertEqual(mainView.offsetView.safeAreaInsets, expectedOffsetViewSafeAreaInsets)
167-
}
168157
XCTAssertEqual(mainView.pin.safeArea, expectedSafeAreaInsets)
169158
XCTAssertEqual(mainView.offsetView.pin.safeArea, expectedOffsetViewSafeAreaInsets)
170159
expect(mainView.safeAreaInsetsDidChangeCalledCount) > 0
@@ -175,29 +164,26 @@ class PinSafeAreaSpec: QuickSpec {
175164

176165
it("with OffsetView and AdditionalSafeAreaInsets 2") {
177166
let mainView = viewController.mainView
167+
let offsetViewTop = CGFloat(10)
178168

179169
mainView.layoutOffsetViewClosure = { (_ offsetView: UIView, _ parent: UIView) in
180-
offsetView.pin.top(10).width(100).height(100)
181-
}
182-
183-
let expectedSafeAreaInsets: UIEdgeInsets
184-
let expectedOffsetViewSafeAreaInsets: UIEdgeInsets
185-
if #available(iOS 11.0, tvOS 11.0, *) {
186-
viewController.additionalSafeAreaInsets = UIEdgeInsets(top: 10, left: 10, bottom: 30, right: 0)
187-
expectedSafeAreaInsets = UIEdgeInsets(top: 54, left: 10, bottom: 30, right: 0)
188-
expectedOffsetViewSafeAreaInsets = UIEdgeInsets(top: 44, left: 10, bottom: 0, right: 0)
189-
} else {
190-
expectedSafeAreaInsets = UIEdgeInsets(top: 44, left: 0, bottom: 0, right: 0)
191-
expectedOffsetViewSafeAreaInsets = UIEdgeInsets(top: 34, left: 0, bottom: 0, right: 0)
170+
offsetView.pin.top(offsetViewTop).width(100).height(100)
192171
}
193172

194173
navigationController.navigationBar.isTranslucent = true
195174
setupWindow(with: navigationController)
175+
176+
let expectedSafeAreaInsets = mainView.safeAreaInsets
177+
let expectedOffsetViewSafeAreaInsets = UIEdgeInsets(
178+
top: expectedSafeAreaInsets.top - offsetViewTop,
179+
left: .zero,
180+
bottom: .zero,
181+
right: .zero
182+
)
196183

197-
if #available(iOS 11.0, tvOS 11.0, *) {
198-
XCTAssertEqual(viewController.view.safeAreaInsets, expectedSafeAreaInsets)
199-
XCTAssertEqual(mainView.offsetView.safeAreaInsets, expectedOffsetViewSafeAreaInsets)
200-
}
184+
XCTAssertEqual(viewController.view.safeAreaInsets, expectedSafeAreaInsets)
185+
XCTAssertEqual(mainView.offsetView.safeAreaInsets, expectedOffsetViewSafeAreaInsets)
186+
201187
XCTAssertEqual(mainView.pin.safeArea, expectedSafeAreaInsets)
202188
XCTAssertEqual(mainView.offsetView.pin.safeArea, expectedOffsetViewSafeAreaInsets)
203189
expect(mainView.safeAreaInsetsDidChangeCalledCount) > 0

0 commit comments

Comments
 (0)