53 lines
1.7 KiB
Swift
53 lines
1.7 KiB
Swift
import XCTest
|
|
|
|
final class ToolbarStateTests: XCTestCase {
|
|
private let app = XCUIApplication()
|
|
|
|
override func setUpWithError() throws {
|
|
continueAfterFailure = false
|
|
}
|
|
|
|
func testTapContentHidesToolbar() throws {
|
|
app.launchAndOpenSampleBook()
|
|
app.waitForReader(timeout: 12)
|
|
|
|
app.showReaderChromeIfNeeded()
|
|
|
|
XCTAssertTrue(app.otherElements[IDs.readerTopToolbar].waitForExistence(timeout: 3), "顶部工具栏应可见")
|
|
XCTAssertTrue(app.otherElements[IDs.readerBottomToolbar].waitForExistence(timeout: 3), "底部工具栏应可见")
|
|
|
|
app.hideReaderChromeIfNeeded()
|
|
|
|
let backButton = app.buttons[IDs.readerBack]
|
|
let hidden = !backButton.waitForExistence(timeout: 2)
|
|
XCTAssertTrue(hidden, "点击内容区后工具栏应隐藏")
|
|
}
|
|
|
|
func testToolbarShowHideToggle() throws {
|
|
app.launchAndOpenSampleBook()
|
|
app.waitForReader(timeout: 12)
|
|
|
|
app.showReaderChromeIfNeeded()
|
|
XCTAssertTrue(app.buttons[IDs.readerBack].waitForExistence(timeout: 3))
|
|
|
|
app.hideReaderChromeIfNeeded()
|
|
|
|
app.showReaderChromeIfNeeded()
|
|
XCTAssertTrue(app.buttons[IDs.readerBack].waitForExistence(timeout: 3))
|
|
|
|
app.waitForDemoReaderState(timeout: 5, description: "reader=opened") { $0.isOpened }
|
|
}
|
|
|
|
func testPageCurlSwipeNavigation() throws {
|
|
app.launchAndOpenSampleBook(displayType: "pagecurl")
|
|
app.waitForReader(timeout: 12)
|
|
|
|
app.waitForReaderPage(1, timeout: 5)
|
|
|
|
let paging = app.collectionViews[IDs.readerPaging]
|
|
if paging.waitForExistence(timeout: 5) { paging.swipeLeft() }
|
|
|
|
app.waitForDemoReaderState(timeout: 5, description: "reader=opened") { $0.isOpened }
|
|
}
|
|
}
|