fix(terminal): update selection input and remove accessory overrides
This commit is contained in:
1 parent
f6122c6306
commit
e19b4eedf3
5 files changed
+5
-58
No files matched your search
@@ -91,33 +91,6 @@ final class MobileTerminalView: TerminalView {
|
||||
|
||||
weak var findController: TerminalFindController?
|
||||
|
||||
override func inputAccessoryAccessibilityLabel(for item: TerminalInputAccessoryItem) -> String? {
|
||||
let title: LocalizedStringResource
|
||||
switch item {
|
||||
case .esc: title = AppStrings.Terminal.escape
|
||||
case .tab: title = AppStrings.Terminal.tab
|
||||
case .ctrl: title = AppStrings.Terminal.control
|
||||
case .alt: title = AppStrings.Terminal.option
|
||||
case .command: title = AppStrings.Terminal.commandKey
|
||||
case .arrowLeft: title = AppStrings.Terminal.leftArrow
|
||||
case .arrowUp: title = AppStrings.Terminal.upArrow
|
||||
case .arrowDown: title = AppStrings.Terminal.downArrow
|
||||
case .arrowRight: title = AppStrings.Terminal.rightArrow
|
||||
case .paste: title = AppStrings.Common.paste
|
||||
case .symbol(let symbol): return symbol
|
||||
case .divider: return nil
|
||||
}
|
||||
return String(localized: title)
|
||||
}
|
||||
|
||||
override func inputAccessoryAccessibilityValue(for activation: TerminalPublicStickyActivation) -> String {
|
||||
switch activation {
|
||||
case .inactive: String(localized: AppStrings.Terminal.inactive)
|
||||
case .armed: String(localized: AppStrings.Terminal.armed)
|
||||
case .locked: String(localized: AppStrings.Terminal.locked)
|
||||
}
|
||||
}
|
||||
|
||||
override var keyCommands: [UIKeyCommand]? {
|
||||
var commands = super.keyCommands ?? []
|
||||
commands.append(findCommand(title: AppStrings.Terminal.findNextInTerminal, modifiers: []))
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import Foundation
|
||||
import GhosttyTerminal
|
||||
import SwiftUI
|
||||
import TermindPresentation
|
||||
import Testing
|
||||
import UIKit
|
||||
|
||||
@@ -21,12 +20,9 @@ struct MobileTerminalKeyboardTests {
|
||||
])
|
||||
let bar = try #require(terminal.inputAccessoryView)
|
||||
let buttons = accessoryButtons(in: bar)
|
||||
#expect(buttons.map(\.accessibilityLabel) == items.compactMap(terminal.inputAccessoryAccessibilityLabel))
|
||||
#expect(buttons.map(\.accessibilityLabel) == items.compactMap(\.title))
|
||||
#expect(items.last == .paste)
|
||||
#expect(buttons.count == 18)
|
||||
#expect(
|
||||
terminal.inputAccessoryAccessibilityLabel(for: .command)
|
||||
== String(localized: AppStrings.Terminal.commandKey))
|
||||
}
|
||||
|
||||
@Test func nativeAccessoryKeepsItsGeometryAndAllKeysReachable() throws {
|
||||
@@ -50,28 +46,6 @@ struct MobileTerminalKeyboardTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Test func modifierButtonsExposeLocalizedArmedAndLockedStates() throws {
|
||||
let terminal = MobileTerminalView(frame: .zero)
|
||||
let bar = try #require(terminal.inputAccessoryView)
|
||||
for (modifier, item) in [
|
||||
(TerminalPublicStickyModifier.ctrl, TerminalInputAccessoryItem.ctrl), (.alt, .alt), (.command, .command),
|
||||
] {
|
||||
let button = try #require(
|
||||
accessoryButtons(in: bar).first {
|
||||
$0.accessibilityLabel == terminal.inputAccessoryAccessibilityLabel(for: item)
|
||||
})
|
||||
button.sendActions(for: .touchUpInside)
|
||||
#expect(terminal.stickyActivation(for: modifier) == .armed)
|
||||
#expect(button.accessibilityValue == String(localized: AppStrings.Terminal.armed))
|
||||
#expect(button.accessibilityTraits.contains(.selected))
|
||||
button.sendActions(for: .touchUpInside)
|
||||
#expect(terminal.stickyActivation(for: modifier) == .locked)
|
||||
#expect(button.accessibilityValue == String(localized: AppStrings.Terminal.locked))
|
||||
button.sendActions(for: .touchUpInside)
|
||||
#expect(terminal.stickyActivation(for: modifier) == .inactive)
|
||||
#expect(!button.accessibilityTraits.contains(.selected))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Hosts the library's actual UIView for the existing opt-in rendering matrix.
|
||||
@@ -269,7 +243,7 @@ private final class KeyboardFixture {
|
||||
let bar = try #require(terminal.inputAccessoryView)
|
||||
return try #require(
|
||||
accessoryButtons(in: bar).first {
|
||||
$0.accessibilityLabel == terminal.inputAccessoryAccessibilityLabel(for: item)
|
||||
$0.accessibilityLabel == item.title
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -2955,7 +2955,7 @@
|
||||
repositoryURL = "https://github.com/AkinoKaede/libghostty-spm.git";
|
||||
requirement = {
|
||||
kind = revision;
|
||||
revision = 360f20c30a21cde197b31274cf58cd8e30208ad0;
|
||||
revision = 3b4842d3dd0faaf748f82c561d6eb9589a3a98f6;
|
||||
};
|
||||
};
|
||||
TRMD00000000000000100023 /* XCRemoteSwiftPackageReference "openssl-spm" */ = {
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/AkinoKaede/libghostty-spm.git",
|
||||
"state" : {
|
||||
"revision" : "360f20c30a21cde197b31274cf58cd8e30208ad0"
|
||||
"revision" : "3b4842d3dd0faaf748f82c561d6eb9589a3a98f6"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
+1
-1
Submodule libghostty-spm updated: 360f20c30a...3b4842d3dd.
Reference in new issue
Block a user