feat: improve epub reader controls and annotations
This commit is contained in:
@@ -23,6 +23,11 @@ final class FixedLayoutRotationTests: XCTestCase {
|
||||
for _ in 0..<3 {
|
||||
XCUIDevice.shared.orientation = .landscapeLeft
|
||||
RunLoop.current.run(until: Date().addingTimeInterval(2))
|
||||
let landscapeState = app.waitForDemoReaderState(
|
||||
timeout: 5,
|
||||
description: "固定版式横屏保持单页"
|
||||
) { $0.pagesPerScreen == 1 }
|
||||
XCTAssertEqual(landscapeState.pagesPerScreen, 1, "交互型固定版式书横屏不应启用双页")
|
||||
XCUIDevice.shared.orientation = .portrait
|
||||
RunLoop.current.run(until: Date().addingTimeInterval(2))
|
||||
}
|
||||
@@ -30,4 +35,29 @@ final class FixedLayoutRotationTests: XCTestCase {
|
||||
XCTAssertEqual(app.state, .runningForeground, "反复旋转后 app 已退出(疑似崩溃)")
|
||||
app.waitForReader()
|
||||
}
|
||||
|
||||
func testFixedLayoutCachedPageCanReturnAfterPageTurn() {
|
||||
app.launchAndOpenSampleBook(bookTitleQuery: "熊爷爷")
|
||||
app.waitForReader()
|
||||
|
||||
let content = app.otherElements[IDs.readerContent]
|
||||
XCTAssertTrue(content.waitForExistence(timeout: 5), "固定版式阅读区域未出现")
|
||||
let initialState = app.waitForDemoReaderState(timeout: 5, description: "固定版式初始页") {
|
||||
$0.page != nil
|
||||
}
|
||||
let initialPage = initialState.page ?? 0
|
||||
|
||||
content.swipeLeft()
|
||||
let nextState = app.waitForDemoReaderState(timeout: 8, description: "固定版式向后翻页") { state in
|
||||
guard let page = state.page else { return false }
|
||||
return page != initialPage
|
||||
}
|
||||
|
||||
content.swipeRight()
|
||||
let returnedState = app.waitForDemoReaderState(timeout: 8, description: "固定版式返回缓存页") {
|
||||
$0.page == initialPage
|
||||
}
|
||||
XCTAssertNotEqual(nextState.page, returnedState.page, "固定版式返回缓存页后页码未恢复")
|
||||
XCTAssertTrue(content.exists, "返回缓存页后阅读区域不应消失")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user