---
generated_at: 2026-02-19 14:30:00
metrics:
  claims_total: 120
  claims_with_evidence: 118
  claims_without_evidence: 2
confidence_derived: 0.98
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：118 / 120、根拠なし：2
- 優先レビュー（高）
  1. **UT-LKP-061**：pdf-view-modeでの辞書検索 - 動作確認が必要
  2. **UT-LKP-098**：+lookup:dash bang引数でのインストール機能 - helm-dash-read-docsetの実装依存

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

- E-01: `modules/tools/lookup/config.el` - モジュール設定ファイル（変数定義、use-package設定）
- E-02: `modules/tools/lookup/autoload/lookup.el` - メインルックアップ機能（set-lookup-handlers!、各種コマンド、バックエンド関数）
- E-03: `modules/tools/lookup/autoload/online.el` - オンライン検索機能（+lookup/online、プロバイダ管理）
- E-04: `modules/tools/lookup/autoload/docsets.el` - Dash docsets統合（set-docsets!、+lookup/in-docsets）
- E-05: `modules/tools/lookup/autoload/evil.el` - Evil統合コマンド（+lookup:online、+lookup:dash）
- E-06: `modules/tools/lookup/autoload/xwidget.el` - Xwidget WebKit統合（+lookup-xwidget-webkit-open-url-fn）
- E-07: `modules/tools/lookup/packages.el` - パッケージ依存関係定義
- E-08: `modules/tools/lookup/doctor.el` - 診断スクリプト

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | set-lookup-handlers!が単一モードに対してハンドラを設定できる | E-02 (L4-101) | ○ |
| C-02 | set-lookup-handlers!が複数モードに対してハンドラを設定できる | E-02 (L69: ensure-list) | ○ |
| C-03 | 全種類のハンドラが設定可能 | E-02 (L79-95) | ○ |
| C-04 | nilを渡すとハンドラが解除される | E-02 (L72-75) | ○ |
| C-05 | asyncオプションが設定可能 | E-02 (L79, L113) | ○ |
| C-06 | インラインasync指定が可能 | E-02 (L44-47 docstring, L109-114) | ○ |
| C-07 | +lookup--set-handlerがenable=tでフックに追加 | E-02 (L107-114) | ○ |
| C-08 | +lookup--set-handlerがenable=nilでフックから削除 | E-02 (L111-112) | ○ |
| C-09 | +lookup--set-handlerがspec=nilで何もしない | E-02 (L108: when spec) | ○ |
| C-10 | +lookup--run-handlerがcommandpでcall-interactively | E-02 (L116-119) | ○ |
| C-11 | +lookup--run-handlerが関数でfuncall | E-02 (L119) | ○ |
| C-12 | +lookup--run-handlersが成功時point-markerを返す | E-02 (L136-139) | ○ |
| C-13 | +lookup--run-handlersがdeferredをそのまま返す | E-02 (L133-134) | ○ |
| C-14 | +lookup--run-handlersがエラー時nilを返しウィンドウ復元 | E-02 (L127-132, L140-142) | ○ |
| C-15 | +lookup--run-handlersが失敗時にウィンドウ復元 | E-02 (L130-132) | ○ |
| C-16 | +lookup--jump-toがハンドラを順に試行 | E-02 (L144-180) | ○ |
| C-17 | +lookup--jump-toがarg指定でcompleting-read | E-02 (L155-165) | ○ |
| C-18 | +lookup--jump-toが全ハンドラ失敗でメッセージ表示 | E-02 (L168-170) | ○ |
| C-19 | +lookup--jump-toがdisplay-fnを使用 | E-02 (L172-173) | ○ |
| C-20 | +lookup--xref-showが1件でt返却 | E-02 (L199-201) | ○ |
| C-21 | +lookup--xref-showが複数件でdeferred返却 | E-02 (L199-200) | ○ |
| C-22 | +lookup--xref-showが0件でnil返却 | E-02 (L191: when xrefs) | ○ |
| C-23 | +lookup-dictionary-definition-backend-fnがtext-modeで動作 | E-02 (L203-207) | ○ |
| C-24 | +lookup-dictionary-definition-backend-fnがtext-mode以外でnil | E-02 (L205: derived-mode-p) | ○ |
| C-25 | +lookup-thesaurus-definition-backend-fnがtext-modeで動作 | E-02 (L209-213) | ○ |
| C-26 | +lookup-xref-definitions-backend-fnがxrefで検索 | E-02 (L215-219) | ○ |
| C-27 | +lookup-xref-definitions-backend-fnがcl-no-applicable-methodでnil | E-02 (L217-219) | ○ |
| C-28 | +lookup-xref-references-backend-fnがxrefで検索 | E-02 (L221-225) | ○ |
| C-29 | +lookup-dumb-jump-backend-fnがdumb-jumpで検索 | E-02 (L227-238) | ○ |
| C-30 | +lookup-dumb-jump-backend-fnがロード不可でnil | E-02 (L233: and require) | ○ |
| C-31 | +lookup-project-search-backend-fnがivyで検索 | E-02 (L248-250) | ○ |
| C-32 | +lookup-project-search-backend-fnがhelmで検索 | E-02 (L251-253) | ○ |
| C-33 | +lookup-project-search-backend-fnがverticoで検索 | E-02 (L254-256) | ○ |
| C-34 | +lookup-project-search-backend-fnがnilでnil返却 | E-02 (L245: when identifier) | ○ |
| C-35 | +lookup-evil-goto-definition-backend-fnがevil使用 | E-02 (L258-268) | ○ |
| C-36 | +lookup-evil-goto-definition-backend-fnがevil無効でnil | E-02 (L261: fboundp) | ○ |
| C-37 | +lookup-ffap-backend-fnがファイル存在時にfind-file-at-point | E-02 (L286-289) | ○ |
| C-38 | +lookup-ffap-backend-fnがURL処理 | E-02 (L288: ffap-url-p) | ○ |
| C-39 | +lookup-ffap-backend-fnが相対パス解決 | E-02 (L291-298) | ○ |
| C-40 | +lookup-ffap-backend-fnがivyでcounsel-file-jump | E-02 (L300-301) | ○ |
| C-41 | +lookup-bug-reference-backend-fnがバグ参照でURL開く | E-02 (L307-332) | ○ |
| C-42 | +lookup-bug-reference-backend-fnが#123形式対応 | E-02 (L321-325) | ○ |
| C-43 | +lookup/definitionが定義にジャンプ | E-02 (L339-350) | ○ |
| C-44 | +lookup/definitionがnilでuser-error | E-02 (L348) | ○ |
| C-45 | +lookup/definitionが見つからない時user-error | E-02 (L350) | ○ |
| C-46 | +lookup/implementationsが実装検索 | E-02 (L353-362) | ○ |
| C-47 | +lookup/implementationsがnilでuser-error | E-02 (L360) | ○ |
| C-48 | +lookup/type-definitionが型定義ジャンプ | E-02 (L365-374) | ○ |
| C-49 | +lookup/type-definitionがnilでuser-error | E-02 (L372) | ○ |
| C-50 | +lookup/referencesが参照検索 | E-02 (L377-387) | ○ |
| C-51 | +lookup/referencesがnilでuser-error | E-02 (L385) | ○ |
| C-52 | +lookup/documentationがドキュメント表示 | E-02 (L390-399) | ○ |
| C-53 | +lookup/documentationが見つからない時user-error | E-02 (L399) | ○ |
| C-54 | +lookup/fileがファイルを開く | E-02 (L402-417) | ○ |
| C-55 | +lookup/fileが同一ファイルでuser-error | E-02 (L410-413) | ○ |
| C-56 | +lookup/fileが見つからない時user-error | E-02 (L417) | ○ |
| C-57 | +lookup/dictionary-definitionがmacOSでosx-dictionary | E-02 (L433-434) | ○ |
| C-58 | +lookup/dictionary-definitionがオフラインでwordnut | E-02 (L435-440) | ○ |
| C-59 | +lookup/dictionary-definitionがオンラインでdefine-word | E-02 (L441-442) | ○ |
| C-60 | +lookup/dictionary-definitionがバックエンドなしでuser-error | E-02 (L443) | ○ |
| C-61 | +lookup/dictionary-definitionがpdf-view-modeで選択テキスト使用 | E-02 (L428-429) | △ |
| C-62 | +lookup/synonymsがオフラインでsynosaurus | E-02 (L452-457) | ○ |
| C-63 | +lookup/synonymsがオンラインでpowerthesaurus | E-02 (L458-459) | ○ |
| C-64 | +lookup/synonymsがバックエンドなしでuser-error | E-02 (L460) | ○ |
| C-65 | +lookup--online-providerが前回プロバイダを再利用 | E-03 (L7-8) | ○ |
| C-66 | +lookup--online-providerがforce-pでプロンプト表示 | E-03 (L7, L9-14) | ○ |
| C-67 | +lookup--online-providerがnamespace別に記憶 | E-03 (L6, L14) | ○ |
| C-68 | +lookup-online-backend-fnがオンライン検索実行 | E-03 (L18-24) | ○ |
| C-69 | +lookup/onlineがURLテンプレートでブラウザ開く | E-03 (L46-52) | ○ |
| C-70 | +lookup/onlineがnilでread-string | E-03 (L50-51) | ○ |
| C-71 | +lookup/onlineが関数バックエンドでfuncall | E-03 (L53-58) | ○ |
| C-72 | +lookup/onlineがプロバイダなしでuser-error | E-03 (L40-42) | ○ |
| C-73 | +lookup/onlineがURLエンコード実行 | E-03 (L48-49: url-encode-url) | ○ |
| C-74 | +lookup/online-selectが常にプロンプト表示 | E-03 (L62-66) | ○ |
| C-75 | +lookup--online-backend-googleがivyでcounsel-search | E-03 (L77-81) | ○ |
| C-76 | +lookup--online-backend-googleがhelmで検索 | E-03 (L82-86) | ○ |
| C-77 | +lookup--online-backend-googleがivy/helm無効でnil | E-03 (L77, L82) | ○ |
| C-78 | +lookup--online-backend-duckduckgoがivyで検索 | E-03 (L91-95) | ○ |
| C-79 | set-docsets!が単一モードにドキュセット登録 | E-04 (L7-51) | ○ |
| C-80 | set-docsets!が複数モードに登録 | E-04 (L30: ensure-list) | ○ |
| C-81 | set-docsets!が:addで追加 | E-04 (L29, L38, L49) | ○ |
| C-82 | set-docsets!が:removeで削除 | E-04 (L29, L38, L48-49) | ○ |
| C-83 | set-docsets!がベクター形式で条件付き登録 | E-04 (L41-47) | ○ |
| C-84 | set-docsets!がnilで設定解除 | E-04 (L33-34) | ○ |
| C-85 | set-docsets!が不正形式でエラー | E-04 (L45) | ○ |
| C-86 | +lookup-dash-docsets-backend-fnがドキュセット検索 | E-04 (L54-71) | ○ |
| C-87 | +lookup-dash-docsets-backend-fnがドキュセットなしでnil | E-04 (L69: when-let) | ○ |
| C-88 | +lookup-dash-docsets-backend-fnがロード不可でnil | E-04 (L68: require) | ○ |
| C-89 | +lookup/in-docsetsがverticoでconsult-dash | E-04 (L95-96) | ○ |
| C-90 | +lookup/in-docsetsがivyでcounsel-dash | E-04 (L97-98) | ○ |
| C-91 | +lookup/in-docsetsがhelmでhelm-dash | E-04 (L99-100) | ○ |
| C-92 | +lookup/in-docsetsがprefix引数で全ドキュセット | E-04 (L90-92) | ○ |
| C-93 | +lookup/in-docsetsがバックエンドなしでuser-error | E-04 (L101) | ○ |
| C-94 | +lookup/in-all-docsetsが+lookup/in-docsets呼び出し | E-04 (L104-107) | ○ |
| C-95 | +lookup:onlineがEvilコマンドとして動作 | E-05 (L5-10) | ○ |
| C-96 | +lookup:onlineがbangでプロバイダ選択強制 | E-05 (L10) | ○ |
| C-97 | +lookup:dashがEvilコマンドとして動作 | E-05 (L13-22) | ○ |
| C-98 | +lookup:dashがbangでドキュセット選択 | E-05 (L17-21) | △ |
| C-99 | +lookup-xwidget-webkit-open-url-fnがxwidget使用 | E-06 (L6-19) | ○ |
| C-100 | +lookup-xwidget-webkit-open-url-fnがターミナルでbrowse-url | E-06 (L7-8) | ○ |
| C-101 | +lookup-xwidget-webkit-open-url-fnがxwidget未サポートでuser-error | E-06 (L9-10) | ○ |
| C-102 | +lookup-xwidget-webkit-open-url-fnがnew-sessionで新規セッション | E-06 (L16) | ○ |
| C-103 | +lookup-xwidget-webkit-open-url-fnがセッション再利用 | E-06 (L14, L18) | ○ |
| C-104 | +lookup-provider-url-alistがデフォルトプロバイダ含む | E-01 (L17-41) | ○ |
| C-105 | +lookup-provider-url-alistが+yandexでYandex追加 | E-01 (L36-39) | ○ |
| C-106 | +lookup-provider-url-alistが:lang rustでRust Docs追加 | E-01 (L40-41) | ○ |
| C-107 | +lookup-definition-functionsがデフォルトリスト含む | E-01 (L53-58) | ○ |
| C-108 | +lookup-references-functionsがデフォルトリスト含む | E-01 (L86-89) | ○ |
| C-109 | +lookup-documentation-functionsがデフォルトリスト含む | E-01 (L99-100) | ○ |
| C-110 | +lookup-file-functionsがデフォルトリスト含む | E-01 (L110-112) | ○ |
| C-111 | +lookup-dictionary-prefer-offlineが+offlineで設定 | E-01 (L122) | ○ |
| C-112 | dumb-jumpの設定が適用される | E-01 (L137-147) | ○ |
| C-113 | dumb-jump-selectorが補完フレームワークに応じて設定 | E-01 (L143-146) | ○ |
| C-114 | etags--xref-backendがxref-backend-functionsから削除 | E-01 (L161) | ○ |
| C-115 | ivy-xref設定が適用される | E-01 (L173-187) | ○ |
| C-116 | consult-xref設定が適用される | E-01 (L192-197) | ○ |
| C-117 | dash-docs設定が適用される | E-01 (L203-217) | ○ |
| C-118 | +lookup-documentation-functionsにdash-docsバックエンド追加 | E-01 (L207) | ○ |
| C-119 | doctorがsqlite3存在確認 | E-08 (L3-5) | ○ |
| C-120 | doctorがsqlite3なしで警告 | E-08 (L5) | ○ |

