Beispiel
Show that JSON.parse(nil) fails with a type error instead of a JSON parse error.
sha256:cb16db3f14d38d1e63ddc5d6bf24abd9d7da55da562dc09ea74766b82044d234
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Show that JSON.parse(nil) fails with a type error instead of a JSON parse error. HOW
- Pakete
- json 2.9.1
- Umgebung
- ruby
- Erstellt
- 2026-08-16T17:36:45Z
Häufige Annahme
Passing nil to JSON.parse should raise JSON::ParserError because it is invalid JSON text.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- JSON.parse(nil) raises TypeError, not JSON::ParserError.
- JSON.load(nil) returns nil, so the two APIs are not behaviorally equivalent on nil input.
Dateien
- Gemfile
- NOTES.md
- csx.json
- test/contract.rb
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9