feat(keyboard): add English QuickType bar and system lexicon
Show verbatim/correction/completion slots, mmap a 40k-word list, and use UITextChecker plus supplementary lexicon for conservative autocorrect.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
// EnglishKeyboardDeviceUITests.swift
|
||||
// OSGKeyboardUITests
|
||||
//
|
||||
// Physical-device pass: Notes-like host + the real keyboard extension.
|
||||
// Skips if OSGKeyboard is not enabled as the current keyboard.
|
||||
|
||||
import XCTest
|
||||
|
||||
final class EnglishKeyboardDeviceUITests: XCTestCase {
|
||||
func testOSGKeyboardAppearsOnNotesHost() throws {
|
||||
let app = XCUIApplication()
|
||||
app.launchArguments = [
|
||||
"--whats-new-host",
|
||||
"--whats-new-lang=en",
|
||||
"--whats-new-scenario=edit"
|
||||
]
|
||||
app.launch()
|
||||
|
||||
let textView = app.textViews["notes.host.textView"]
|
||||
XCTAssertTrue(
|
||||
textView.waitForExistence(timeout: 12),
|
||||
"Notes host text view should appear"
|
||||
)
|
||||
if !textView.exists {
|
||||
return
|
||||
}
|
||||
textView.tap()
|
||||
|
||||
let keyboard = XCUIApplication(bundleIdentifier: "com.osgkeyboard.ios.keyboard")
|
||||
let appeared = keyboard.wait(for: .runningForeground, timeout: 8)
|
||||
|| keyboard.windows.firstMatch.waitForExistence(timeout: 8)
|
||||
if !appeared {
|
||||
throw XCTSkip(
|
||||
"OSGKeyboard extension is not the active keyboard on this device. Enable it in Settings ▸ Keyboard, then re-run."
|
||||
)
|
||||
}
|
||||
|
||||
XCTAssertTrue(
|
||||
keyboard.windows.firstMatch.exists,
|
||||
"OSGKeyboard extension window should be on screen"
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user