mirror of
https://github.com/mii443/AzooKeyKanaKanjiConverter.git
synced 2025-08-22 15:05:26 +00:00
wip: test is not passing, but commit/push it for
working in another env
This commit is contained in:
@ -218,28 +218,44 @@ final class ComposingTextTests: XCTestCase {
|
||||
}
|
||||
|
||||
func testIndexMap() throws {
|
||||
var c = ComposingText()
|
||||
sequentialInput(&c, sequence: "kyouhaiitenkida", inputStyle: .roman2kana)
|
||||
let map = c.inputIndexToSurfaceIndexMap()
|
||||
do {
|
||||
var c = ComposingText()
|
||||
sequentialInput(&c, sequence: "kyouhaiitenkida", inputStyle: .roman2kana)
|
||||
let map = c.inputIndexToSurfaceIndexMap()
|
||||
|
||||
// Note: 現在の実装では、アドホックな対処によってnが"ん"に切り替わる
|
||||
XCTAssertEqual(c.input[10], .init(character: "ん", inputStyle: .direct))
|
||||
// Note: 現在の実装では、アドホックな対処によってnが"ん"に切り替わる
|
||||
XCTAssertEqual(c.input[10], .init(character: "ん", inputStyle: .direct))
|
||||
|
||||
XCTAssertEqual(map[0], 0) // ""
|
||||
XCTAssertEqual(map[1], nil) // k
|
||||
XCTAssertEqual(map[2], nil) // y
|
||||
XCTAssertEqual(map[3], 2) // o
|
||||
XCTAssertEqual(map[4], 3) // u
|
||||
XCTAssertEqual(map[5], nil) // h
|
||||
XCTAssertEqual(map[6], 4) // a
|
||||
XCTAssertEqual(map[7], 5) // i
|
||||
XCTAssertEqual(map[8], 6) // i
|
||||
XCTAssertEqual(map[9], nil) // t
|
||||
XCTAssertEqual(map[10], 7) // e
|
||||
XCTAssertEqual(map[11], 8) // n // アドホックな対処の影響。nの場合はnilであるべき。
|
||||
XCTAssertEqual(map[12], nil) // k
|
||||
XCTAssertEqual(map[13], 9) // i
|
||||
XCTAssertEqual(map[14], nil) // d
|
||||
XCTAssertEqual(map[15], 10) // a
|
||||
XCTAssertEqual(map[0], 0) // ""
|
||||
XCTAssertEqual(map[1], nil) // k
|
||||
XCTAssertEqual(map[2], nil) // y
|
||||
XCTAssertEqual(map[3], 2) // o
|
||||
XCTAssertEqual(map[4], 3) // u
|
||||
XCTAssertEqual(map[5], nil) // h
|
||||
XCTAssertEqual(map[6], 4) // a
|
||||
XCTAssertEqual(map[7], 5) // i
|
||||
XCTAssertEqual(map[8], 6) // i
|
||||
XCTAssertEqual(map[9], nil) // t
|
||||
XCTAssertEqual(map[10], 7) // e
|
||||
XCTAssertEqual(map[11], 8) // n // アドホックな対処の影響。nの場合はnilであるべき。
|
||||
XCTAssertEqual(map[12], nil) // k
|
||||
XCTAssertEqual(map[13], 9) // i
|
||||
XCTAssertEqual(map[14], nil) // d
|
||||
XCTAssertEqual(map[15], 10) // a
|
||||
}
|
||||
do {
|
||||
var c = ComposingText()
|
||||
sequentialInput(&c, sequence: "sakujoshori", inputStyle: .roman2kana)
|
||||
let map = c.inputIndexToSurfaceIndexMap()
|
||||
let reversedMap = (0 ..< c.convertTarget.count + 1).compactMap {
|
||||
if map.values.contains($0) {
|
||||
String(c.convertTarget.prefix($0))
|
||||
} else {
|
||||
nil
|
||||
}
|
||||
}
|
||||
XCTAssertFalse(reversedMap.contains("さくじ"))
|
||||
XCTAssertFalse(reversedMap.contains("さくじょし"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user