mirror of
https://github.com/Aminark/legado-ios.git
synced 2026-10-24 12:51:22 +08:00
feat: 支持 EPUB 阅读并改善规则兼容与阅读稳定性
支持 EPUB 2/3 导入、目录、封面和章节插图,保留本地书管理与阅读进度。 修复 JSON 模板、动态替换与请求参数兼容,以及 RSS 翻页和连续滚动定位。 更新编辑器工具栏和回归测试,发布版本为 0.1.12(build 18)。
This commit is contained in:
@@ -80,11 +80,14 @@ final class DarkModeUITests: XCTestCase {
|
||||
let keyboard = try luminances(app.keyboards.firstMatch, in: app)
|
||||
XCTAssertLessThan(keyboard[keyboard.count / 2], 0.15)
|
||||
}
|
||||
let accessory = app.buttons["完成"]
|
||||
let accessoryFrame = accessory.frame.intersection(app.frame)
|
||||
if accessory.isHittable && !accessoryFrame.isNull && accessoryFrame.width > 20 && accessoryFrame.height > 20 {
|
||||
try assertReadableDarkFill(accessory, in: app)
|
||||
}
|
||||
let accessory = app.buttons["syntaxCodeEditor.done"]
|
||||
XCTAssertTrue(accessory.exists && accessory.isHittable)
|
||||
try assertReadableDarkFill(accessory, in: app)
|
||||
app.buttons["@"].tap()
|
||||
XCTAssertTrue((app.textViews["syntaxCodeEditor"].value as? String)?.contains("@") == true)
|
||||
accessory.tap()
|
||||
let dismissed = expectation(for: NSPredicate { _, _ in !accessory.exists || !accessory.isHittable }, evaluatedWith: nil)
|
||||
wait(for: [dismissed], timeout: 5)
|
||||
}
|
||||
|
||||
func testDarkSettingsRulesAndManagementPages() throws {
|
||||
@@ -146,8 +149,8 @@ final class DarkModeUITests: XCTestCase {
|
||||
let app = launch(["-uiDemoTab", "search", "-themeMode", "2", "-uiAutomationSearch", "深色外观检查"])
|
||||
let cancelSearch = app.buttons.matching(NSPredicate(format: "label IN %@", ["取消", "Cancel"])).firstMatch
|
||||
if cancelSearch.waitForExistence(timeout: 3) { cancelSearch.tap() }
|
||||
XCTAssertTrue(app.buttons["搜索选项"].waitForExistence(timeout: 10))
|
||||
app.buttons["搜索选项"].tap()
|
||||
XCTAssertTrue(app.buttons["search.options"].waitForExistence(timeout: 10))
|
||||
app.buttons["search.options"].tap()
|
||||
app.buttons["分组或书源"].tap()
|
||||
XCTAssertTrue(app.navigationBars["分组或书源"].waitForExistence(timeout: 5))
|
||||
try captureDarkPage(app, name: "Search group filter")
|
||||
|
||||
Reference in New Issue
Block a user