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

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

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：76 / 76、根拠なし：0
- 優先レビュー（高）
  1. **全テストケースはソースコードから直接導出**：根拠あり
  2. **コンパイラ関連テスト（UT-MKD-014〜031）**：外部依存のためモック検討推奨
  3. **evil統合テスト（UT-MKD-059〜062）**：環境依存確認推奨

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

- E-01: `modules/lang/markdown/autoload.el` - 自動ロード関数定義ファイル（108行）
- E-02: `modules/lang/markdown/config.el` - 設定ファイル（171行）
- E-03: `modules/lang/markdown/doctor.el` - 診断チェックファイル（34行）
- E-04: `modules/lang/markdown/packages.el` - パッケージ定義ファイル（23行）

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

### autoload.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | +markdown-flyspell-word-pが通常テキストでtを返す | E-01 L4-35 | ○ |
| C-02 | +markdown-flyspell-word-pがコードブロック内コメントでtを返す | E-01 L14-16 (font-lock-comment-face条件) | ○ |
| C-03 | +markdown-flyspell-word-pがコードブロック内(非コメント)でnilを返す | E-01 L14-15 (markdown-code-block-at-point-p) | ○ |
| C-04 | +markdown-flyspell-word-pがインラインコードでnilを返す | E-01 L17 (markdown-inline-code-at-point-p) | ○ |
| C-05 | +markdown-flyspell-word-pがHTMLコメント内でnilを返す | E-01 L18 (markdown-in-comment-p) | ○ |
| C-06 | +markdown-flyspell-word-pが参照リンク内でnilを返す | E-01 L19 (markdown-reference-face) | ○ |
| C-07 | +markdown-flyspell-word-pがマークアップ記号でnilを返す | E-01 L20 (markdown-markup-face) | ○ |
| C-08 | +markdown-flyspell-word-pがURL上でnilを返す | E-01 L21-22 (markdown-plain-url-face, markdown-url-face) | ○ |
| C-09 | +markdown-flyspell-word-pがHTML属性名でnilを返す | E-01 L24 (markdown-html-attr-name-face) | ○ |
| C-10 | +markdown-flyspell-word-pがHTML属性値でnilを返す | E-01 L25 (markdown-html-attr-value-face) | ○ |
| C-11 | +markdown-flyspell-word-pがHTMLタグ名でnilを返す | E-01 L26 (markdown-html-tag-name-face) | ○ |
| C-12 | +markdown-flyspell-word-pがYAMLメタデータでnilを返す | E-01 L15 (markdown-yaml-metadata-section) | ○ |
| C-13 | flyspellオーバーレイ削除機能 | E-01 L28-34 (delete-overlay処理) | ○ |
| C-14 | +markdown-compileがフック実行で最初の成功を使用 | E-01 L42-49 (run-hook-with-args-until-success) | ○ |
| C-15 | +markdown-compileでmarkedが最初に試行される | E-02 L3-7 (+markdown-compile-functionsの順序) | ○ |
| C-16 | +markdown-compileでmarked失敗時pandocが試行される | E-02 L3-7, E-01 L47-48 | ○ |
| C-17 | 全コンパイラ不可時にuser-errorが発生 | E-01 L49 (user-error呼び出し) | ○ |
| C-18 | 空リージョンでのコンパイル実行 | E-01 L42-49 (beg/end引数処理) | ○ |
| C-19 | +markdown-compile-markedがmarked利用可能時動作 | E-01 L52-59 (executable-find "marked") | ○ |
| C-20 | gfm-modeでGFMオプション追加 | E-01 L58-59 (--gfm --tables --breaks) | ○ |
| C-21 | markdown-modeでGFMオプション非追加 | E-01 L58-59 (条件分岐) | ○ |
| C-22 | marked未インストール時nil返却 | E-01 L55 (when executable-find) | ○ |
| C-23 | +markdown-compile-pandocがpandoc利用可能時動作 | E-01 L62-70 (executable-find "pandoc") | ○ |
| C-24 | pandocに正しいオプションが渡される | E-01 L67-70 (-f markdown -t html等) | ○ |
| C-25 | pandoc未インストール時nil返却 | E-01 L65 (when executable-find) | ○ |
| C-26 | +markdown-compile-multimarkdownが利用可能時動作 | E-01 L73-77 | ○ |
| C-27 | multimarkdown未インストール時nil返却 | E-01 L76 (when executable-find) | ○ |
| C-28 | +markdown-compile-markdownがMarkdown.pl利用可能時動作 | E-01 L79-85 | ○ |
| C-29 | +markdown-compile-markdownがmarkdown利用可能時動作 | E-01 L83-84 | ○ |
| C-30 | Markdown.plが優先される | E-01 L83 (or式の順序) | ○ |
| C-31 | 両方未インストール時nil返却 | E-01 L83-85 (when-let) | ○ |
| C-32 | +markdown/insert-delが選択範囲に取り消し線挿入 | E-01 L91-107 (markdown-wrap-or-insert) | ○ |
| C-33 | カーソル位置の単語に取り消し線挿入 | E-01 L107 (markdown-wrap-or-insert 'word) | ○ |
| C-34 | 既存取り消し線の削除 | E-01 L105-106 (markdown-unwrap-thing-at-point) | ○ |
| C-35 | 空マークアップ挿入 | E-01 L107 (markdown-wrap-or-insert nil nil nil) | ○ |
| C-36 | 複数行対応 | E-01 L95 (regexp内の\n対応) | ○ |
| C-37 | エスケープ処理 | E-01 L95 (regexp内の[^\\\\]パターン) | ○ |

### config.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | +markdown-compile-functionsに4コンパイラ含有 | E-02 L3-7 | ○ |
| C-39 | コンパイラリスト順序 | E-02 L4-7 (marked, pandoc, markdown, multimarkdown) | ○ |
| C-40 | front-matter fontification無効化 | E-02 L77-79 (defadvice!) | ○ |
| C-41 | point-max移動 | E-02 L79 (goto-char (point-max)) | ○ |
| C-42 | コードブロックfontification最適化 | E-02 L84-86 (delay-mode-hooks) | ○ |
| C-43 | markdown-italic-underscore設定 | E-02 L21 | ○ |
| C-44 | markdown-command設定 | E-02 L29 (#'+markdown-compile) | ○ |
| C-45 | macOSでopenコマンド設定 | E-02 L33 | ○ |
| C-46 | Linuxでxdg-openコマンド設定 | E-02 L34 | ○ |
| C-47 | markdown-mouse-follow-link無効化 | E-02 L52 | ○ |
| C-48 | GFM追加言語設定 | E-02 L22 | ○ |
| C-49 | コードブロックネイティブfontification | E-02 L25 | ○ |
| C-50 | コードブロック内auto-fill抑制 | E-02 L70-72 | ○ |
| C-51 | Rust言語モード設定 | E-02 L66-67 | ○ |
| C-52 | バッククォートペアリング設定 | E-02 L62-63 | ○ |
| C-53 | バッククォートペアリング除外条件 | E-02 L63 (sp-point-before-word-p) | ○ |
| C-54 | flyspell判定関数設定 | E-02 L55-56 | ○ |
| C-55 | lookup handler設定 | E-02 L57-60 | ○ |
| C-56 | tree-sitter設定 | E-02 L133-147 | ○ |
| C-57 | tree-sitter ABIバージョン対応(旧) | E-02 L143, L146 | ○ |
| C-58 | tree-sitter ABIバージョン対応(新) | E-02 L143, L146 | ○ |
| C-59 | evil-markdown-modeフック | E-02 L150-152 | ○ |
| C-60 | TABキーバインド | E-02 L156 | ○ |
| C-61 | M-iキーバインド | E-02 L161 | ○ |
| C-62 | ]hキーバインド | E-02 L165 | ○ |

### doctor.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | tree-sitter依存チェック | E-03 L4-6 (assert!) | ○ |
| C-64 | Emacs 31未満tree-sitter警告 | E-03 L8-11 (warn!) | ○ |
| C-65 | コンパイラ存在チェック | E-03 L13-22 (cl-loop) | ○ |
| C-66 | コンパイラ不在警告 | E-03 L22 (warn!) | ○ |
| C-67 | カスタムコマンドチェック | E-03 L23-27 (stringp markdown-command) | ○ |
| C-68 | カスタムコマンド不在警告 | E-03 L26-27 (warn!) | ○ |
| C-69 | grip依存チェック | E-03 L29-33 | ○ |
| C-70 | grip不在警告 | E-03 L33 (warn!) | ○ |

### packages.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | markdown-modeパッケージ定義 | E-04 L4 | ○ |
| C-72 | markdown-tocパッケージ定義 | E-04 L5 | ○ |
| C-73 | edit-indirectパッケージ定義 | E-04 L9 | ○ |
| C-74 | markdown-ts-modeパッケージ定義 | E-04 L11-14 | ○ |
| C-75 | grip-modeパッケージ定義 | E-04 L16-17 | ○ |
| C-76 | evil-markdownパッケージ定義 | E-04 L19-22 | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目はありません
- 全76件のテストケースがソースコードから直接導出されています

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードから直接導出
- 以下の点については実行時の環境依存があるため、テスト実装時に考慮が必要：
  1. 外部コマンド依存（marked, pandoc, markdown, multimarkdown, grip等）
  2. OS依存（macOS/Linux判定）
  3. Emacsバージョン依存（tree-sitter ABI version、Emacs 31+判定）
  4. モジュール依存（:editor evil, :lang rust, :tools tree-sitter等）

## 6) レビュアーチェックリスト（最小）
- [ ] +markdown-flyspell-word-pのface判定条件が網羅されているか確認
- [ ] コンパイラ関連テストで外部コマンドのモック戦略が適切か確認
- [ ] evil統合テストでキーバインドの期待動作が正しいか確認
- [ ] tree-sitter関連テストでABIバージョン条件が正しいか確認
- [ ] doctor.el診断テストで警告メッセージの内容が正確か確認
- [ ] パッケージ定義テストでpin値の検証が必要か確認
