---
generated_at: 2026-03-01 15:00:00
metrics:
  claims_total: 187
  claims_with_evidence: 187
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: pretty-format 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `packages/pretty-format/src/index.ts` - メインformat関数、オプション検証、プラグイン処理
- E-02: `packages/pretty-format/src/types.ts` - 型定義（Config, Options, Plugin等）
- E-03: `packages/pretty-format/src/collections.ts` - コレクション出力関数（printIteratorEntries, printIteratorValues, printListItems, printObjectProperties）
- E-04: `packages/pretty-format/src/plugins/AsymmetricMatcher.ts` - 非対称マッチャープラグイン
- E-05: `packages/pretty-format/src/plugins/DOMElement.ts` - DOM要素プラグイン
- E-06: `packages/pretty-format/src/plugins/DOMCollection.ts` - DOMコレクションプラグイン
- E-07: `packages/pretty-format/src/plugins/ReactElement.ts` - React要素プラグイン
- E-08: `packages/pretty-format/src/plugins/ReactTestComponent.ts` - Reactテストコンポーネントプラグイン
- E-09: `packages/pretty-format/src/plugins/Immutable.ts` - Immutable.jsプラグイン
- E-10: `packages/pretty-format/src/plugins/lib/markup.ts` - マークアップヘルパー関数
- E-11: `packages/pretty-format/src/plugins/lib/escapeHTML.ts` - HTMLエスケープ関数

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

### index.ts - format関数・基本データ型 (C-01〜C-43)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | boolean true値フォーマット | E-01 (L128-130) | ○ |
| C-02 | boolean false値フォーマット | E-01 (L128-130) | ○ |
| C-03 | undefined値フォーマット | E-01 (L131-133) | ○ |
| C-04 | null値フォーマット | E-01 (L134-136) | ○ |
| C-05 | 数値フォーマット | E-01 (L140-142) | ○ |
| C-06 | -0フォーマット | E-01 (L95-97) | ○ |
| C-07 | BigIntフォーマット | E-01 (L99-101) | ○ |
| C-08 | 文字列フォーマット | E-01 (L146-151) | ○ |
| C-09 | escapeString処理 | E-01 (L147-149) | ○ |
| C-10 | 名前付き関数フォーマット | E-01 (L103-108) | ○ |
| C-11 | 無名関数フォーマット | E-01 (L103-108) | ○ |
| C-12 | printFunctionName:false | E-01 (L104-106) | ○ |
| C-13 | Symbolフォーマット | E-01 (L110-112) | ○ |
| C-14 | 有効Dateフォーマット | E-01 (L179-181) | ○ |
| C-15 | 無効Dateフォーマット | E-01 (L180) | ○ |
| C-16 | 正規表現フォーマット | E-01 (L185-191) | ○ |
| C-17 | escapeRegex処理 | E-01 (L186-189) | ○ |
| C-18 | Errorフォーマット | E-01 (L114-116, L193-195) | ○ |
| C-19 | Promiseフォーマット | E-01 (L161-163) | ○ |
| C-20 | WeakMapフォーマット | E-01 (L164-166) | ○ |
| C-21 | WeakSetフォーマット | E-01 (L167-169) | ○ |
| C-22 | 空配列フォーマット | E-01 (L244-254) | ○ |
| C-23 | 配列フォーマット | E-01 (L244-254) | ○ |
| C-24 | printBasicPrototype:false（配列） | E-01 (L250-253) | ○ |
| C-25 | 空Mapフォーマット | E-01 (L255-267) | ○ |
| C-26 | Mapフォーマット | E-01 (L255-267) | ○ |
| C-27 | 空Setフォーマット | E-01 (L268-279) | ○ |
| C-28 | Setフォーマット | E-01 (L268-279) | ○ |
| C-29 | 空オブジェクトフォーマット | E-01 (L283-299) | ○ |
| C-30 | オブジェクトフォーマット | E-01 (L283-299) | ○ |
| C-31 | printBasicPrototype:false（オブジェクト） | E-01 (L287-290) | ○ |
| C-32 | 循環参照検出 | E-01 (L212-214) | ○ |
| C-33 | maxDepth制限 | E-01 (L218) | ○ |
| C-34 | toJSON呼び出し | E-01 (L221-229) | ○ |
| C-35 | callToJSON:false | E-01 (L221-229) | ○ |
| C-36 | minオプション | E-01 (L500, L504-505) | ○ |
| C-37 | カスタムインデント | E-01 (L495-497, L508-510) | ○ |
| C-38 | compareKeys関数 | E-01 (L489-492) | ○ |
| C-39 | compareKeys:null | E-01 (L489-492) | ○ |
| C-40 | Argumentsフォーマット | E-01 (L232-243) | ○ |
| C-41 | TypedArrayフォーマット | E-01 (L244-254) | ○ |
| C-42 | ArrayBufferフォーマット | E-01 (L244-254) | ○ |
| C-43 | DataViewフォーマット | E-01 (L244-254) | ○ |

