Skip to content

Commit

Permalink
feat: 見出し語入力モード/送り仮名から辞書登録モードヘの遷移を実装
Browse files Browse the repository at this point in the history
  • Loading branch information
emanon001 committed Mar 11, 2023
1 parent 2c712bc commit 00be3c2
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/Skk.elm
Original file line number Diff line number Diff line change
Expand Up @@ -442,8 +442,14 @@ updateMidashiOkuriInputMode { isHiragana, kakutei, conversionModeValue, context,
(DictConversionMode { prevMode = prevMode, candidateList = candidateList, pos = 0, okuri = newOkuriKakutei })

Nothing ->
-- TODO: 変換候補がない場合に、辞書登録モードに移行
default
-- 変換候補がない場合は辞書登録モードに遷移する
buildKanaMode isHiragana
kakutei
(DictRegistrationMode
{ prevMode = PrevDictConversionMidashiInputMode conversionModeValue.midashi
, inputMode = initKanaMode isHiragana
}
)

else
-- 送り仮名が確定していない
Expand Down
34 changes: 34 additions & 0 deletions tests/SkkTests.elm
Original file line number Diff line number Diff line change
Expand Up @@ -574,6 +574,40 @@ suite =
}
)
(Skk.update skk key).mode
, test "送り仮名が確定する かつ 変換候補がない場合、辞書登録モードに遷移すること" <|
\_ ->
let
midashi =
{ kakuteiMidashi = Just "こうほなし", mikakuteiMidashi = Nothing }

conversionValue =
{ midashi = midashi
, headOkuri = Just "r"
, kakuteiOkuri = Nothing
, mikakuteiOkuri = Just "r"
}

skk =
initSkk (Skk.HiraganaMode { kakutei = Just "あいう", conversionMode = Skk.MidashiOkuriInputMode conversionValue })

key =
{ key = "u", shift = False, ctrl = False }
in
Expect.equal
(Skk.HiraganaMode
{ kakutei = Just "あいう"
, conversionMode =
Skk.DictRegistrationMode
{ prevMode = Skk.PrevDictConversionMidashiInputMode midashi
, inputMode =
Skk.HiraganaMode
{ kakutei = Nothing
, conversionMode = Skk.KakuteiInputMode { mikakutei = Nothing }
}
}
}
)
(Skk.update skk key).mode
]
, describe "ひらがな入力モード(変換モード: 辞書変換モード)"
[ test "次の変換候補が存在する場合、Spaceキーを入力すると、次の変換候補が選択されること" <|
Expand Down

0 comments on commit 00be3c2

Please sign in to comment.