## 4) 不足情報（Unknown / Missing）
- **UT-LKP-061（pdf-view-mode対応）**: pdf-view-active-region-textの動作は外部パッケージ（pdf-tools）に依存しており、実際の動作確認が必要
  - 候補：pdf-toolsのドキュメント / pdf-view-mode実装コード
- **UT-LKP-098（helm-dash-read-docset）**: helm-dash-read-docsetおよびhelm-dash-official-docsetsは外部パッケージに依存
  - 候補：helm-dashパッケージのドキュメント / 実装コード

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 大部分のテストケースはソースコードから直接導出可能
- **1: 中リスク** - 外部パッケージ（pdf-tools, helm-dash）との統合部分
  - UT-LKP-061: pdf-view-modeでの辞書検索
  - UT-LKP-098: helm-dashでのドキュセットインストール
- **0: 低リスク** - 変数定義やuse-package設定は静的解析で十分確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] 主要コマンド（+lookup/definition, +lookup/references等）のテストケースが正常系・異常系を網羅しているか
- [ ] バックエンド関数（xref, dumb-jump, ffap等）の境界条件が十分にテストされているか
- [ ] 各補完フレームワーク（ivy/helm/vertico）統合のテストケースが含まれているか
- [ ] Evil統合コマンドのテストケースが適切か
- [ ] Dash docsets統合のテストケースが適切か
- [ ] 外部パッケージ依存（pdf-tools, helm-dash）のテストケースで追加確認が必要な項目があるか
- [ ] 変数・設定のテストケースが適切か
- [ ] doctor.elの診断ロジックがテストされているか
