---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 89
  claims_with_evidence: 89
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：89 / 89、根拠なし：0
- 優先レビュー（高）
  1. **全テストケースは直接ソースコードから導出**：コードから明確に特定可能
  2. **Emacs Lisp特有のテスト観点を適用**：defun, defvar, defmacroの解析に基づく
  3. **Doom Emacsフレームワークの規約に準拠**：autoload, use-package!パターンに基づく

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `modules/completion/ivy/config.el` - メイン設定ファイル (411行)
- E-02: `modules/completion/ivy/autoload/ivy.el` - 自動ロード関数定義 (369行)
- E-03: `modules/completion/ivy/autoload/evil.el` - Evil統合関数 (15行)
- E-04: `modules/completion/ivy/autoload/posframe.el` - Posframe表示関数 (17行)
- E-05: `modules/completion/ivy/packages.el` - パッケージ依存定義 (24行)
- E-06: `modules/completion/ivy/doctor.el` - 診断チェック定義 (8行)

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

### autoload/ivy.el の関数

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | +ivy--is-workspace-buffer-pはバッファがワークスペースに含まれるか判定する | E-02 (行3-7) | ○ |
| C-02 | +ivy--is-workspace-other-buffer-pはカレントバッファを除外して判定する | E-02 (行9-14) | ○ |
| C-03 | +ivy-rich-buffer-nameはバッファ名を表示しフェイスを適用する | E-02 (行17-35) | ○ |
| C-04 | +ivy-rich-describe-variable-transformerは変数値をプレビュー表示する | E-02 (行38-62) | ○ |
| C-05 | +ivy-format-function-line-or-arrowはGUI/ターミナルで表示を切り替える | E-02 (行65-82) | ○ |
| C-06 | +ivy--switch-buffer-previewはバッファプレビューを実行する | E-02 (行88-93) | ○ |
| C-07 | +ivy--switch-bufferは条件に応じてバッファ切り替えを行う | E-02 (行95-127) | ○ |
| C-08 | +ivy/switch-workspace-bufferはワークスペースバッファに切り替える | E-02 (行130-135) | ○ |
| C-09 | +ivy/switch-workspace-buffer-other-windowは別ウィンドウで開く | E-02 (行138-141) | ○ |
| C-10 | +ivy/switch-bufferは通常のバッファ切り替えを行う | E-02 (行144-147) | ○ |
| C-11 | +ivy/switch-buffer-other-windowは別ウィンドウでバッファを開く | E-02 (行150-153) | ○ |
| C-12 | +ivy/woccurはwgrepバッファを生成する | E-02 (行156-182) | ○ |
| C-13 | +ivy-yas-prompt-fnはyasnippetプロンプトをivyで表示する | E-02 (行185-186) | ○ |
| C-14 | +ivy-git-grep-other-window-actionはgrep結果を別ウィンドウで開く | E-02 (行189-201) | ○ |
| C-15 | +ivy-confirm-delete-fileはファイル削除確認を行う | E-02 (行204-205) | ○ |
| C-16 | +ivy/projectile-find-fileは状況に応じて適切なfind-fileを選択する | E-02 (行212-237) | ○ |
| C-17 | +ivy-file-searchはripgrepを使用してファイル検索を行う | E-02 (行240-282) | ○ |
| C-18 | +ivy/project-searchはプロジェクトルートから検索を行う | E-02 (行285-291) | ○ |
| C-19 | +ivy/project-search-from-cwdはカレントディレクトリから検索を行う | E-02 (行294-299) | ○ |
| C-20 | +ivy/compileはカレントディレクトリでコンパイルを実行する | E-02 (行306-313) | ○ |
| C-21 | +ivy/project-compileはプロジェクトルートでコンパイルを実行する | E-02 (行316-319) | ○ |
| C-22 | +ivy/jump-listはジャンプリストを表示・選択する | E-02 (行322-360) | ○ |
| C-23 | +ivy/git-grep-other-window-actionはアクションを設定してミニバッファを終了する | E-02 (行363-368) | ○ |

### autoload/posframe.el の関数

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-24 | +ivy-display-at-frame-center-near-bottom-fnはフレーム中央下部に表示する | E-04 (行5-7) | ○ |
| C-25 | +ivy-poshandler-frame-center-near-bottom-fnは位置座標を計算する | E-04 (行10-15) | ○ |

### autoload/evil.el の関数

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-26 | +ivy:project-searchはExコマンドからプロジェクト検索を行う | E-03 (行5-8) | ○ |
| C-27 | +ivy:project-search-from-cwdはExコマンドからcwd検索を行う | E-03 (行11-14) | ○ |

### config.el の変数・関数

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | +ivy-buffer-previewはバッファプレビューの動作を制御する | E-01 (行3-8) | ○ |
| C-29 | +ivy-buffer-unreal-faceは非実バッファのフェイスを指定する | E-01 (行10-11) | ○ |
| C-30 | +ivy-edit-functionsは編集コマンドのマッピングを保持する | E-01 (行13-15) | ○ |
| C-31 | +ivy--set-jump-point-maybe-hはジャンプポイントを設定する | E-01 (行87-95) | ○ |
| C-32 | ivy-rich-bookmark-filename-or-emptyはブックマークのファイル名を返す | E-01 (行111-113) | ○ |
| C-33 | +ivy--run-from-ivy-directory-aはivy-state-directoryからアクションを実行する | E-01 (行191-194) | ○ |
| C-34 | +counsel-rg-suppress-error-code-aはripgrepの終了コード2を抑制する | E-01 (行207-219) | ○ |
| C-35 | +ivy--counsel-file-jump-use-fd-rg-aはfd/rgを優先使用する | E-01 (行272-300) | ○ |
| C-36 | +ivy-prescient-non-fuzzyは非ファジー検索のre-builderを提供する | E-01 (行397-399) | ○ |

### doctor.el のチェック

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-37 | helm/ido/verticoとの競合がチェックされる | E-06 (行4-7) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし。全てのテストケースはソースコード上の関数・変数定義から直接導出されています。

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードに基づいており、Emacs Lispの標準的なテスト手法が適用可能

### 注意点
1. **ERT (Emacs Lisp Regression Testing) フレームワークの使用を推奨** - Emacs Lispの標準テストフレームワーク
2. **モック/スタブが必要な関数**:
   - `+workspace-contains-buffer-p` (ワークスペース関連)
   - `doom-project-root`, `doom-project-p` (プロジェクト関連)
   - `better-jumper-*` (ジャンプリスト関連)
   - `counsel-*`, `ivy-*` (外部パッケージ関連)
3. **GUI/ターミナル環境の違い** - `display-graphic-p`の戻り値によって異なる動作があるため、両環境でのテストが必要

## 6) レビュアーチェックリスト（最小）
- [ ] 各関数のテストケースが正常系・異常系・境界値を網羅しているか
- [ ] Doom Emacs固有の関数(`doom-*`, `modulep!`等)に対するモック戦略が適切か
- [ ] Evil統合関数がEvilモード有効時のみテストされる想定か確認
- [ ] +childframeモジュール依存のposframe関数のテスト条件が適切か
- [ ] ワークスペース関連関数のテストでworkspaceモジュールの依存が考慮されているか
- [ ] ripgrepやfd等の外部コマンド依存関数のテスト方針が明確か
