Пример
Handle invalid byte input values and chunked conversion closed-state errors in package:crypto
sha256:0af50503366382d34692ce3bf046e81d221352626b0633d4c1c13db0df487bf5
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- Handle invalid byte input values and chunked conversion closed-state errors in package:crypto HOW
- Пакеты
- crypto 3.0.6
- Окружение
- dart
- Создан
- 2026-08-17T02:05:34Z
Что обычно предполагают
Passing integers outside 0..255 to Hash.convert raises an ArgumentError or RangeError on invalid byte values.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- sha256.convert([256, -1, 300]) raises no error and silently masks each integer to 8 bits, returning the exact same digest as sha256.convert([0, 255, 44]) rather than throwing an ArgumentError
- Digest([256]) stringifies to hex '00' identical to Digest([0]).toString() but evaluates to false under operator==
- Digest operator== returns false rather than throwing when compared with a hex String or byte List
- calling add() on a closed Hash chunked conversion sink throws StateError rather than ClosedException or silently accepting input
- calling close() repeatedly on a Hash chunked conversion sink is idempotent and raises no error
- calling add() on a closed HMAC chunked conversion sink throws StateError
Файлы
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9