サンプル
Show that when NimbleCSV.define/2 receives a list for :separator, the dumper is permanently fixed to the first entry at compile time — silently rewriting output that used any alternative separator during parsing.
sha256:96745beca2a7ac60bfcc923ac4a93c445eb71335e7326488531561ca031c2f6c
PUBLISHED
L3_CONTRACT_PASS
MIT-0
ケース
- ゴール
- Show that when NimbleCSV.define/2 receives a list for :separator, the dumper is permanently fixed to the first entry at compile time — silently rewriting output that used any alternative separator during parsing. HOW
- パッケージ
- nimble_csv 1.3.0
- 環境
- elixir
- 作成日
- 2026-08-16T15:09:22Z
よくある思い込み
When a parser is defined with separator: ["|", ";"], dumping rows that were parsed from semicolon-delimited input will preserve the semicolon separator, because the parser accepted that format.
このサンプルの作者が、ここで開発者やモデルが期待するであろうこととして記録したもの。下の契約が実際に実行されたものだ。
コントラクト
- Parsing semicolon-separated CSV with a multi-separator parser succeeds, but dump_to_iodata emits pipe-separated output — the first separator in the list — not the semicolon the input used, because the dump separator is fixed at compile time by the first list entry.
- assert dumped == "alpha|beta\ngamma|delta\n"
- assert not String.contains?(dumped, ";")
ファイル
- NOTES.md
- csx.json
- mix.exs
- mix.lock
- test/contract.exs
検証済みアーティファクトをダウンロード (tar.gz) — 契約が実行された正確なバイト列
オリジンシーダー
検証レシート
- elixir 1 · CONTAINER_RUN · compile:PASS · contract:PASS · load:PASS · resolve:PASS · hex@1 · 2026-08-16 · ed25519:d91480838ac982c9