Beispiel
Prove that ParserFactory::createForVersion expects a PhpVersion object, not legacy integer kind constants.
sha256:2f575c0da5b071e88ac0a9aa7da2b69d3752b2625239ad080bbacd6225817b77
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Prove that ParserFactory::createForVersion expects a PhpVersion object, not legacy integer kind constants. HOW
- Pakete
- nikic/php-parser 5.8.0
- Umgebung
- php
- Erstellt
- 2026-08-16T12:17:31Z
Häufige Annahme
Developers can still pass legacy constants like ParserFactory::PREFER_PHP7 into createForVersion because it behaves like older create() mode selection.
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
- ParserFactory::createForVersion(PhpVersion::fromString('8.1')) returns a parser instance.
- ParserFactory::createForVersion(ParserFactory::PREFER_PHP7) throws, demonstrating integer kind constants are no longer accepted.
Dateien
- NOTES.md
- composer.json
- csx.json
- test/contract.php
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- php 8 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · composer@1 · 2026-08-16 · ed25519:d91480838ac982c9