You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DateKeys-App/testdata/vectors/path_fold.json

141 lines
3.1 KiB

Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"spec": "0.10",
"description": "The key of R7 (spec §29.5) of segments, with the Unicode 18.0.0 tables of §29.5.1, generated by the reference implementation: nfd is NFD(segment) and key is NFD(fold(NFD(s'))), s' the segment without ZWNJ, ZWJ, VS15 and VS16. See testdata/README.md.",
"unicode_version": "18.0.0",
"tables_digest": "07cf5d54aea1cd13a3ecef14a06976cc49a3cdad755cf9bc10395178b93aeb07",
Format 3, step 3: read capsule format 3 of spec v0.10 Syncs testdata with datekeys-go at the tag spec-v0.10 (cc35d2c) and moves the reader to the DateKeys Protocol Specification v0.10. The three capsule formats are read. - framing: FORMAT_3, and isPadded for formats 2 and 3. control: schema version 3, with the keys 6 and 7 of version 2. SPEC_VERSION is 0.10. - open: OpenOptions.sink receives the files of a format 3 capsule (sink.ts: Sink with begin, create, commit and abort, as capsule.Sink, and MemorySink). Without one, open rejects with a TypeError right after step 2, before any request, as ErrSinkRequired. Opened gains head, verdicts, areaLen and unusableHeadExtensions. - open3.ts: step 17 of format 3 in its substeps 17.2 to 17.8, as openBody of the reference: a failure of age or a plaintext whose length is not P prevails, the first failing substep decides, and the codes other than ERR_INTEGRITY are reported only after reading PAYLOAD_AGE to its end. Reads grow with the bytes received, never with the lengths BODY declares. A failure of the sink is ERR_INTEGRITY with its text, and the sink is aborted once after begin. - The page: opener.ts opens the fixtures of format 3 into a MemorySink; the open panel says that it does not deliver their files yet, and the glosses of the steps name format 3. check-build.mjs refuses to ship the heads, salts, comments and paths of the format 3 fixtures. Tests: the 21 fixtures, format 3 laid out byte by byte from its record and opened into a sink with its files and verdicts; the 209 cases of the corpus from memory and from a Blob, with the code, the step and, new, the exact text of capsule.Open, frozen by scripts/mutation-go-texts.go in testing/mutation-texts.json, which replays the corpus as internal/testkit does (its extension validator texts included); the 5110 differential cases over 14 bases; paths, path_fold, head_schema and security vectors; the control of schema version 3 in cbor.json; and step 17 on crafted plaintexts sealed again to I_PAYLOAD, whose texts capsule.Open gives on the same plaintexts. ibe-vectors.json gains the nine format 3 fixtures from scripts/ibe-go-vectors.go; the twelve before are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"keys": [
{
"name": "ASCII capitals",
"segment": "A.txt",
"nfd": "A.txt",
"key": "a.txt"
},
{
"name": "sharp s, entry F",
"segment": "Straße",
"nfd": "Straße",
"key": "strasse"
},
{
"name": "capital sharp s",
"segment": "ẞ",
"nfd": "ẞ",
"key": "ss"
},
{
"name": "the Kelvin sign, a singleton decomposition",
"segment": "K",
"nfd": "K",
"key": "k"
},
{
"name": "the Angstrom sign",
"segment": "Å",
"nfd": "Å",
"key": "å"
},
{
"name": "dotless i, the extra folding of NTFS",
"segment": "ı",
"nfd": "ı",
"key": "i"
},
{
"name": "capital I with a dot, entry F",
"segment": "İ",
"nfd": "İ",
"key": "i̇"
},
{
"name": "precomposed e acute",
"segment": "é",
"nfd": "é",
"key": "é"
},
{
"name": "decomposed e acute",
"segment": "é",
"nfd": "é",
"key": "é"
},
{
"name": "final sigma",
"segment": "ς",
"nfd": "ς",
"key": "σ"
},
{
"name": "U+0390, recursive decomposition",
"segment": "ΐ",
"nfd": "ΐ",
"key": "ΐ"
},
{
"name": "a Cherokee small letter folds to the capital",
"segment": "ꭰ",
"nfd": "ꭰ",
"key": "Ꭰ"
},
{
"name": "a Cherokee capital stays",
"segment": "Ꭰ",
"nfd": "Ꭰ",
"key": "Ꭰ"
},
{
"name": "ligature ff, entry F",
"segment": "ff",
"nfd": "ff",
"key": "ff"
},
{
"name": "DZ with caron, titlecase",
"segment": "Dž",
"nfd": "Dž",
"key": "dž"
},
{
"name": "Hangul syllable with a final jamo",
"segment": "한",
"nfd": "한",
"key": "한"
},
{
"name": "canonical order of two marks",
"segment": "ạ́",
"nfd": "ạ́",
"key": "ạ́"
},
{
"name": "ZWJ between marks is dropped before NFD",
"segment": "á‍̣",
"nfd": "á‍̣",
"key": "ạ́"
},
{
"name": "ZWNJ is dropped",
"segment": "a‌b",
"nfd": "a‌b",
"key": "ab"
},
{
"name": "VS16 and ZWJ of the rainbow flag are dropped",
"segment": "🏳️‍🌈",
"nfd": "🏳️‍🌈",
"key": "🏳🌈"
},
{
"name": "a reserved prefix, compared by its key",
"segment": ".DateKeys-X",
"nfd": ".DateKeys-X",
"key": ".datekeys-x"
},
{
"name": "full-width letters fold, not to ASCII",
"segment": "CON",
"nfd": "CON",
"key": "con"
}
]
}

Powered by TurnKey Linux.