mirror of
https://github.com/mii443/AzooKeyKanaKanjiConverter.git
synced 2025-08-22 15:05:26 +00:00
* Add makeDirectInput function to create ComposingText instances * Update testConvertToTimeExpression to use makeDirectInput for input conversion
30 lines
1.5 KiB
Swift
30 lines
1.5 KiB
Swift
import XCTest
|
|
@testable import KanaKanjiConverterModule
|
|
|
|
final class TimeExpressionTests: XCTestCase {
|
|
func makeDirectInput(direct input: String) -> ComposingText {
|
|
ComposingText(
|
|
convertTargetCursorPosition: input.count,
|
|
input: input.map {.init(character: $0, inputStyle: .direct)},
|
|
convertTarget: input
|
|
)
|
|
}
|
|
|
|
func testConvertToTimeExpression() async throws {
|
|
let converter = await KanaKanjiConverter()
|
|
|
|
// Test 3-digit numbers
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "123")).first?.text, "1:23")
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "945")).first?.text, "9:45")
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "760")).first?.text, "7:60")
|
|
XCTAssertTrue(converter.convertToTimeExpression(makeDirectInput(direct: "761")).isEmpty) // Invalid minute
|
|
|
|
// Test 4-digit numbers
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "1234")).first?.text, "12:34")
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "9450")).first?.text, "09:45")
|
|
XCTAssertEqual(converter.convertToTimeExpression(makeDirectInput(direct: "7600")).first?.text, "07:60")
|
|
XCTAssertTrue(converter.convertToTimeExpression(makeDirectInput(direct: "1360")).isEmpty) // Invalid hour
|
|
XCTAssertTrue(converter.convertToTimeExpression(makeDirectInput(direct: "1261")).isEmpty) // Invalid minute
|
|
}
|
|
}
|