---
generated_at: 2026-02-19 17:30:00
metrics:
  claims_total: 46
  claims_with_evidence: 46
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：modules-input-chinese 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：46 / 46、根拠なし：0
- 優先レビュー（高）
  1. **pyim基本機能（UT-CHN-001, 004）**：中国語入力の核心機能
  2. **+chinese--input-method-p関数（UT-CHN-005, 006）**：evil-escape連携の重要ロジック
  3. **org-html-paragraph-aアドバイス（UT-CHN-034, 035）**：HTML出力時の文字処理

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `modules/input/chinese/config.el` - メイン設定ファイル（91行）
- E-02: `modules/input/chinese/packages.el` - パッケージ定義ファイル（16行）
- E-03: `modules/input/chinese/README.org` - モジュールドキュメント（79行）
- E-04: `modules/input/chinese/.doommodule` - モジュール定義ファイル（空）

## 3) Claims と根拠の対応（レビューの主戦場）

### pyim関連（UT-CHN-001〜013）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | pyimパッケージがafter-find-file/pre-command-hookでロードされる | E-01 L3-4 `(use-package! pyim :after-call after-find-file pre-command-hook` | ○ |
| C-02 | キャッシュディレクトリがdoom-profile-cache-dir/pyim/に設定される | E-01 L6 `(setq pyim-dcache-directory (file-name-concat doom-profile-cache-dir "pyim/"))` | ○ |
| C-03 | pyim-page-tooltipがtに設定される | E-01 L8 `(setq pyim-page-tooltip t` | ○ |
| C-04 | default-input-methodが"pyim"に設定される | E-01 L9 `default-input-method "pyim")` | ○ |
| C-05 | +chinese--input-method-pがcurrent-input-methodを返す | E-01 L12-13 `(defun +chinese--input-method-p () current-input-method)` | ○ |
| C-06 | 入力メソッドがnilの場合にnilを返す | E-01 L12-13 関数定義から推論 | ○ |
| C-07 | +chinese--input-method-pがevil-escape-inhibit-functionsに追加される | E-01 L14 `(add-to-list 'evil-escape-inhibit-functions #'+chinese--input-method-p)` | ○ |
| C-08 | +childframe有効時にpyim-page-tooltipが'posframeに設定される | E-01 L16-17 `(when (modulep! +childframe) (setq pyim-page-tooltip 'posframe))` | ○ |
| C-09 | +childframe無効時にposframeが使用されない | E-01 L16 `when`条件から推論 | ○ |
| C-10 | vertico有効時にorderless-regexpにアドバイスが追加される | E-01 L20-21 `(cond ((modulep! :completion vertico) (advice-add #'orderless-regexp` | ○ |
| C-11 | evil +everywhere有効時にevil-pinyin--build-regexp-stringが使用される | E-01 L23-24 `(if (modulep! :editor evil +everywhere) #'evil-pinyin--build-regexp-string` | ○ |
| C-12 | evil +everywhere無効時にpyim-cregexp-buildが使用される | E-01 L25 `#'pyim-cregexp-build)))` | ○ |
| C-13 | ivy有効時にpyim-cregexp-ivyがビルダーとして設定される | E-01 L26-28 `((modulep! :completion ivy) ... (setq ivy-re-builders-alist '((t . pyim-cregexp-ivy))))` | ○ |

### liberime/rime関連（UT-CHN-014〜019）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | +rime有効時にliberimeがロードされる | E-01 L31-32 `(use-package! liberime :when (modulep! +rime)` | ○ |
| C-15 | +rime無効時にliberimeがロードされない | E-01 L32 `:when`条件から推論 | ○ |
| C-16 | liberime-auto-buildがtに設定される | E-01 L35 `(setq liberime-auto-build t` | ○ |
| C-17 | liberime-user-data-dirがdoom-cache-dir/rimeに設定される | E-01 L36 `liberime-user-data-dir (file-name-concat doom-cache-dir "rime"))` | ○ |
| C-18 | +rime有効時にpyim-liberimeがロードされる | E-01 L39-40 `(use-package! pyim-liberime :when (modulep! +rime)` | ○ |
| C-19 | pyim-default-schemeが'rimeに設定される | E-01 L43 `(setq pyim-default-scheme 'rime))` | ○ |

### pangu-spacing関連（UT-CHN-020〜021）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-20 | text-modeでpangu-spacing-modeがフックされる | E-01 L47 `(use-package! pangu-spacing :hook (text-mode . pangu-spacing-mode)` | ○ |
| C-21 | org-modeでpangu-spacing-real-insert-separatorがtに設定される | E-01 L50 `(setq-hook! 'org-mode-hook pangu-spacing-real-insert-separtor t))` | ○ |

### fcitx関連（UT-CHN-022〜026）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | fcitxがevilの後にロードされる | E-01 L53-54 `(use-package! fcitx :after evil` | ○ |
| C-23 | fcitx5-remoteが見つかった場合にコマンドが設定される | E-01 L56-57 `(or (executable-find "fcitx5-remote")` | ○ |
| C-24 | fcitx-remoteが見つかった場合にコマンドが設定される | E-01 L58 `(executable-find "fcitx-remote"))` | ○ |
| C-25 | fcitxコマンドが見つからない場合にnilのまま | E-01 L56 `when`条件から推論 | ○ |
| C-26 | fcitx-evil-turn-onが呼ばれる | E-01 L59 `(fcitx-evil-turn-on)))` | ○ |

### ace-pinyin関連（UT-CHN-027〜029）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | ace-pinyinがavyの後にロードされる | E-01 L62 `(use-package! ace-pinyin :after avy` | ○ |
| C-28 | ace-pinyin-use-avyがtに設定される | E-01 L63 `:init (setq ace-pinyin-use-avy t)` | ○ |
| C-29 | ace-pinyin-global-modeが有効化される | E-01 L65 `:config (ace-pinyin-global-mode t))` | ○ |

### evil-pinyin関連（UT-CHN-030〜033）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | evil +everywhere有効時にevil-pinyinがロードされる | E-01 L68-69 `(use-package! evil-pinyin :when (modulep! :editor evil +everywhere)` | ○ |
| C-31 | evil +everywhere無効時にevil-pinyinがロードされない | E-01 L69 `:when`条件から推論 | ○ |
| C-32 | evil-pinyin-with-search-ruleが'alwaysに設定される | E-01 L72 `(setq-default evil-pinyin-with-search-rule 'always)` | ○ |
| C-33 | global-evil-pinyin-modeが有効化される | E-01 L73 `(global-evil-pinyin-mode 1))` | ○ |

### org-html-paragraph-aアドバイス関連（UT-CHN-034〜038）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-34 | 連続する中国語行が結合される | E-01 L79-90 `(defadvice! +chinese--org-html-paragraph-a` | ○ |
| C-35 | マルチバイト文字間の改行が削除される | E-01 L87-89 `(replace-regexp-in-string ... "\\1\\2" contents)))` | ○ |
| C-36 | 英語のみのテキストは変更されない | E-01 L84 `fix-regexp "[[:multibyte:]]"` - 英語はマッチしない | ○ |
| C-37 | 中英混在テキストで適切に処理される | E-01 L87 正規表現パターンから推論 | ○ |
| C-38 | 引数がcl-destructuring-bindで分解される | E-01 L83 `(cl-destructuring-bind (paragraph contents info) args` | ○ |

### packages.el関連（UT-CHN-039〜046）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-39 | pyimパッケージが定義される | E-02 L4 `(package! pyim :pin "a56c8d992c872addcfc295c409a7bae70d00af87")` | ○ |
| C-40 | fcitxパッケージが定義される | E-02 L5 `(package! fcitx :pin "b399482ed8db5893db2701df01db4c38cccda495")` | ○ |
| C-41 | ace-pinyinパッケージが定義される | E-02 L6 `(package! ace-pinyin :pin "47662c0b05775ba353464b44c0f1a037c85e746e")` | ○ |
| C-42 | pangu-spacingパッケージが定義される | E-02 L7 `(package! pangu-spacing :pin "6509df9c90bbdb9321a756f7ea15bb2b60ed2530")` | ○ |
| C-43 | +rime有効時にliberimeパッケージが定義される | E-02 L8-9 `(when (modulep! +rime) (package! liberime :pin ...))` | ○ |
| C-44 | +childframe有効時にposframeパッケージが定義される | E-02 L10-11 `(when (modulep! +childframe) (package! posframe :pin ...))` | ○ |
| C-45 | evil +everywhere有効時にevil-pinyinパッケージが定義される | E-02 L12-15 `(when (modulep! :editor evil +everywhere) (package! evil-pinyin ...))` | ○ |
| C-46 | evil-pinyinのautoloadsビルドがスキップされる | E-02 L14 `:recipe (:build (:not autoloads))` | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - すべてのテストケースはソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースはソースコードに明確な根拠があります
- 注意点：
  - Emacs Lispの動的な性質上、ランタイムの挙動はテスト環境に依存します
  - モジュールフラグ（+rime, +childframe等）の組み合わせによる相互作用は追加テストが必要な場合があります

## 6) レビュアーチェックリスト（最小）
- [ ] pyim基本設定（UT-CHN-001〜004）が正しくテスト対象として特定されているか
- [ ] +chinese--input-method-p関数の正常系・異常系が網羅されているか
- [ ] 各モジュールフラグ（+rime, +childframe）の有効/無効ケースが含まれているか
- [ ] 補完システム（vertico, ivy）との連携テストが含まれているか
- [ ] org-html-paragraph-aアドバイスの境界値テストが適切か
- [ ] パッケージ定義（packages.el）のテストケースが包括的か
