---
generated_at: 2026-02-19 18:35:00
metrics:
  claims_total: 40
  claims_with_evidence: 40
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：40 / 40、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全てのテストケースにソースコード根拠あり

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

- E-01: `modules/lang/dart/config.el` - メインの設定ファイル（88行）
- E-02: `modules/lang/dart/packages.el` - パッケージ宣言ファイル（19行）
- E-03: `modules/lang/dart/doctor.el` - 診断スクリプトファイル（13行）
- E-04: `modules/lang/dart/README.org` - モジュールドキュメント（143行）

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

### config.el - +dart-common-config関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | dart-modeに対してリガチャが正しく設定される | E-01 (L3-25) set-ligatures!呼び出し | ○ |
| C-02 | dart-ts-modeに対してリガチャが正しく設定される | E-01 (L3-25) mode引数で動的設定 | ○ |
| C-03 | +lspフラグ有効時にlsp!がフックに追加される | E-01 (L24-25) when (modulep! +lsp)ブロック | ○ |
| C-04 | +lspフラグ無効時にlsp!フックが追加されない | E-01 (L24) when条件による分岐 | ○ |
| C-05 | シンボル以外のmodeが渡された場合の処理 | E-01 (L4, L25) internとformat使用 | ○ |

### config.el - dart-mode設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-06 | dart-modeが遅延ロードされる | E-01 (L29) :defer t | ○ |
| C-07 | dart-modeロード後に+dart-common-configが呼ばれる | E-01 (L31) :configブロック | ○ |

### config.el - dart-ts-mode設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-08 | +tree-sitterフラグ有効時にdart-ts-modeが設定される | E-01 (L35) :when (modulep! +tree-sitter) | ○ |
| C-09 | +tree-sitterフラグ無効時にdart-ts-modeが設定されない | E-01 (L35) :when条件による分岐 | ○ |
| C-10 | set-tree-sitter!で正しい設定が行われる | E-01 (L38-39) set-tree-sitter!呼び出し | ○ |

### config.el - flutter設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-11 | +flutterフラグ有効時にflutterが設定される | E-01 (L45) :when (modulep! +flutter) | ○ |
| C-12 | +flutterフラグ無効時にflutterが設定されない | E-01 (L45) :when条件による分岐 | ○ |
| C-13 | Flutterキーバインドがdart-mode-mapに設定される | E-01 (L48-55) map!マクロ | ○ |
| C-14 | Flutterバッファのポップアップルールが設定される | E-01 (L57-58) set-popup-rule! | ○ |

### config.el - lsp-dart設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | +lspフラグ有効時にlsp-dartが設定される | E-01 (L62) :when (modulep! +lsp) | ○ |
| C-16 | +lspフラグ無効時にlsp-dartが設定されない | E-01 (L62) :when条件による分岐 | ○ |
| C-17 | テスト実行キーバインドが設定される | E-01 (L65-72) map!マクロ | ○ |

### config.el - hover設定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-18 | +flutterフラグ有効時にhoverが設定される | E-01 (L76) :when (modulep! +flutter) | ○ |
| C-19 | +flutterフラグ無効時にhoverが設定されない | E-01 (L76) :when条件による分岐 | ○ |
| C-20 | Hoverキーバインドが設定される | E-01 (L79-86) map!マクロ | ○ |
| C-21 | Hoverバッファのポップアップルールが設定される | E-01 (L87) set-popup-rule! | ○ |

### packages.el - パッケージ宣言
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | dart-modeパッケージが宣言される | E-02 (L4) package! dart-mode | ○ |
| C-23 | +tree-sitter/treesit時にdart-ts-modeが宣言される | E-02 (L6-10) when条件 | ○ |
| C-24 | +tree-sitter無効時にdart-ts-modeが宣言されない | E-02 (L6) when条件による分岐 | ○ |
| C-25 | treesit未対応時にdart-ts-modeが宣言されない | E-02 (L6) treesit-available-p条件 | ○ |
| C-26 | +lsp/非eglot時にlsp-dartが宣言される | E-02 (L12-14) when条件 | ○ |
| C-27 | +lsp無効時にlsp-dartが宣言されない | E-02 (L12) when条件による分岐 | ○ |
| C-28 | eglot使用時にlsp-dartが宣言されない | E-02 (L13) -eglot条件 | ○ |
| C-29 | +flutter有効時にflutterが宣言される | E-02 (L16-17) when条件 | ○ |
| C-30 | +flutter無効時にflutterが宣言されない | E-02 (L16) when条件による分岐 | ○ |
| C-31 | +flutter有効時にhoverが宣言される | E-02 (L18) 同ブロック内 | ○ |
| C-32 | +flutter無効時にhoverが宣言されない | E-02 (L16) when条件による分岐 | ○ |

### doctor.el - 診断チェック
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | +lsp/tools lsp有効時にアサーション成功 | E-03 (L3-5) assert!マクロ | ○ |
| C-34 | +lsp有効/tools lsp無効時にアサーション失敗 | E-03 (L3-5) or条件の評価 | ○ |
| C-35 | +lsp無効時にアサーションがスキップ | E-03 (L3) not条件 | ○ |
| C-36 | +tree-sitter/tools tree-sitter有効時に成功 | E-03 (L7-9) assert!マクロ | ○ |
| C-37 | +tree-sitter有効/tools無効時に失敗 | E-03 (L7-9) or条件の評価 | ○ |
| C-38 | +tree-sitter無効時にスキップ | E-03 (L7) not条件 | ○ |
| C-39 | dartがPATHにある場合は警告なし | E-03 (L11-12) unless条件 | ○ |
| C-40 | dartがPATHにない場合は警告表示 | E-03 (L11-12) warn!呼び出し | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースはソースコードに直接対応している

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードから直接導出されている

### 補足事項
- Emacs Lispの単体テストはERT (Emacs Lisp Regression Testing)フレームワークで実施可能
- モジュールフラグ（+lsp, +flutter, +tree-sitter）による条件分岐が多いため、各フラグの組み合わせテストが重要
- 外部依存（dart実行可能ファイル、各種パッケージ）のモック化が必要

## 6) レビュアーチェックリスト（最小）
- [ ] +lsp, +flutter, +tree-sitterフラグの全組み合わせがテストされているか
- [ ] modulep!マクロのモック方法が適切か
- [ ] キーバインドテストの実行方法が明確か
- [ ] ポップアップルール設定の検証方法が明確か
- [ ] doctor.elのassert!/warn!のモック方法が適切か
- [ ] executable-findのモック化によるPATHテストが可能か
