Stage 0: the package datekeys and its test data at spec-v0.11
A pure Dart package, without Flutter, for the app that the author will
write in Flutter (docs/PLAN_dart.md, stage 0):
- pubspec.yaml: the package datekeys, unpublished, for Dart 3.13; at run
time only package:crypto, and in development only package:test, which
the author approved on 5 October.
- testdata/ vendored from datekeys-go at the tag spec-v0.11 (ae33434),
124 files, with the same testdata/SOURCE.json that datekeys-ts writes for
that commit.
- tool/sync_testdata.dart, the port of scripts/sync-testdata.mjs, and
test/testdata_test.dart, which checks the copy and that every file names
specVersion; test/version_test.dart keeps pubspec.yaml and
lib/src/version.dart in step.
- tool/check.sh, the local gate: format, analysis with every info fatal,
tests, and the copy against ../datekeys-go.
- The licence, Apache-2.0, as the other two implementations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
{
"spec" : "0.14" ,
Stage 0: the package datekeys and its test data at spec-v0.11
A pure Dart package, without Flutter, for the app that the author will
write in Flutter (docs/PLAN_dart.md, stage 0):
- pubspec.yaml: the package datekeys, unpublished, for Dart 3.13; at run
time only package:crypto, and in development only package:test, which
the author approved on 5 October.
- testdata/ vendored from datekeys-go at the tag spec-v0.11 (ae33434),
124 files, with the same testdata/SOURCE.json that datekeys-ts writes for
that commit.
- tool/sync_testdata.dart, the port of scripts/sync-testdata.mjs, and
test/testdata_test.dart, which checks the copy and that every file names
specVersion; test/version_test.dart keeps pubspec.yaml and
lib/src/version.dart in step.
- tool/check.sh, the local gate: format, analysis with every info fatal,
tests, and the copy against ../datekeys-go.
- The licence, Apache-2.0, as the other two implementations.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 days ago
"description" : "HEAD_CBOR of format 3 (spec §29.4 to §29.6) and the result of decoding it with no extension known, generated by the reference implementation: layer 2 (type tag and version), layer 3 (the CDDL with R1 and R8), then layer 4 in key order (spec §69.1). See testdata/README.md." ,
"heads" : [
{
"name" : "no files and no comment" ,
"hex" : "a3006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ok"
} ,
{
"name" : "a comment of one byte" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036161" ,
"result" : "ok"
} ,
{
"name" : "a comment with TAB and LF" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000371486f6c61096d756e646f0a616469c3b373" ,
"result" : "ok"
} ,
{
"name" : "a comment with an emoji and VS16" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036ee29da4efb88f2070617261207469" ,
"result" : "ok"
} ,
{
"name" : "a declared author" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e61204cc3b370657a" ,
"result" : "ok"
} ,
{
"name" : "one file of 0 bytes" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ok"
} ,
{
"name" : "a file with an mtime of 0" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550500" ,
"result" : "ok"
} ,
{
"name" : "a file with the last mtime, 9999-12-31T23:59:59Z" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855051b0000003afff4417f" ,
"result" : "ok"
} ,
{
"name" : "a comment of 16384 bytes" ,
"hex" : " a 4006 d 646174656 b 6579732 d 6865616401010258200000000000000000000000000000000000000000000000000000000000000000037940006161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616
"result" : "ok"
} ,
{
"name" : "a declared author of 256 bytes" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000479010061616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" ,
"result" : "ok"
} ,
{
"name" : "a path of 1024 bytes, five segments of 204" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5007904006161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161612f6262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262626262622f6363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363632f6464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464646464642f656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ok"
} ,
{
"name" : "a noncritical extension" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000781a2006d6f72672e6578616d706c652e610101" ,
"result" : "ok"
} ,
{
"name" : "the type tag of CONTROL_CBOR" ,
"hex" : "a30070646174656b6579732d636f6e74726f6c01010258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "version 2" ,
"hex" : "a3006d646174656b6579732d6865616401020258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_UNSUPPORTED_VERSION"
} ,
{
"name" : "version 0" ,
"hex" : "a3006d646174656b6579732d6865616401000258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_UNSUPPORTED_VERSION"
} ,
{
"name" : "a byte string as the type tag" ,
"hex" : "a3004d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "no salt" ,
"hex" : "a2006d646174656b6579732d686561640101" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a salt of 31 bytes" ,
"hex" : "a3006d646174656b6579732d68656164010102581f00000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a salt as a text string" ,
"hex" : "a3006d646174656b6579732d6865616401010278206161616161616161616161616161616161616161616161616161616161616161" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an empty comment" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000360" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a comment of 16385 bytes" ,
"hex" : " a 4006 d 646174656 b 6579732 d 6865616401010258200000000000000000000000000000000000000000000000000000000000000000037940016161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a comment as a byte string" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000034161" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a comment that is not UTF-8" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036261ff" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an empty declared author" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000460" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a declared author of 257 bytes" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000047901016161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an empty array of files" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000580" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a file without its SHA-256" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a4006161010002000300" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a file with a SHA-256 of 31 bytes" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500616101000200030004581f00000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a file with an unknown key 6" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550600" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an empty path" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a50060010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a path of 1025 bytes" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500790401612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f612f61010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a path that is not UTF-8" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006261ff010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a size above L_MAX" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161011b001fc000000000010200031b001fc00000000001045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an mtime of 253402300800" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a6006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855051b0000003afff44180" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an unknown key 8" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000800" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "keys out of order" ,
"hex" : "a4006d646174656b6579732d6865616401010361610258200000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a byte more after the map" ,
"hex" : "a3006d646174656b6579732d686561640101025820000000000000000000000000000000000000000000000000000000000000000000" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "paths b and a, in that order" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a5006162010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "paths b/.. and a: R8 before R3" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a50064622f2e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006161010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "an empty array of critical extensions" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000680" ,
"result" : "ERR_NON_CANONICAL_CBOR"
} ,
{
"name" : "a comment with U+202E" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036561e280ae62" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: bidirectional control U+202E"
} ,
{
"name" : "a comment with the tag U+E0041" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000368486f6c61f3a08181" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: invisible U+E0041"
} ,
{
"name" : "a comment with tags that spell a text" ,
"hex" : "a4006d646174656b6579732d686561640101025820000000000000000000000000000000000000000000000000000000000000000003781c486f6c61f3a08189f3a08187f3a0818ef3a0818ff3a08192f3a08181" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: invisible U+E0049"
} ,
{
"name" : "a comment with VS16 after a letter" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036461efb88f" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: line 1: U+FE0F is not part of an emoji variation sequence"
} ,
{
"name" : "a comment with a run of variation selectors" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000369e29da4efb88fefb88f" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: line 1: U+FE0F is not part of an emoji variation sequence"
} ,
{
"name" : "a comment with VS17" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000368f09f9880f3a08480" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: invisible U+E0100"
} ,
{
"name" : "a comment with CR LF" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000364610d0a62" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: control U+000D"
} ,
{
"name" : "a comment with ZWJ at the end of a line" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036661e2808d0a62" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: line 1: U+200D at the end"
} ,
{
"name" : "a declared author with LF" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e610a4cc3b370657a" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "declared author: text: control U+000A in the declared author"
} ,
{
"name" : "a declared author with TAB" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046a416e61094cc3b370657a" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "declared author: text: control U+0009 in the declared author"
} ,
{
"name" : "a declared author with a leading space" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046420416e61" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "declared author: text: the declared author starts or ends with U+0020"
} ,
{
"name" : "a declared author with U+200E" ,
"hex" : "a4006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000046561e2808e62" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "declared author: text: bidirectional control U+200E"
} ,
{
"name" : "path .." ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: R3: segment 1: the segment is two dots"
} ,
{
"name" : "path /a" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622f61010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: R2: segment 1 is empty"
} ,
{
"name" : "path CON.txt" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a50067434f4e2e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: R6: segment 1: CON is a reserved device name"
} ,
{
"name" : "path .datekeys-x" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006b2e646174656b6579732d78010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: R10: the first segment starts with \".datekeys-\""
} ,
{
"name" : "a first start that is not 0" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010102010302045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: start 1 is not 0, the end of the file before"
} ,
{
"name" : "end minus start that is not size" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a5006161010202000301045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: from start 0 to end 1 is not the size 2"
} ,
{
"name" : "a gap between two files" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a5006161010102000301045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a5006162010102020303045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 2: start 2 is not 1, the end of the file before"
} ,
{
"name" : "paths A.txt and a.txt" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000582a50065412e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855a50065612e747874010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "R7: path 2 collides with path 1 in segment 1"
} ,
{
"name" : "a comment and a path that break: the comment first" ,
"hex" : "a5006d646174656b6579732d6865616401010258200000000000000000000000000000000000000000000000000000000000000000036461e280ae0581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "comment: text: bidirectional control U+202E"
} ,
{
"name" : "a path that breaks and an unknown critical extension: the path first" ,
"hex" : "a5006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000581a500622e2e010002000300045820e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550681a2006d6f72672e6578616d706c652e610101" ,
"result" : "ERR_HEAD_INVALID" ,
"detail" : "file 1: R3: segment 1: the segment is two dots"
} ,
{
"name" : "an unknown critical extension" ,
"hex" : "a4006d646174656b6579732d68656164010102582000000000000000000000000000000000000000000000000000000000000000000681a2006d6f72672e6578616d706c652e610101" ,
"result" : "ERR_EXTENSION_CRITICAL_UNKNOWN"
}
]
}