KeyHandler // Simplify state conditioning in handle().

This commit is contained in:
ShikiSuen 2022-06-30 09:12:47 +08:00
parent c79c4aeb2e
commit df74b5b234
4 changed files with 14 additions and 14 deletions

View File

@ -56,9 +56,8 @@ extension KeyHandler {
// Megrez // Megrez
if input.isInvalidInput { if input.isInvalidInput {
// .Empty(IgnoringPreviousState) .Deactivated // .Empty(IgnoringPreviousState) .Deactivated
if state is InputState.Empty || state is InputState.Deactivated // .EmptyIgnorePreviousState.Empty
|| state is InputState.EmptyIgnoringPreviousState if state is InputState.Empty || state is InputState.Deactivated {
{
return false return false
} }
IME.prtDebugIntel("550BCF7B: KeyHandler just refused an invalid input.") IME.prtDebugIntel("550BCF7B: KeyHandler just refused an invalid input.")

View File

@ -356,6 +356,7 @@ extension ctlInputMethod {
_ = state // _ = state //
ctlCandidateCurrent.visible = false ctlCandidateCurrent.visible = false
hideTooltip() hideTooltip()
// .EmptyIgnoringPreviousState
if let previous = previous as? InputState.NotEmpty, if let previous = previous as? InputState.NotEmpty,
!(state is InputState.EmptyIgnoringPreviousState) !(state is InputState.EmptyIgnoringPreviousState)
{ {

View File

@ -493,7 +493,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
} errorCallback: { } errorCallback: {
} }
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
func testInputting() { func testInputting() {
@ -673,7 +673,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
} errorCallback: { } errorCallback: {
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
func testBackspaceToDeleteReading() { func testBackspaceToDeleteReading() {
@ -707,7 +707,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
state = newState state = newState
} errorCallback: { } errorCallback: {
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
func testBackspaceAtBegin() { func testBackspaceAtBegin() {
@ -829,7 +829,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
} errorCallback: { } errorCallback: {
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
func testCursorWithReading() { func testCursorWithReading() {
@ -1543,7 +1543,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
} errorCallback: { } errorCallback: {
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
mgrPrefs.escToCleanInputBuffer = enabled mgrPrefs.escToCleanInputBuffer = enabled
} }
@ -1611,7 +1611,7 @@ class KeyHandlerTestsNormalCHS: XCTestCase {
} errorCallback: { } errorCallback: {
} }
XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") XCTAssertTrue(state is InputState.Empty, "\(state)")
mgrPrefs.escToCleanInputBuffer = enabled mgrPrefs.escToCleanInputBuffer = enabled
} }
} }

View File

@ -266,7 +266,7 @@ class KeyHandlerTestsSCPCCHT: XCTestCase {
} }
print("Expecting EmptyIgnoringPreviousState.") print("Expecting EmptyIgnoringPreviousState.")
print("\(state)") print("\(state)")
// XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") // XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
// TODO: Further bug-hunting needed. // TODO: Further bug-hunting needed.
@ -291,7 +291,7 @@ class KeyHandlerTestsSCPCCHT: XCTestCase {
} }
print("Expecting EmptyIgnoringPreviousState.") print("Expecting EmptyIgnoringPreviousState.")
print("\(state)") print("\(state)")
// XCTAssertTrue(state is InputState.EmptyIgnoringPreviousState, "\(state)") // XCTAssertTrue(state is InputState.Empty, "\(state)")
} }
// TODO: Further bug-hunting needed. // TODO: Further bug-hunting needed.
@ -314,9 +314,9 @@ class KeyHandlerTestsSCPCCHT: XCTestCase {
print("Expecting AssociatedPhrases.") print("Expecting AssociatedPhrases.")
print("\(state)") print("\(state)")
// XCTAssertTrue(state is InputState.AssociatedPhrases, "\(state)") // XCTAssertTrue(state is InputState.AssociatedPhrases, "\(state)")
if let state = state as? InputState.AssociatedPhrases { // if let state = state as? InputState.AssociatedPhrases {
// XCTAssertTrue(state.candidates.contains("")) // XCTAssertTrue(state.candidates.contains(""))
} // }
mgrPrefs.associatedPhrasesEnabled = enabled mgrPrefs.associatedPhrasesEnabled = enabled
} }