Test data: note.json, the rules of the public note
The review found no vector of the public note in testdata (D3). note.json
gives the data of datekeys.note and what the rules of 24.1 make of it, the
result and the exact text of the rule it breaks: notes that pass, from one
byte to 1024, with letters that are not ASCII and an emoji with VS16; and
notes that a writer refuses and a reader does not show, empty, of 1025
bytes, with a tab, a line feed, a space at an end, a bidi control, an
ignorable, a byte order mark, bytes that are not UTF-8, the UTF-8 of a lone
surrogate and a noncharacter.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 days ago
{
"spec" : "0.12" ,
Test data: note.json, the rules of the public note
The review found no vector of the public note in testdata (D3). note.json
gives the data of datekeys.note and what the rules of 24.1 make of it, the
result and the exact text of the rule it breaks: notes that pass, from one
byte to 1024, with letters that are not ASCII and an emoji with VS16; and
notes that a writer refuses and a reader does not show, empty, of 1025
bytes, with a tab, a line feed, a space at an end, a bidi control, an
ignorable, a byte order mark, bytes that are not UTF-8, the UTF-8 of a lone
surrogate and a noncharacter.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
7 days ago
"description" : "The data of the public note, datekeys.note version 1 in the noncritical array of PUBLIC_HEADER (spec §24.1): the text in UTF-8, from 1 to 1024 bytes, that meets the rules of the declared author of §29.6. See testdata/README.md." ,
"notes" : [
{
"name" : "a note" ,
"data" : "4361727461732064656c207669616a652061204c6973626f61" ,
"result" : "ok"
} ,
{
"name" : "letters that are not ASCII and an emoji" ,
"data" : "c391616e64c3ba2c2061c3b16f203230323620f09f8c8d" ,
"result" : "ok"
} ,
{
"name" : "1024 bytes" ,
"data" : "61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" ,
"result" : "ok"
} ,
{
"name" : "an emoji with VS16, which the whitelist admits" ,
"data" : "e29da4efb88f" ,
"result" : "ok"
} ,
{
"name" : "no byte" ,
"data" : "" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note of 0 bytes, not 1 to 1024"
} ,
{
"name" : "1025 bytes" ,
"data" : "6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note of 1025 bytes, not 1 to 1024"
} ,
{
"name" : "a tab" ,
"data" : "610962" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: control U+0009 in the declared author"
} ,
{
"name" : "a line feed" ,
"data" : "610a62" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: control U+000A in the declared author"
} ,
{
"name" : "a space at the start" ,
"data" : "2061" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: the declared author starts or ends with U+0020"
} ,
{
"name" : "a space at the end" ,
"data" : "6120" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: the declared author starts or ends with U+0020"
} ,
{
"name" : "a bidi override" ,
"data" : "61e280ae62" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: bidirectional control U+202E"
} ,
{
"name" : "a zero width space, ignorable" ,
"data" : "61e2808b62" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: invisible U+200B"
} ,
{
"name" : "a byte order mark at the start" ,
"data" : "efbbbf486f6c61" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: byte order mark U+FEFF"
} ,
{
"name" : "a byte that is not UTF-8" ,
"data" : "61ff" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that is not valid UTF-8"
} ,
{
"name" : "the UTF-8 of a lone surrogate" ,
"data" : "eda080" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that is not valid UTF-8"
} ,
{
"name" : "a noncharacter" ,
"data" : "61efbfbe62" ,
"result" : "ERR_EXTENSION_DATA_INVALID" ,
"detail" : "a public note that breaks the rules of text: text: noncharacter U+FFFE"
}
]
}