### index.ts - オプション検証 (C-44〜C-57)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | 不明オプションエラー | E-01 (L424-429) | ○ |
| C-45 | min+indentエラー | E-01 (L431-435) | ○ |
| C-46 | theme:nullエラー | E-01 (L437-440) | ○ |
| C-47 | theme:stringエラー | E-01 (L442-446) | ○ |
| C-48 | 無効themeキー値エラー | E-01 (L450-468) | ○ |
| C-49 | highlightオプション | E-01 (L488) | ○ |
| C-50 | カスタムプラグイン適用 | E-01 (L520-524) | ○ |
| C-51 | プラグイン検索成功 | E-01 (L346-358) | ○ |
| C-52 | プラグイン検索null | E-01 (L346-358) | ○ |
| C-53 | プラグインtestエラー | E-01 (L352-354) | ○ |
| C-54 | プラグイン戻り値エラー | E-01 (L338-342) | ○ |
| C-55 | isNewPlugin判定(serialize) | E-01 (L301-303) | ○ |
| C-56 | isNewPlugin判定(print) | E-01 (L301-303) | ○ |
| C-57 | maxWidth制限 | E-01 (L499) | ○ |

### collections.ts (C-58〜C-75)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-58 | printIteratorEntries空イテレータ | E-03 (L35-94) | ○ |
| C-59 | printIteratorEntriesキーバリュー | E-03 (L35-94) | ○ |
| C-60 | printIteratorEntriesセパレータ | E-03 (L45) | ○ |
| C-61 | printIteratorEntries maxWidth | E-03 (L59-62) | ○ |
| C-62 | printIteratorValues空イテレータ | E-03 (L101-141) | ○ |
| C-63 | printIteratorValues値フォーマット | E-03 (L101-141) | ○ |
| C-64 | printIteratorValues maxWidth | E-03 (L121-124) | ○ |
| C-65 | printListItems空配列 | E-03 (L148-195) | ○ |
| C-66 | printListItems配列要素 | E-03 (L148-195) | ○ |
| C-67 | printListItemsスパース配列 | E-03 (L174) | ○ |
| C-68 | printListItems ArrayBuffer | E-03 (L157-158) | ○ |
| C-69 | printListItems maxWidth | E-03 (L169-172) | ○ |
| C-70 | printObjectProperties空オブジェクト | E-03 (L202-236) | ○ |
| C-71 | printObjectPropertiesプロパティ | E-03 (L202-236) | ○ |
| C-72 | printObjectProperties Symbol | E-03 (L19-25) | ○ |
| C-73 | printObjectProperties compareKeys | E-03 (L211) | ○ |
| C-74 | getKeysOfEnumerableProperties | E-03 (L11-28) | ○ |
| C-75 | getKeysOfEnumerableProperties null | E-03 (L16-17) | ○ |

### AsymmetricMatcher.ts (C-76〜C-90)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | test: asymmetricMatcherシンボルtrue | E-04 (L105-106) | ○ |
| C-77 | test: asymmetricMatcherシンボルfalse | E-04 (L105-106) | ○ |
| C-78 | serialize: ArrayContaining | E-04 (L27-42) | ○ |
| C-79 | serialize: ArrayNotContaining | E-04 (L27-42) | ○ |
| C-80 | serialize: ObjectContaining | E-04 (L44-59) | ○ |
| C-81 | serialize: ObjectNotContaining | E-04 (L44-59) | ○ |
| C-82 | serialize: StringMatching | E-04 (L61-70) | ○ |
| C-83 | serialize: StringNotMatching | E-04 (L61-70) | ○ |
| C-84 | serialize: StringContaining | E-04 (L72-81) | ○ |
| C-85 | serialize: StringNotContaining | E-04 (L72-81) | ○ |
| C-86 | serialize: ArrayOf | E-04 (L83-94) | ○ |
| C-87 | serialize: NotArrayOf | E-04 (L83-94) | ○ |
| C-88 | serialize: toAsymmetricMatcher呼び出し | E-04 (L102) | ○ |
| C-89 | serialize: toAsymmetricMatcherなしエラー | E-04 (L96-99) | ○ |
| C-90 | serialize: maxDepth省略形式 | E-04 (L31-33, L48-50, L84-86) | ○ |

