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

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `modules/lang/rest/autoload.el` - autoload関数定義（+rest-request-at-point-p, +rest/dwim-at-point, +rest/fold-all）
- E-02: `modules/lang/rest/config.el` - パッケージ設定、advice関数、キーマップ定義
- E-03: `modules/lang/rest/packages.el` - パッケージ依存関係定義
- E-04: `modules/lang/rest/README.org` - モジュール説明ドキュメント
- E-05: `modules/lang/rest/.doommodule` - モジュール定義ファイル

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

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | +rest-request-at-point-pがHTTPメソッド行を検出する | E-01: L3-9 `re-search-forward restclient-method-url-regexp` | ○ |
| C-02 | posがnilの場合は現在位置で判定 | E-01: L5 `(if pos (goto-char pos))` | ○ |
| C-03 | HTTPメソッド行以外でnilが返却される | E-01: L7-8 正規表現マッチ失敗時nil | ○ |
| C-04 | コメント内のHTTPメソッドでnilが返却される | E-01: L9 `(not (nth 4 (syntax-ppss)))` | ○ |
| C-05 | バッファ先頭のHTTPメソッド行を検出 | E-01: L6 `(beginning-of-line)` で行頭から検索 | ○ |
| C-06 | バッファ末尾のHTTPメソッド行を検出 | E-01: 位置に依存しない実装 | ○ |
| C-07 | +rest/dwim-at-pointがリクエスト送信 | E-01: L15-16 `(when (+rest-request-at-point-p) (restclient-http-send-current-stay-in-window))` | ○ |
| C-08 | 非リクエスト行で何も実行されない | E-01: L15 `when`条件で制御 | ○ |
| C-09 | インタラクティブコマンドとして呼び出し可能 | E-01: L12 `;;;###autoload`, L14 `(interactive)` | ○ |
| C-10 | +rest/fold-allが全リクエストを折りたたむ | E-01: L19-28 `while`ループで全リクエスト処理 | ○ |
| C-11 | リクエスト0件でエラーなし | E-01: L25 `while`条件で制御 | ○ |
| C-12 | リクエスト1件で正しく処理 | E-01: 汎用的なwhileループ実装 | ○ |
| C-13 | 既存overlayがスキップされる | E-01: L27 `(unless (overlays-at (line-end-position))` | ○ |
| C-14 | カーソル位置が保存される | E-01: L22 `(save-excursion` | ○ |

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-15 | 自己署名SSL証明書が許可される | E-02: L13-19 `+rest--permit-self-signed-ssl-a` advice定義 | ○ |
| C-16 | gnutlsモジュールがrequireされる | E-02: L17 `(require 'gnutls)` | ○ |
| C-17 | 元の関数の戻り値がそのまま返却 | E-02: L19 `(apply fn args)` | ○ |
| C-18 | .httpファイルでrestclient-mode有効 | E-02: L4 `:mode ("\\.http\\'" . restclient-mode)` | ○ |
| C-19 | display-line-numbers-mode有効 | E-02: L6 `:hook (restclient-mode . display-line-numbers-mode)` | ○ |
| C-20 | HTTP Responseバッファがポップアップ表示 | E-02: L8 `(set-popup-rule! "^\\*HTTP Response" :size 0.4 :quit 'other)` | ○ |
| C-21 | HTTPメソッド行がimenuに登録 | E-02: L10-11 `imenu-generic-expression '((nil "^[A-Z]+\s+.+" 0))` | ○ |
| C-22 | Returnキーで+rest/dwim-at-point呼び出し | E-02: L22 `:n [return] #'+rest/dwim-at-point` | ○ |
| C-23 | zaキーでtoggle-body-visibility呼び出し | E-02: L23 `:n "za" #'restclient-toggle-body-visibility` | ○ |
| C-24 | zmキーで+rest/fold-all呼び出し | E-02: L24 `:n "zm" #'+rest/fold-all` | ○ |
| C-25 | zrキーでoutline-show-all呼び出し | E-02: L25 `:n "zr" #'outline-show-all` | ○ |
| C-26 | localleader eでhttp-send-current | E-02: L28 `"e" #'restclient-http-send-current` | ○ |
| C-27 | localleader Eでhttp-send-current-raw | E-02: L29 `"E" #'restclient-http-send-current-raw` | ○ |
| C-28 | localleader cでcopy-curl-command | E-02: L30 `"c" #'restclient-copy-curl-command` | ○ |
| C-29 | company有効時にcompany-restclientロード | E-02: L33-34 `(when (modulep! :completion company)` | ○ |
| C-30 | company-restclientバックエンド設定 | E-02: L36 `(set-company-backend! 'restclient-mode 'company-restclient)` | ○ |
| C-31 | company無効時にcompany-restclient未ロード | E-02: L34 `(when (modulep! :completion company)` 条件 | ○ |
| C-32 | +jq有効時にrestclient-jqロード | E-02: L39-41 `(when (modulep! +jq)` | ○ |
| C-33 | +jq有効時にjq-modeロード | E-02: L44-46 `(when (modulep! +jq)` | ○ |
| C-34 | +jq無効時にrestclient-jq未ロード | E-02: L40 `(when (modulep! +jq)` 条件 | ○ |

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | restclientパッケージがpin固定 | E-03: L4 `(package! restclient :pin "1800a4e367c250051617d0b8c16a7cbd7f47da69")` | ○ |
| C-36 | company有効時にcompany-restclient定義 | E-03: L5-6 `(when (modulep! :completion company) (package! company-restclient ...)` | ○ |
| C-37 | +jq有効時にjq-mode/restclient-jq定義 | E-03: L8-10 `(when (modulep! +jq)` | ○ |

## 4) 不足情報（Unknown / Missing）
- **該当なし**：全てのテストケースがソースコードに基づいて生成されており、根拠のないケースは存在しない

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードから直接導出されている
- 注意点:
  - Emacs Lispの単体テストは通常ERT（Emacs Lisp Regression Testing）を使用
  - 外部依存（restclient, company-restclient等）のモック化が必要
  - インタラクティブ機能（キーバインド）のテストは統合テスト寄りになる可能性

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの「期待結果」がソースコードの実装と整合しているか確認
- [ ] 境界値テストケース（UT-RST-005, 006, 011, 012）のカバレッジが十分か確認
- [ ] advice関数（+rest--permit-self-signed-ssl-a）のテストが実際のSSL接続で必要か検討
- [ ] キーバインドのテスト（UT-RST-022〜028）は統合テストとして実施するか検討
- [ ] modulep!マクロによる条件分岐のテスト（UT-RST-029〜034）のモック化方針を確認
