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/testdata/vectors/path_fold.json

141 lines
3.1 KiB

Format 3, step 6c: the vectors of paths, keys, heads and security The vector files of spec 67 for format 3, generated with the result each case is written for, so that the generator fails when the implementation or the tables change: - paths.json: 83 paths with the result of the rules of one entry, the violation worded as every implementation must word it, and 16 trees, the paths of a head and the result of decoding it: U+00A0, accepted, and U+3000, R6c, at both ends of a segment; best-fit, full-width forms, U+00B4 of cp1253; 8.3 aliases with ~1; Cn; U+206A to U+206F, tags and other ignorables; a dot and ZWJ, and ZWJ alone; 127 and 85 times U+0390; U+F03A; .datekeys-x at two levels; U+FF5E and U+1F600 in both orders; ab with and without ZWNJ; U+00BF, U+00A7 and U+2665, accepted; VS16 after U+2764 and after a; ZWJ at the start, at the end and twice; the rainbow flag and the flag of Scotland; b/.. and a. - path_fold.json: 22 segments with their NFD and their key of R7, among them the entries F of CaseFolding, the dotless i, the Kelvin and Angstrom signs, Cherokee, Hangul and the whitelist dropped before NFD. - head_schema.json: 63 heads through layers 2, 3 and 4, in key order, with the violation of each ERR_HEAD_INVALID; they add comments with tags and with loose variation selectors. - security.json: 21 areas with their verdicts, X, F0, F1, S0, S1 and S2, among them key 2 that is not a byte string, a key 4, a byte more, alg 0, an empty key with the seal intact, and a seal that breaks its schema with an unknown seal_type. - cbor.json gains the control of schema version 3. A test replays every committed vector through the implementation, and another checks that the files are current. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"spec": "0.16",
Format 3, step 6c: the vectors of paths, keys, heads and security The vector files of spec 67 for format 3, generated with the result each case is written for, so that the generator fails when the implementation or the tables change: - paths.json: 83 paths with the result of the rules of one entry, the violation worded as every implementation must word it, and 16 trees, the paths of a head and the result of decoding it: U+00A0, accepted, and U+3000, R6c, at both ends of a segment; best-fit, full-width forms, U+00B4 of cp1253; 8.3 aliases with ~1; Cn; U+206A to U+206F, tags and other ignorables; a dot and ZWJ, and ZWJ alone; 127 and 85 times U+0390; U+F03A; .datekeys-x at two levels; U+FF5E and U+1F600 in both orders; ab with and without ZWNJ; U+00BF, U+00A7 and U+2665, accepted; VS16 after U+2764 and after a; ZWJ at the start, at the end and twice; the rainbow flag and the flag of Scotland; b/.. and a. - path_fold.json: 22 segments with their NFD and their key of R7, among them the entries F of CaseFolding, the dotless i, the Kelvin and Angstrom signs, Cherokee, Hangul and the whitelist dropped before NFD. - head_schema.json: 63 heads through layers 2, 3 and 4, in key order, with the violation of each ERR_HEAD_INVALID; they add comments with tags and with loose variation selectors. - security.json: 21 areas with their verdicts, X, F0, F1, S0, S1 and S2, among them key 2 that is not a byte string, a key 4, a byte more, alg 0, an empty key with the seal intact, and a seal that breaks its schema with an unknown seal_type. - cbor.json gains the control of schema version 3. A test replays every committed vector through the implementation, and another checks that the files are current. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"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 6c: the vectors of paths, keys, heads and security The vector files of spec 67 for format 3, generated with the result each case is written for, so that the generator fails when the implementation or the tables change: - paths.json: 83 paths with the result of the rules of one entry, the violation worded as every implementation must word it, and 16 trees, the paths of a head and the result of decoding it: U+00A0, accepted, and U+3000, R6c, at both ends of a segment; best-fit, full-width forms, U+00B4 of cp1253; 8.3 aliases with ~1; Cn; U+206A to U+206F, tags and other ignorables; a dot and ZWJ, and ZWJ alone; 127 and 85 times U+0390; U+F03A; .datekeys-x at two levels; U+FF5E and U+1F600 in both orders; ab with and without ZWNJ; U+00BF, U+00A7 and U+2665, accepted; VS16 after U+2764 and after a; ZWJ at the start, at the end and twice; the rainbow flag and the flag of Scotland; b/.. and a. - path_fold.json: 22 segments with their NFD and their key of R7, among them the entries F of CaseFolding, the dotless i, the Kelvin and Angstrom signs, Cherokee, Hangul and the whitelist dropped before NFD. - head_schema.json: 63 heads through layers 2, 3 and 4, in key order, with the violation of each ERR_HEAD_INVALID; they add comments with tags and with loose variation selectors. - security.json: 21 areas with their verdicts, X, F0, F1, S0, S1 and S2, among them key 2 that is not a byte string, a key 4, a byte more, alg 0, an empty key with the seal intact, and a seal that breaks its schema with an unknown seal_type. - cbor.json gains the control of schema version 3. A test replays every committed vector through the implementation, and another checks that the files are current. 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.