### DOMElement.ts (C-91〜C-104)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-91 | test: ELEMENT_NODE | E-05 (L41-52, L54-55) | ○ |
| C-92 | test: TEXT_NODE | E-05 (L48) | ○ |
| C-93 | test: COMMENT_NODE | E-05 (L49) | ○ |
| C-94 | test: DocumentFragment | E-05 (L50) | ○ |
| C-95 | test: カスタム要素 | E-05 (L33-39) | ○ |
| C-96 | test: is属性 | E-05 (L25-31) | ○ |
| C-97 | test: 非DOM値 | E-05 (L54-55) | ○ |
| C-98 | serialize: テキストノード | E-05 (L79-81) | ○ |
| C-99 | serialize: コメントノード | E-05 (L83-85) | ○ |
| C-100 | serialize: 要素フォーマット | E-05 (L95-127) | ○ |
| C-101 | serialize: 属性ソート | E-05 (L100) | ○ |
| C-102 | serialize: DocumentFragment | E-05 (L87-89) | ○ |
| C-103 | serialize: 子要素再帰 | E-05 (L116-123) | ○ |
| C-104 | serialize: maxDepth省略 | E-05 (L91-93) | ○ |

### DOMCollection.ts (C-105〜C-114)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105 | test: NodeList | E-06 (L14, L19-23) | ○ |
| C-106 | test: HTMLCollection | E-06 (L14) | ○ |
| C-107 | test: NamedNodeMap | E-06 (L13) | ○ |
| C-108 | test: DOMStringMap | E-06 (L13) | ○ |
| C-109 | test: 非DOMコレクション | E-06 (L19-23) | ○ |
| C-110 | serialize: NodeList配列形式 | E-06 (L60-67) | ○ |
| C-111 | serialize: NamedNodeMapオブジェクト形式 | E-06 (L43-59) | ○ |
| C-112 | serialize: DOMStringMapオブジェクト形式 | E-06 (L43-59) | ○ |
| C-113 | serialize: maxDepth省略 | E-06 (L37-39) | ○ |
| C-114 | serialize: min:trueコンパクト | E-06 (L42) | ○ |

### ReactElement.ts (C-115〜C-133)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-115 | test: ReactElement | E-07 (L115-116) | ○ |
| C-116 | test: null/undefined | E-07 (L115-116) | ○ |
| C-117 | serialize: 文字列タイプ | E-07 (L32-34) | ○ |
| C-118 | serialize: 関数コンポーネント | E-07 (L35-37) | ○ |
| C-119 | serialize: displayName優先 | E-07 (L36) | ○ |
| C-120 | serialize: React.Fragment | E-07 (L39-41) | ○ |
| C-121 | serialize: React.Suspense | E-07 (L42-44) | ○ |
| C-122 | serialize: Context.Provider | E-07 (L46-48) | ○ |
| C-123 | serialize: Context.Consumer | E-07 (L50-52) | ○ |
| C-124 | serialize: ForwardRef | E-07 (L54-62) | ○ |
| C-125 | serialize: Memo | E-07 (L64-69) | ○ |
| C-126 | serialize: propsフォーマット | E-07 (L94-102) | ○ |
| C-127 | serialize: children除外 | E-07 (L77-78) | ○ |
| C-128 | serialize: undefined除外 | E-07 (L78) | ○ |
| C-129 | serialize: propsソート | E-07 (L79) | ○ |
| C-130 | serialize: childrenフラット化 | E-07 (L19-28) | ○ |
| C-131 | serialize: null/false/空文字列除外 | E-07 (L24) | ○ |
| C-132 | serialize: maxDepth省略 | E-07 (L90-91) | ○ |
| C-133 | getType: UNDEFINED | E-07 (L71) | ○ |

### ReactTestComponent.ts (C-134〜C-143)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-134 | test: ReactTestObject | E-08 (L78-79) | ○ |
| C-135 | test: 非ReactTestObject | E-08 (L78-79) | ○ |
| C-136 | serialize: 基本フォーマット | E-08 (L41-76) | ○ |
| C-137 | serialize: propsフォーマット | E-08 (L53-62) | ○ |
| C-138 | serialize: childrenフォーマット | E-08 (L64-72) | ○ |
| C-139 | serialize: null props | E-08 (L52-63) | ○ |
| C-140 | serialize: null children | E-08 (L64-73) | ○ |
| C-141 | serialize: undefined除外 | E-08 (L36) | ○ |
| C-142 | serialize: propsソート | E-08 (L37) | ○ |
| C-143 | serialize: maxDepth省略 | E-08 (L49-50) | ○ |

