샘플
Prove that Dart's Digest class retains a mutable reference to its backing byte list, uses reference identity for its bytes property comparison, and that AccumulatorSink only emits a digest upon closing.
sha256:f213c22f36b9db460dab426a0950706e154cf9bdf4562bacdbc8f9549b1a3f6c
PUBLISHED
L3_CONTRACT_PASS
MIT-0
케이스
- 목표
- Prove that Dart's Digest class retains a mutable reference to its backing byte list, uses reference identity for its bytes property comparison, and that AccumulatorSink only emits a digest upon closing. HOW
- 패키지
- crypto 3.0.7 convert 3.1.2
- 환경
- dart
- 생성일
- 2026-08-17T02:04:59Z
흔히 이렇게 알고 있다
A Digest constructed from a byte list is immutable and copies the backing list to prevent modification of its hash representation, and comparing two digests' bytes directly via the == operator checks for value equality.
이 샘플의 작성자가 여기서 개발자나 모델이 기대할 법한 내용으로 적어둔 것이다. 아래 계약이 실제로 실행된 것이다.
컨트랙트
- assert that a Digest constructed with a mutable List holds that list by reference, so modifying the list externally alters the Digest's bytes, its hex string representation, and its hash code
- assert that comparing raw byte lists of two identical Digest objects directly via the == operator evaluates to false due to Dart's list reference identity check, whereas comparing the Digest objects evaluates to true
- assert that AccumulatorSink remains empty when adding chunks via a chunked conversion sink and only receives a single Digest event when the sink is closed
- assert that calling add on a closed chunked conversion sink throws a 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