### Immutable.ts (C-144〜C-164)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-144 | test: Immutable.List | E-09 (L216-218) | ○ |
| C-145 | test: Immutable.Map | E-09 (L216-218) | ○ |
| C-146 | test: Immutable.Set | E-09 (L216-218) | ○ |
| C-147 | test: Immutable.Stack | E-09 (L216-218) | ○ |
| C-148 | test: Immutable.Seq | E-09 (L216-218) | ○ |
| C-149 | test: Immutable.Record | E-09 (L216-218) | ○ |
| C-150 | test: OrderedMap | E-09 (L216-218) | ○ |
| C-151 | test: OrderedSet | E-09 (L216-218) | ○ |
| C-152 | test: 非Immutable値 | E-09 (L216-218) | ○ |
| C-153 | serialize: Immutable.Map | E-09 (L160-170) | ○ |
| C-154 | serialize: Immutable.OrderedMap | E-09 (L168) | ○ |
| C-155 | serialize: Immutable.List | E-09 (L172-182) | ○ |
| C-156 | serialize: Immutable.Set | E-09 (L183-193) | ○ |
| C-157 | serialize: Immutable.OrderedSet | E-09 (L191) | ○ |
| C-158 | serialize: Immutable.Stack | E-09 (L194-204) | ○ |
| C-159 | serialize: Immutable.Seq(keyed) | E-09 (L99-113) | ○ |
| C-160 | serialize: Immutable.Seq(indexed) | E-09 (L115-130) | ○ |
| C-161 | serialize: 遅延Seq LAZY | E-09 (L111, L128) | ○ |
| C-162 | serialize: Immutable.Record | E-09 (L62-83) | ○ |
| C-163 | serialize: 名前付きRecord | E-09 (L72) | ○ |
| C-164 | serialize: maxDepth省略 | E-09 (L36-37, L73-74, L95-97, L141-142) | ○ |

### lib/markup.ts (C-165〜C-182)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-165 | printProps: 空キー配列 | E-10 (L12-49) | ○ |
| C-166 | printProps: 文字列値 | E-10 (L28) | ○ |
| C-167 | printProps: 非文字列値波括弧 | E-10 (L29-38) | ○ |
| C-168 | printProps: 複数行インデント | E-10 (L29-36) | ○ |
| C-169 | printProps: カラーコード | E-10 (L22, L43-46) | ○ |
| C-170 | printChildren: 空配列 | E-10 (L52-69) | ○ |
| C-171 | printChildren: 文字列child | E-10 (L65-67) | ○ |
| C-172 | printChildren: 非文字列child | E-10 (L67) | ○ |
| C-173 | printText: HTMLエスケープ | E-10 (L71-74) | ○ |
| C-174 | printText: カラーコード | E-10 (L72-73) | ○ |
| C-175 | printComment: HTMLコメント形式 | E-10 (L76-81) | ○ |
| C-176 | printComment: HTMLエスケープ | E-10 (L78) | ○ |
| C-177 | printElement: 自己終了タグ | E-10 (L87-107) | ○ |
| C-178 | printElement: propsあり | E-10 (L96-101) | ○ |
| C-179 | printElement: childrenあり | E-10 (L103-104) | ○ |
| C-180 | printElement: min:trueスペース | E-10 (L105) | ○ |
| C-181 | printElementAsLeaf: 省略形式 | E-10 (L109-112) | ○ |
| C-182 | printElementAsLeaf: カラーコード | E-10 (L110-111) | ○ |

### lib/escapeHTML.ts (C-183〜C-187)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-183 | escapeHTML: <エスケープ | E-11 (L8-10) | ○ |
| C-184 | escapeHTML: >エスケープ | E-11 (L9) | ○ |
| C-185 | escapeHTML: 複数<>エスケープ | E-11 (L9) | ○ |
| C-186 | escapeHTML: 空文字列 | E-11 (L9) | ○ |
| C-187 | escapeHTML: 非対象文字 | E-11 (L9) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全テストケースにソースコード根拠あり）

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードの実装に基づいて生成されている

## 6) レビュアーチェックリスト（最小）
- [ ] format関数の基本データ型フォーマット出力が期待通りか確認
- [ ] オプション組み合わせ（min, indent, highlight, theme等）の動作を確認
- [ ] プラグインシステム（test, serialize）の動作を確認
- [ ] 各プラグイン（AsymmetricMatcher, DOM*, React*, Immutable）のテストケース網羅性を確認
- [ ] エラーケース（validateOptions, PrettyFormatPluginError）のスロー条件を確認
- [ ] 境界値テスト（maxDepth, maxWidth, 空配列、循環参照等）の網羅性を確認
