toml_parser version 74b4a91
FAIL valid/array/array
Malformed output from your encoder: key "dates" is not a datetime: "2006-06-01TZ"
input sent to parser-cmd (PID 4237):
ints = [1, 2, 3, ]
floats = [1.1, 2.1, 3.1]
strings = ["a", "b", "c"]
dates = [
1987-07-05T17:45:00Z,
1979-05-27T07:32:00,
2006-06-01,
11:00:00,
]
comments = [
1,
2, #this is ok
]
output from parser-cmd (PID 4237) (stdout):
{
"comments": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
],
"dates": [
{"type": "datetime", "value": "1987-07-05T17:45:00Z"},
{"type": "datetime-local", "value": "1979-05-27T07:32:00"},
{"type": "date-local", "value": "2006-06-01TZ"},
{"type": "time-local", "value": "11:00:00"}
],
"floats": [
{"type": "float", "value": "1.1"},
{"type": "float", "value": "2.1"},
{"type": "float", "value": "3.1"}
],
"ints": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"},
{"type": "integer", "value": "3"}
],
"strings": [
{"type": "string", "value": "a"},
{"type": "string", "value": "b"},
{"type": "string", "value": "c"}
]
}
want:
{
"comments": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
],
"dates": [
{"type": "datetime", "value": "1987-07-05T17:45:00Z"},
{"type": "datetime-local", "value": "1979-05-27T07:32:00"},
{"type": "date-local", "value": "2006-06-01"},
{"type": "time-local", "value": "11:00:00"}
],
"floats": [
{"type": "float", "value": "1.1"},
{"type": "float", "value": "2.1"},
{"type": "float", "value": "3.1"}
],
"ints": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"},
{"type": "integer", "value": "3"}
],
"strings": [
{"type": "string", "value": "a"},
{"type": "string", "value": "b"},
{"type": "string", "value": "c"}
]
}
FAIL valid/comment/everywhere
Malformed output from your encoder: key "group.d" is not a datetime: "1979-05-27TZ"
input sent to parser-cmd (PID 4277):
# Top comment.
# Top comment.
# Top comment.
# [no-extraneous-groups-please]
[group] # Comment
answer = 42 # Comment
# no-extraneous-keys-please = 999
# Inbetween comment.
more = [ # Comment
# What about multiple # comments?
# Can you handle it?
#
# Evil.
# Evil.
42, 42, # Comments within arrays are fun.
# What about multiple # comments?
# Can you handle it?
#
# Evil.
# Evil.
# ] Did I fool you?
] # Hopefully not.
# Make sure the space between the datetime and "#" isn't lexed.
dt = 1979-05-27T07:32:12-07:00 # c
d = 1979-05-27 # Comment
[[aot]] # Comment
k = 98 # Comment
[[aot]]# Comment
k = 99# Comment
output from parser-cmd (PID 4277) (stdout):
{
"aot": [
{
"k": {"type": "integer", "value": "98"}
},
{
"k": {"type": "integer", "value": "99"}
}
],
"group": {
"answer": {"type": "integer", "value": "42"},
"d": {"type": "date-local", "value": "1979-05-27TZ"},
"dt": {"type": "datetime", "value": "1979-05-27T07:32:12-07:00"},
"more": [
{"type": "integer", "value": "42"},
{"type": "integer", "value": "42"}
]
}
}
want:
{
"aot": [
{
"k": {"type": "integer", "value": "98"}
},
{
"k": {"type": "integer", "value": "99"}
}
],
"group": {
"answer": {"type": "integer", "value": "42"},
"d": {"type": "date-local", "value": "1979-05-27"},
"dt": {"type": "datetime", "value": "1979-05-27T07:32:12-07:00"},
"more": [
{"type": "integer", "value": "42"},
{"type": "integer", "value": "42"}
]
}
}
FAIL valid/datetime/edge
Malformed output from your encoder: key "first-date" is not a datetime: "0001-01-01TZ"
input sent to parser-cmd (PID 4279):
first-offset = 0001-01-01 00:00:00Z
first-local = 0001-01-01 00:00:00
first-date = 0001-01-01
last-offset = 9999-12-31 23:59:59Z
last-local = 9999-12-31 23:59:59
last-date = 9999-12-31
output from parser-cmd (PID 4279) (stdout):
{
"first-date": {"type": "date-local", "value": "0001-01-01TZ"},
"first-local": {"type": "datetime-local", "value": "0001-01-01T"},
"first-offset": {"type": "datetime", "value": "0001-01-01TZ"},
"last-date": {"type": "date-local", "value": "9999-12-31TZ"},
"last-local": {"type": "datetime-local", "value": "9999-12-31T23:59:59"},
"last-offset": {"type": "datetime", "value": "9999-12-31T23:59:59Z"}
}
want:
{
"first-date": {"type": "date-local", "value": "0001-01-01"},
"first-local": {"type": "datetime-local", "value": "0001-01-01T00:00:00"},
"first-offset": {"type": "datetime", "value": "0001-01-01T00:00:00Z"},
"last-date": {"type": "date-local", "value": "9999-12-31"},
"last-local": {"type": "datetime-local", "value": "9999-12-31T23:59:59"},
"last-offset": {"type": "datetime", "value": "9999-12-31T23:59:59Z"}
}
FAIL valid/datetime/leap-year
Malformed output from your encoder: key "2000-date" is not a datetime: "2000-02-29TZ"
input sent to parser-cmd (PID 4281):
2000-datetime = 2000-02-29 15:15:15Z
2000-datetime-local = 2000-02-29 15:15:15
2000-date = 2000-02-29
2024-datetime = 2024-02-29 15:15:15Z
2024-datetime-local = 2024-02-29 15:15:15
2024-date = 2024-02-29
output from parser-cmd (PID 4281) (stdout):
{
"2000-date": {"type": "date-local", "value": "2000-02-29TZ"},
"2000-datetime": {"type": "datetime", "value": "2000-02-29T15:15:15Z"},
"2000-datetime-local": {"type": "datetime-local", "value": "2000-02-29T15:15:15"},
"2024-date": {"type": "date-local", "value": "2024-02-29TZ"},
"2024-datetime": {"type": "datetime", "value": "2024-02-29T15:15:15Z"},
"2024-datetime-local": {"type": "datetime-local", "value": "2024-02-29T15:15:15"}
}
want:
{
"2000-date": {"type": "date-local", "value": "2000-02-29"},
"2000-datetime": {"type": "datetime", "value": "2000-02-29T15:15:15Z"},
"2000-datetime-local": {"type": "datetime-local", "value": "2000-02-29T15:15:15"},
"2024-date": {"type": "date-local", "value": "2024-02-29"},
"2024-datetime": {"type": "datetime", "value": "2024-02-29T15:15:15Z"},
"2024-datetime-local": {"type": "datetime-local", "value": "2024-02-29T15:15:15"}
}
FAIL valid/datetime/local
Values for key "milli" don't match:
Expected: 1977-12-21 10:32:00.555 +0000 UTC
Your encoder: 1977-12-21 10:32:01 +0000 UTC
input sent to parser-cmd (PID 4284):
local = 1987-07-05T17:45:00
milli = 1977-12-21T10:32:00.555
space = 1987-07-05 17:45:00
output from parser-cmd (PID 4284) (stdout):
{
"local": {"type": "datetime-local", "value": "1987-07-05T17:45:00"},
"milli": {"type": "datetime-local", "value": "1977-12-21T10:32:01"},
"space": {"type": "datetime-local", "value": "1987-07-05T17:45:00"}
}
want:
{
"local": {"type": "datetime-local", "value": "1987-07-05T17:45:00"},
"milli": {"type": "datetime-local", "value": "1977-12-21T10:32:00.555"},
"space": {"type": "datetime-local", "value": "1987-07-05T17:45:00"}
}
FAIL valid/datetime/local-date
Malformed output from your encoder: key "bestdayever" is not a datetime: "1987-07-05TZ"
input sent to parser-cmd (PID 4282):
bestdayever = 1987-07-05
output from parser-cmd (PID 4282) (stdout):
{
"bestdayever": {"type": "date-local", "value": "1987-07-05TZ"}
}
want:
{
"bestdayever": {"type": "date-local", "value": "1987-07-05"}
}
FAIL valid/datetime/local-time
Values for key "milliseconds" don't match:
Expected: 0000-01-01 10:32:00.555 +0000 UTC
Your encoder: 0000-01-01 10:32:01 +0000 UTC
input sent to parser-cmd (PID 4283):
besttimeever = 17:45:00
milliseconds = 10:32:00.555
output from parser-cmd (PID 4283) (stdout):
{
"besttimeever": {"type": "time-local", "value": "17:45:00"},
"milliseconds": {"type": "time-local", "value": "10:32:01"}
}
want:
{
"besttimeever": {"type": "time-local", "value": "17:45:00"},
"milliseconds": {"type": "time-local", "value": "10:32:00.555"}
}
FAIL valid/datetime/milliseconds
Values for key "utc1" don't match:
Expected: 1987-07-05 17:45:56.123 +0000 UTC
Your encoder: 1987-07-05 17:45:56 +0000 UTC
input sent to parser-cmd (PID 4285):
utc1 = 1987-07-05T17:45:56.123Z
utc2 = 1987-07-05T17:45:56.6Z
wita1 = 1987-07-05T17:45:56.123+08:00
wita2 = 1987-07-05T17:45:56.6+08:00
output from parser-cmd (PID 4285) (stdout):
{
"utc1": {"type": "datetime", "value": "1987-07-05T17:45:56Z"},
"utc2": {"type": "datetime", "value": "1987-07-05T17:45:57Z"},
"wita1": {"type": "datetime", "value": "1987-07-05T17:45:56+08:00"},
"wita2": {"type": "datetime", "value": "1987-07-05T17:45:57+08:00"}
}
want:
{
"utc1": {"type": "datetime", "value": "1987-07-05T17:45:56.123Z"},
"utc2": {"type": "datetime", "value": "1987-07-05T17:45:56.600Z"},
"wita1": {"type": "datetime", "value": "1987-07-05T17:45:56.123+08:00"},
"wita2": {"type": "datetime", "value": "1987-07-05T17:45:56.600+08:00"}
}
FAIL valid/key/quoted-unicode
decode JSON output from parser:
invalid character 'x' in string escape code
input sent to parser-cmd (PID 4353):
"\u0000" = "null"
'\u0000' = "different key"
"\u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff" = "escaped key"
"~ ÿ 𐀀 " = "basic key"
'l ~ ÿ 𐀀 ' = "literal key"
output from parser-cmd (PID 4353) (stdout):
{"\\u0000":{"type":"string","value":"different key"},"\b \f A \u007f \u0080 ÿ \ud7ff \ue000 \uffff \x00 \uffff":{"type":"string","value":"escaped key"},"~ \u0080 ÿ \ud7ff \ue000 \uffff \U00010000 \U0010ffff":{"type":"string","value":"basic key"},"\x00":{"type":"string","value":"null"},"l ~ \u0080 ÿ \ud7ff \ue000 \uffff \U00010000 \U0010ffff":{"type":"string","value":"literal key"}}
want:
{
"\u0000": {"type": "string", "value": "null"},
"\b \f A ÿ 𐀀 ": {"type": "string", "value": "escaped key"},
"\\u0000": {"type": "string", "value": "different key"},
"l ~ ÿ 𐀀 ": {"type": "string", "value": "literal key"},
"~ ÿ 𐀀 ": {"type": "string", "value": "basic key"}
}
FAIL valid/multibyte
decode JSON output from parser:
invalid character 'U' in string escape code
input sent to parser-cmd (PID 4359):
# Test multibyte throughout
# Tèƨƭ ƒïℓè ƒôř TÓM£
# Óñℓ¥ ƭλïƨ ôñè ƭřïèƨ ƭô è₥úℓáƭè á TÓM£ ƒïℓè ωřïƭƭèñ β¥ á úƨèř ôƒ ƭλè ƙïñδ ôƒ ƥářƨèř ωřïƭèřƨ ƥřôβáβℓ¥ λáƭè
['𝐭𝐛𝐥']
string = "𝓼𝓽𝓻𝓲𝓷𝓰 - #" # " 𝓼𝓽𝓻𝓲𝓷𝓰
['𝐭𝐛𝐥'.sub]
'𝕒𝕣𝕣𝕒𝕪' = [ "] ", " # "] # ] 𝓪𝓻𝓻𝓪𝔂
'𝕒𝕣𝕣𝕒𝕪𝟚' = [ "Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ", "Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ" ]
# Ýôú δïδñ'ƭ ƭλïñƙ ïƭ'δ áƨ èáƨ¥ áƨ çλúçƙïñϱ ôúƭ ƭλè ℓáƨƭ #, δïδ ¥ôú?
another_test_string = "§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #"
escapes = " Âñδ ωλèñ \"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \"" # "áñδ çô₥₥èñƭƨ ářè ƭλèřè ƭôô"
# Tλïñϱƨ ωïℓℓ ϱèƭ λářδèř
['𝐭𝐛𝐥'.sub."βïƭ#"]
"ωλáƭ?" = "Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?"
multi_line_array = [
"]",
# ] Óλ ¥èƨ Ì δïδ
]
output from parser-cmd (PID 4359) (stdout):
{"\U0001d42d\U0001d41b\U0001d425":{"string":{"type":"string","value":"\ud835\udcfc\ud835\udcfd\ud835\udcfb\ud835\udcf2\ud835\udcf7\ud835\udcf0 - #"},"sub":{"another_test_string":{"type":"string","value":"§á\u20a5è \u01ad\u03bbïñ\u03f1, \u03b2ú\u01ad \u03c9ï\u01ad\u03bb á \u01a8\u01ad\u0159ïñ\u03f1 #"},"escapes":{"type":"string","value":" Âñ\u03b4 \u03c9\u03bbèñ \"'\u01a8 á\u0159è ïñ \u01ad\u03bbè \u01a8\u01ad\u0159ïñ\u03f1, á\u2113ôñ\u03f1 \u03c9ï\u01ad\u03bb # \""},"\U0001d552\U0001d563\U0001d563\U0001d552\U0001d56a\U0001d7da":[{"type":"string","value":"Tè\u01a8\u01ad #11 ]\u01a5\u0159ô\u01b2è\u03b4 \u01ad\u03bbá\u01ad"},{"type":"string","value":"É\u0436\u01a5è\u0159ï\u20a5èñ\u01ad #9 \u03c9á\u01a8 á \u01a8úççè\u01a8\u01a8"}],"\U0001d552\U0001d563\U0001d563\U0001d552\U0001d56a":[{"type":"string","value":"] "},{"type":"string","value":" # "}],"\u03b2ï\u01ad#":{"\u03c9\u03bbá\u01ad?":{"type":"string","value":"Ýôú \u03b4ôñ'\u01ad \u01ad\u03bbïñ\u0199 \u01a8ô\u20a5è ú\u01a8è\u0159 \u03c9ôñ'\u01ad \u03b4ô \u01ad\u03bbá\u01ad?"},"multi_line_array":[{"type":"string","value":"]"}]}}}}
want:
{
"𝐭𝐛𝐥": {
"string": {"type": "string", "value": "𝓼𝓽𝓻𝓲𝓷𝓰 - #"},
"sub": {
"another_test_string": {"type": "string", "value": "§á₥è ƭλïñϱ, βúƭ ωïƭλ á ƨƭřïñϱ #"},
"escapes": {"type": "string", "value": " Âñδ ωλèñ \"'ƨ ářè ïñ ƭλè ƨƭřïñϱ, áℓôñϱ ωïƭλ # \""},
"βïƭ#": {
"multi_line_array": [{"type": "string", "value": "]"}],
"ωλáƭ?": {"type": "string", "value": "Ýôú δôñ'ƭ ƭλïñƙ ƨô₥è úƨèř ωôñ'ƭ δô ƭλáƭ?"}
},
"𝕒𝕣𝕣𝕒𝕪": [
{"type": "string", "value": "] "},
{"type": "string", "value": " # "}
],
"𝕒𝕣𝕣𝕒𝕪𝟚": [
{"type": "string", "value": "Tèƨƭ #11 ]ƥřôƲèδ ƭλáƭ"},
{"type": "string", "value": "Éжƥèřï₥èñƭ #9 ωáƨ á ƨúççèƨƨ"}
]
}
}
}
FAIL valid/spec-1.0.0/float-0
Values for key "flt4" don't match:
Expected: 5e+22
Your encoder: 4.999999999999999e+22
input sent to parser-cmd (PID 4371):
# fractional
flt1 = +1.0
flt2 = 3.1415
flt3 = -0.01
# exponent
flt4 = 5e+22
flt5 = 1e06
flt6 = -2E-2
# both
flt7 = 6.626e-34
output from parser-cmd (PID 4371) (stdout):
{
"flt1": {"type": "float", "value": "1"},
"flt2": {"type": "float", "value": "3.1415"},
"flt3": {"type": "float", "value": "-0.01"},
"flt4": {"type": "float", "value": "4.999999999999999e+22"},
"flt5": {"type": "float", "value": "1e+06"},
"flt6": {"type": "float", "value": "-0.02"},
"flt7": {"type": "float", "value": "6.618193064541891e-34"}
}
want:
{
"flt1": {"type": "float", "value": "1"},
"flt2": {"type": "float", "value": "3.1415"},
"flt3": {"type": "float", "value": "-0.01"},
"flt4": {"type": "float", "value": "5e+22"},
"flt5": {"type": "float", "value": "1e+06"},
"flt6": {"type": "float", "value": "-0.02"},
"flt7": {"type": "float", "value": "6.626e-34"}
}
FAIL valid/spec-1.0.0/local-date-0
Malformed output from your encoder: key "ld1" is not a datetime: "1979-05-27TZ"
input sent to parser-cmd (PID 4389):
ld1 = 1979-05-27
output from parser-cmd (PID 4389) (stdout):
{
"ld1": {"type": "date-local", "value": "1979-05-27TZ"}
}
want:
{
"ld1": {"type": "date-local", "value": "1979-05-27"}
}
FAIL valid/spec-1.0.0/local-date-time-0
Values for key "ldt2" don't match:
Expected: 1979-05-27 00:32:00.999 +0000 UTC
Your encoder: 1979-05-27 00:32:01 +0000 UTC
input sent to parser-cmd (PID 4390):
ldt1 = 1979-05-27T07:32:00
ldt2 = 1979-05-27T00:32:00.999
output from parser-cmd (PID 4390) (stdout):
{
"ldt1": {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
"ldt2": {"type": "datetime-local", "value": "1979-05-27T00:32:01"}
}
want:
{
"ldt1": {"type": "datetime-local", "value": "1979-05-27T07:32:00"},
"ldt2": {"type": "datetime-local", "value": "1979-05-27T00:32:00.999"}
}
FAIL valid/spec-1.0.0/local-time-0
Values for key "lt2" don't match:
Expected: 0000-01-01 00:32:00.999 +0000 UTC
Your encoder: 0000-01-01 00:32:01 +0000 UTC
input sent to parser-cmd (PID 4392):
lt1 = 07:32:00
lt2 = 00:32:00.999
output from parser-cmd (PID 4392) (stdout):
{
"lt1": {"type": "time-local", "value": "07:32:00"},
"lt2": {"type": "time-local", "value": "00:32:01"}
}
want:
{
"lt1": {"type": "time-local", "value": "07:32:00"},
"lt2": {"type": "time-local", "value": "00:32:00.999"}
}
FAIL valid/spec-1.0.0/offset-date-time-0
Values for key "odt3" don't match:
Expected: 1979-05-27 00:32:00.999 -0700 -0700
Your encoder: 1979-05-27 00:32:01 -0700 -0700
input sent to parser-cmd (PID 4391):
odt1 = 1979-05-27T07:32:00Z
odt2 = 1979-05-27T00:32:00-07:00
odt3 = 1979-05-27T00:32:00.999-07:00
output from parser-cmd (PID 4391) (stdout):
{
"odt1": {"type": "datetime", "value": "1979-05-27T07:32:00Z"},
"odt2": {"type": "datetime", "value": "1979-05-27T00:32:00-07:00"},
"odt3": {"type": "datetime", "value": "1979-05-27T00:32:01-07:00"}
}
want:
{
"odt1": {"type": "datetime", "value": "1979-05-27T07:32:00Z"},
"odt2": {"type": "datetime", "value": "1979-05-27T00:32:00-07:00"},
"odt3": {"type": "datetime", "value": "1979-05-27T00:32:00.999-07:00"}
}
FAIL valid/spec-1.0.0/table-7
Malformed output from your encoder: key "owner.member_since" is not a datetime: "1999-08-04TZ"
input sent to parser-cmd (PID 4415):
# Top-level table begins.
name = "Fido"
breed = "pug"
# Top-level table ends.
[owner]
name = "Regina Dogman"
member_since = 1999-08-04
output from parser-cmd (PID 4415) (stdout):
{
"breed": {"type": "string", "value": "pug"},
"name": {"type": "string", "value": "Fido"},
"owner": {
"member_since": {"type": "date-local", "value": "1999-08-04TZ"},
"name": {"type": "string", "value": "Regina Dogman"}
}
}
want:
{
"breed": {"type": "string", "value": "pug"},
"name": {"type": "string", "value": "Fido"},
"owner": {
"member_since": {"type": "date-local", "value": "1999-08-04"},
"name": {"type": "string", "value": "Regina Dogman"}
}
}
FAIL valid/string/escapes
decode JSON output from parser:
invalid character 'x' in string escape code
input sent to parser-cmd (PID 4421):
backspace = "|\b."
tab = "|\t."
newline = "|\n."
formfeed = "|\f."
carriage = "|\r."
quote = "|\"."
backslash = "|\\."
delete = "|\u007F."
unitseparator = "|\u001F."
# \u is escaped, so should NOT be interperted as a \u escape.
notunicode1 = "|\\u."
notunicode2 = "|\u005Cu."
notunicode3 = "|\\u0075."
notunicode4 = "|\\\u0075."
output from parser-cmd (PID 4421) (stdout):
{"backslash":{"type":"string","value":"|\\."},"notunicode2":{"type":"string","value":"|\\u."},"formfeed":{"type":"string","value":"|\f."},"quote":{"type":"string","value":"|\"."},"notunicode3":{"type":"string","value":"|\\u0075."},"unitseparator":{"type":"string","value":"|\x1f."},"notunicode4":{"type":"string","value":"|\\u."},"tab":{"type":"string","value":"|\t."},"notunicode1":{"type":"string","value":"|\\u."},"delete":{"type":"string","value":"|\u007f."},"carriage":{"type":"string","value":"|\r."},"newline":{"type":"string","value":"|\n."},"backspace":{"type":"string","value":"|\b."}}
want:
{
"backslash": {"type": "string", "value": "|\\."},
"backspace": {"type": "string", "value": "|\b."},
"carriage": {"type": "string", "value": "|\r."},
"delete": {"type": "string", "value": "|."},
"formfeed": {"type": "string", "value": "|\f."},
"newline": {"type": "string", "value": "|\n."},
"notunicode1": {"type": "string", "value": "|\\u."},
"notunicode2": {"type": "string", "value": "|\\u."},
"notunicode3": {"type": "string", "value": "|\\u0075."},
"notunicode4": {"type": "string", "value": "|\\u."},
"quote": {"type": "string", "value": "|\"."},
"tab": {"type": "string", "value": "|\t."},
"unitseparator": {"type": "string", "value": "|\u001f."}
}
FAIL valid/string/multibyte-escape
Values for key "basic-1" don't match:
Expected: ɑ € 𐫱 ɑ€𐫱
Your encoder: ɑ € ૱ ɑ€૱
input sent to parser-cmd (PID 4423):
# Test each multibyte length: 2, 3, and 4 bytes:
# ɑ € 𐫱
basic-1 = "\u0251 \u20ac \U00010AF1 \u0251\u20ac\U00010AF1"
ml-basic-1 = """\u0251 \u20ac \U00010AF1 \u0251\u20ac\U00010AF1"""
# Again, but only using \U
basic-2 = "\U00000251 \U000020ac \U00010AF1 \U00000251\U000020ac\U00010AF1"
ml-basic-2 = """\U00000251 \U000020ac \U00010AF1 \U00000251\U000020ac\U00010AF1"""
output from parser-cmd (PID 4423) (stdout):
{
"basic-1": {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
"basic-2": {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
"ml-basic-1": {"type": "string", "value": "ɑ € ૱ ɑ€૱"},
"ml-basic-2": {"type": "string", "value": "ɑ € ૱ ɑ€૱"}
}
want:
{
"basic-1": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
"ml-basic-1": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
"basic-2": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"},
"ml-basic-2": {"type": "string", "value": "ɑ € 𐫱 ɑ€𐫱"}
}
FAIL valid/string/quoted-unicode
decode JSON output from parser:
invalid character 'x' in string escape code
input sent to parser-cmd (PID 4426):
escaped_string = "\u0000 \u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff"
not_escaped_string = '\u0000 \u0008 \u000c \U00000041 \u007f \u0080 \u00ff \ud7ff \ue000 \uffff \U00010000 \U0010ffff'
basic_string = "~ ÿ 𐀀 "
literal_string = '~ ÿ 𐀀 '
output from parser-cmd (PID 4426) (stdout):
{"basic_string":{"type":"string","value":"~ \u0080 ÿ \ud7ff \ue000 \uffff \ud800\udc00 \udbff\udfff"},"escaped_string":{"type":"string","value":"\x00 \b \f A \u007f \u0080 ÿ \ud7ff \ue000 \uffff \x00 \uffff"},"not_escaped_string":{"type":"string","value":"\\u0000 \\u0008 \\u000c \\U00000041 \\u007f \\u0080 \\u00ff \\ud7ff \\ue000 \\uffff \\U00010000 \\U0010ffff"},"literal_string":{"type":"string","value":"~ \u0080 ÿ \ud7ff \ue000 \uffff \ud800\udc00 \udbff\udfff"}}
want:
{
"basic_string": {"type": "string", "value": "~ ÿ 𐀀 "},
"escaped_string": {"type": "string", "value": "\u0000 \b \f A ÿ 𐀀 "},
"literal_string": {"type": "string", "value": "~ ÿ 𐀀 "},
"not_escaped_string": {
"type": "string",
"value": "\\u0000 \\u0008 \\u000c \\U00000041 \\u007f \\u0080 \\u00ff \\ud7ff \\ue000 \\uffff \\U00010000 \\U0010ffff"
}
}
FAIL valid/string/unicode-escape
decode JSON output from parser:
invalid character 'x' in string escape code
input sent to parser-cmd (PID 4434):
delta-1 = "\u03B4"
delta-2 = "\U000003B4"
a = "\u0061"
b = "\u0062"
c = "\U00000063"
null-1 = "\u0000"
null-2 = "\U00000000"
ml-delta-1 = """\u03B4"""
ml-delta-2 = """\U000003B4"""
ml-a = """\u0061"""
ml-b = """\u0062"""
ml-c = """\U00000063"""
ml-null-1 = """\u0000"""
ml-null-2 = """\U00000000"""
output from parser-cmd (PID 4434) (stdout):
{"ml-c":{"type":"string","value":"c"},"delta-2":{"type":"string","value":"\u03b4"},"ml-a":{"type":"string","value":"a"},"null-1":{"type":"string","value":"\x00"},"c":{"type":"string","value":"c"},"ml-delta-1":{"type":"string","value":"\u03b4"},"null-2":{"type":"string","value":"\x00"},"ml-b":{"type":"string","value":"b"},"a":{"type":"string","value":"a"},"ml-null-1":{"type":"string","value":"\x00"},"delta-1":{"type":"string","value":"\u03b4"},"ml-null-2":{"type":"string","value":"\x00"},"b":{"type":"string","value":"b"},"ml-delta-2":{"type":"string","value":"\u03b4"}}
want:
{
"a": {"type": "string", "value": "a"},
"b": {"type": "string", "value": "b"},
"c": {"type": "string", "value": "c"},
"delta-1": {"type": "string", "value": "δ"},
"delta-2": {"type": "string", "value": "δ"},
"ml-a": {"type": "string", "value": "a"},
"ml-b": {"type": "string", "value": "b"},
"ml-c": {"type": "string", "value": "c"},
"ml-delta-1": {"type": "string", "value": "δ"},
"ml-delta-2": {"type": "string", "value": "δ"},
"ml-null-1": {"type": "string", "value": "\u0000"},
"ml-null-2": {"type": "string", "value": "\u0000"},
"null-1": {"type": "string", "value": "\u0000"},
"null-2": {"type": "string", "value": "\u0000"}
}
FAIL invalid/array/extend-defined-aot
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4463):
[[tab.arr]]
[tab]
arr.val1=1
output from parser-cmd (PID 4463) (stdout):
{
"tab": {"arr": [{
"val1": {"type": "integer", "value": "1"}
}]}
}
want:
Exit code 1
FAIL invalid/array/extending-table
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4468):
a = [{ b = 1 }]
# Cannot extend tables within static arrays
# https://github.com/toml-lang/toml/issues/908
[a.c]
foo = 1
output from parser-cmd (PID 4468) (stdout):
{
"a": [{
"b": {"type": "integer", "value": "1"},
"c": {
"foo": {"type": "integer", "value": "1"}
}
}]
}
want:
Exit code 1
FAIL invalid/array/tables-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4531):
# INVALID TOML DOC
fruit = []
[[fruit]] # Not allowed
output from parser-cmd (PID 4531) (stdout):
{
"fruit": [{}]
}
want:
Exit code 1
FAIL invalid/array/tables-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4502):
# INVALID TOML DOC
[[fruit]]
name = "apple"
[[fruit.variety]]
name = "red delicious"
# This table conflicts with the previous table
[fruit.variety]
name = "granny smith"
output from parser-cmd (PID 4502) (stdout):
{
"fruit": [{
"name": {"type": "string", "value": "apple"},
"variety": [
{
"name": {"type": "string", "value": "red delicious"}
},
{
"name": {"type": "string", "value": "granny smith"}
}
]
}]
}
want:
Exit code 1
FAIL invalid/control/bare-cr
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4535):
# The following line contains a single carriage return control character
output from parser-cmd (PID 4535) (stdout):
{}
want:
Exit code 1
FAIL invalid/control/comment-del
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4539):
comment-del = "0x7f" #
output from parser-cmd (PID 4539) (stdout):
{
"comment-del": {"type": "string", "value": "0x7f"}
}
want:
Exit code 1
FAIL invalid/control/multi-del
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4548):
multi-del = """null"""
output from parser-cmd (PID 4548) (stdout):
{
"multi-del": {"type": "string", "value": "null"}
}
want:
Exit code 1
FAIL invalid/control/rawmulti-del
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4568):
rawmulti-del = '''null'''
output from parser-cmd (PID 4568) (stdout):
{
"rawmulti-del": {"type": "string", "value": "null"}
}
want:
Exit code 1
FAIL invalid/control/rawstring-del
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4569):
rawstring-del = 'null'
output from parser-cmd (PID 4569) (stdout):
{
"rawstring-del": {"type": "string", "value": "null"}
}
want:
Exit code 1
FAIL invalid/control/string-del
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4565):
string-del = "null"
output from parser-cmd (PID 4565) (stdout):
{
"string-del": {"type": "string", "value": "null"}
}
want:
Exit code 1
FAIL invalid/datetime/offset-minus-minute-1digit
signal: illegal instruction
input sent to parser-cmd (PID 4595):
foo = 1997-09-09T09:09:09.09+09:9
output from parser-cmd (PID 4595) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(279:19) Index 4 is out of range 0..<4
want:
Exit code 1
FAIL invalid/datetime/offset-minus-no-hour-minute
signal: illegal instruction
input sent to parser-cmd (PID 4585):
foo = 1997-09-09T09:09:09.09+
output from parser-cmd (PID 4585) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(275:19) Index 0 is out of range 0..<0
want:
Exit code 1
FAIL invalid/datetime/offset-minus-no-minute
signal: illegal instruction
input sent to parser-cmd (PID 4587):
foo = 1997-09-09T09:09:09.09+09
output from parser-cmd (PID 4587) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(277:19) Index 2 is out of range 0..<2
want:
Exit code 1
FAIL invalid/datetime/offset-plus-minute-1digit
signal: illegal instruction
input sent to parser-cmd (PID 4592):
foo = 1997-09-09T09:09:09.09+09:9
output from parser-cmd (PID 4592) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(279:19) Index 4 is out of range 0..<4
want:
Exit code 1
FAIL invalid/datetime/offset-plus-no-hour-minute
signal: illegal instruction
input sent to parser-cmd (PID 4594):
foo = 1997-09-09T09:09:09.09+
output from parser-cmd (PID 4594) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(275:19) Index 0 is out of range 0..<0
want:
Exit code 1
FAIL invalid/datetime/offset-plus-no-minute
signal: illegal instruction
input sent to parser-cmd (PID 4596):
foo = 1997-09-09T09:09:09.09+09
output from parser-cmd (PID 4596) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/odin-toml_parser/validator.odin(277:19) Index 2 is out of range 0..<2
want:
Exit code 1
FAIL invalid/datetime/second-trailing-dotz
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4601):
foo = 2016-09-09T09:09:09.Z
output from parser-cmd (PID 4601) (stdout):
{
"foo": {"type": "datetime", "value": "2016-09-09T09:09:09Z"}
}
want:
Exit code 1
FAIL invalid/encoding/bad-codepoint
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4604):
# Invalid codepoint U+D800 :
output from parser-cmd (PID 4604) (stdout):
{}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-at-end
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4606):
# There is a 0xda at after the quotes, and no EOL at the end of the file.
#
# This is a bit of an edge case: This indicates there should be two bytes
# (0b1101_1010) but there is no byte to follow because it's the end of the file.
x = """"""
output from parser-cmd (PID 4606) (stdout):
{
"x": {"type": "string", "value": ""}
}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-in-comment
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4613):
#
output from parser-cmd (PID 4613) (stdout):
{}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-in-multiline
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4612):
# The following line contains an invalid UTF-8 sequence.
bad = """"""
output from parser-cmd (PID 4612) (stdout):
{
"bad": {"type": "string", "value": "�"}
}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-in-multiline-literal
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4610):
# The following line contains an invalid UTF-8 sequence.
bad = ''''''
output from parser-cmd (PID 4610) (stdout):
{"bad":{"type":"string","value":"\xc3"}}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-in-string
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4611):
# The following line contains an invalid UTF-8 sequence.
bad = ""
output from parser-cmd (PID 4611) (stdout):
{
"bad": {"type": "string", "value": "�"}
}
want:
Exit code 1
FAIL invalid/encoding/bad-utf8-in-string-literal
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4609):
# The following line contains an invalid UTF-8 sequence.
bad = ''
output from parser-cmd (PID 4609) (stdout):
{"bad":{"type":"string","value":"\xc3"}}
want:
Exit code 1
FAIL invalid/float/exp-dot-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4624):
exp-point-1 = 1e2.3
output from parser-cmd (PID 4624) (stdout):
{}
want:
Exit code 1
FAIL invalid/float/exp-point-1
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4635):
exp-point-1 = 1e2.3
output from parser-cmd (PID 4635) (stdout):
{}
want:
Exit code 1
FAIL invalid/float/leading-dot-neg
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4659):
leading-point-neg = -.12345
output from parser-cmd (PID 4659) (stdout):
{
"leading-point-neg": {"type": "float", "value": "-0.12345"}
}
want:
Exit code 1
FAIL invalid/float/leading-dot-plus
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4655):
leading-point-plus = +.12345
output from parser-cmd (PID 4655) (stdout):
{
"leading-point-plus": {"type": "float", "value": "0.12345"}
}
want:
Exit code 1
FAIL invalid/float/leading-point-neg
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4658):
leading-point-neg = -.12345
output from parser-cmd (PID 4658) (stdout):
{
"leading-point-neg": {"type": "float", "value": "-0.12345"}
}
want:
Exit code 1
FAIL invalid/float/leading-point-plus
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4660):
leading-point-plus = +.12345
output from parser-cmd (PID 4660) (stdout):
{
"leading-point-plus": {"type": "float", "value": "0.12345"}
}
want:
Exit code 1
FAIL invalid/float/trailing-exp
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4689):
trailing-exp = 0.0E
output from parser-cmd (PID 4689) (stdout):
{}
want:
Exit code 1
FAIL invalid/float/trailing-exp-minus
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4679):
trailing-exp-minus = 0.0e-
output from parser-cmd (PID 4679) (stdout):
{}
want:
Exit code 1
FAIL invalid/float/trailing-exp-plus
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4685):
trailing-exp-plus = 0.0e+
output from parser-cmd (PID 4685) (stdout):
{}
want:
Exit code 1
FAIL invalid/inline-table/duplicate-key-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4697):
tbl = { fruit = { apple.color = "red" }, fruit.apple.texture = { smooth = true } }
output from parser-cmd (PID 4697) (stdout):
{
"tbl": {
"fruit": {
"apple": {
"color": {"type": "string", "value": "red"},
"texture": {
"smooth": {"type": "bool", "value": "true"}
}
}
}
}
}
want:
Exit code 1
FAIL invalid/inline-table/duplicate-key-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4698):
tbl = { a.b = "a_b", a.b.c = "a_b_c" }
output from parser-cmd (PID 4698) (stdout):
{
"tbl": {
"a": {
"b": {"type": "string", "value": "a_b"},
"c": {"type": "string", "value": "a_b_c"}
}
}
}
want:
Exit code 1
FAIL invalid/inline-table/linebreak-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4701):
# No newlines are allowed between the curly braces unless they are valid within
# a value.
simple = { a = 1
}
output from parser-cmd (PID 4701) (stdout):
{
"simple": {
"a": {"type": "integer", "value": "1"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/linebreak-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4702):
t = {a=1,
b=2}
output from parser-cmd (PID 4702) (stdout):
{
"t": {
"a": {"type": "integer", "value": "1"},
"b": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/linebreak-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4704):
t = {a=1
,b=2}
output from parser-cmd (PID 4704) (stdout):
{
"t": {
"a": {"type": "integer", "value": "1"},
"b": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/linebreak-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4707):
json_like = {
first = "Tom",
last = "Preston-Werner"
}
output from parser-cmd (PID 4707) (stdout):
{
"json_like": {
"first": {"type": "string", "value": "Tom"},
"last": {"type": "string", "value": "Preston-Werner"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/no-close-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4705):
a={
output from parser-cmd (PID 4705) (stdout):
{
"a": {}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4711):
a={}
# Inline tables are immutable and can't be extended
[a.b]
output from parser-cmd (PID 4711) (stdout):
{
"a": {
"b": {}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-05
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4720):
inline-t = { nest = {} }
[inline-t.nest]
output from parser-cmd (PID 4720) (stdout):
{
"inline-t": {
"nest": {}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-06
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4721):
a = { b = 1, b.c = 2 }
output from parser-cmd (PID 4721) (stdout):
{
"a": {
"b": {"type": "integer", "value": "1"},
"c": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-07
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4723):
tab = { inner.table = [{}], inner.table.val = "bad" }
output from parser-cmd (PID 4723) (stdout):
{
"tab": {
"inner": {"table": [{
"val": {"type": "string", "value": "bad"}
}]}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-08
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4713):
tab = { inner = { dog = "best" }, inner.cat = "worst" }
output from parser-cmd (PID 4713) (stdout):
{
"tab": {
"inner": {
"cat": {"type": "string", "value": "worst"},
"dog": {"type": "string", "value": "best"}
}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-10
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4716):
# Set implicit "b", overwrite "b" (illegal!) and then set another implicit.
#
# Caused panic: https://github.com/BurntSushi/toml/issues/403
a = {b.a = 1, b = 2, b.c = 3}
output from parser-cmd (PID 4716) (stdout):
{
"a": {
"b": {"type": "integer", "value": "2"},
"c": {"type": "integer", "value": "3"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/trailing-comma
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4718):
# A terminating comma (also called trailing comma) is not permitted after the
# last key/value pair in an inline table
abc = { abc = 123, }
output from parser-cmd (PID 4718) (stdout):
{
"abc": {
"abc": {"type": "integer", "value": "123"}
}
}
want:
Exit code 1
FAIL invalid/integer/negative-bin
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4753):
negative-bin = -0b11010110
output from parser-cmd (PID 4753) (stdout):
{
"negative-bin": {"type": "integer", "value": "-214"}
}
want:
Exit code 1
FAIL invalid/integer/negative-hex
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4754):
negative-hex = -0xff
output from parser-cmd (PID 4754) (stdout):
{
"negative-hex": {"type": "integer", "value": "-255"}
}
want:
Exit code 1
FAIL invalid/integer/negative-oct
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4761):
negative-oct = -0o755
output from parser-cmd (PID 4761) (stdout):
{
"negative-oct": {"type": "integer", "value": "-493"}
}
want:
Exit code 1
FAIL invalid/integer/positive-bin
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4756):
positive-bin = +0b11010110
output from parser-cmd (PID 4756) (stdout):
{
"positive-bin": {"type": "integer", "value": "214"}
}
want:
Exit code 1
FAIL invalid/integer/positive-hex
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4759):
positive-hex = +0xff
output from parser-cmd (PID 4759) (stdout):
{
"positive-hex": {"type": "integer", "value": "255"}
}
want:
Exit code 1
FAIL invalid/integer/positive-oct
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4757):
positive-oct = +0o755
output from parser-cmd (PID 4757) (stdout):
{
"positive-oct": {"type": "integer", "value": "493"}
}
want:
Exit code 1
FAIL invalid/key/bare-invalid-character-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4773):
! = 123
output from parser-cmd (PID 4773) (stdout):
{
"!": {"type": "integer", "value": "123"}
}
want:
Exit code 1
FAIL invalid/key/bare-invalid-character-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4771):
bare!key = 123
output from parser-cmd (PID 4771) (stdout):
{
"bare!key": {"type": "integer", "value": "123"}
}
want:
Exit code 1
FAIL invalid/key/dot
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4772):
. = 1
output from parser-cmd (PID 4772) (stdout):
{
".": {"type": "integer", "value": "1"}
}
want:
Exit code 1
FAIL invalid/key/dotted-redefine-table-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4775):
a = false
a.b = true
output from parser-cmd (PID 4775) (stdout):
{
"a": {"type": "bool", "value": "false"},
"b": {"type": "bool", "value": "true"}
}
want:
Exit code 1
FAIL invalid/key/dotted-redefine-table-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4777):
# Defined a.b as int
a.b = 1
# Tries to access it as table: error
a.b.c = 2
output from parser-cmd (PID 4777) (stdout):
{
"a": {
"b": {"type": "integer", "value": "1"},
"c": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/key/escape
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4780):
\u00c0 = "latin capital letter A with grave"
output from parser-cmd (PID 4780) (stdout):
{
"À": {"type": "string", "value": "latin capital letter A with grave"}
}
want:
Exit code 1
FAIL invalid/key/multiline-key-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4783):
"""key""" = 1
output from parser-cmd (PID 4783) (stdout):
{
"key": {"type": "integer", "value": "1"}
}
want:
Exit code 1
FAIL invalid/key/multiline-key-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4785):
'''key''' = 1
output from parser-cmd (PID 4785) (stdout):
{
"key": {"type": "integer", "value": "1"}
}
want:
Exit code 1
FAIL invalid/key/multiline-key-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4788):
"""key""" = """v"""
output from parser-cmd (PID 4788) (stdout):
{
"key": {"type": "string", "value": "v"}
}
want:
Exit code 1
FAIL invalid/key/multiline-key-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4790):
'''key''' = '''v'''
output from parser-cmd (PID 4790) (stdout):
{
"key": {"type": "string", "value": "v"}
}
want:
Exit code 1
FAIL invalid/key/partial-quoted
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4809):
partial"quoted" = 5
output from parser-cmd (PID 4809) (stdout):
{
"partial\"quoted\"": {"type": "integer", "value": "5"}
}
want:
Exit code 1
FAIL invalid/key/special-character
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4820):
μ = "greek small letter mu"
output from parser-cmd (PID 4820) (stdout):
{
"μ": {"type": "string", "value": "greek small letter mu"}
}
want:
Exit code 1
FAIL invalid/local-date/trailing-t
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4842):
# Date cannot end with trailing T
d = 2006-01-30T
output from parser-cmd (PID 4842) (stdout):
{
"d": {"type": "date-local", "value": "2006-01-30TZ"}
}
want:
Exit code 1
FAIL invalid/spec-1.0.0/inline-table-2-0
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4900):
[product]
type = { name = "Nail" }
type.edible = false # INVALID
output from parser-cmd (PID 4900) (stdout):
{
"product": {
"type": {
"edible": {"type": "bool", "value": "false"},
"name": {"type": "string", "value": "Nail"}
}
}
}
want:
Exit code 1
FAIL invalid/spec-1.0.0/table-9-0
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4905):
[fruit]
apple.color = "red"
apple.taste.sweet = true
[fruit.apple] # INVALID
# [fruit.apple.taste] # INVALID
[fruit.apple.texture] # you can add sub-tables
smooth = true
output from parser-cmd (PID 4905) (stdout):
{
"fruit": {
"apple": {
"color": {"type": "string", "value": "red"},
"taste": {
"sweet": {"type": "bool", "value": "true"}
},
"texture": {
"smooth": {"type": "bool", "value": "true"}
}
}
}
}
want:
Exit code 1
FAIL invalid/spec-1.0.0/table-9-1
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4907):
[fruit]
apple.color = "red"
apple.taste.sweet = true
# [fruit.apple] # INVALID
[fruit.apple.taste] # INVALID
[fruit.apple.texture] # you can add sub-tables
smooth = true
output from parser-cmd (PID 4907) (stdout):
{
"fruit": {
"apple": {
"color": {"type": "string", "value": "red"},
"taste": {
"sweet": {"type": "bool", "value": "true"}
},
"texture": {
"smooth": {"type": "bool", "value": "true"}
}
}
}
}
want:
Exit code 1
FAIL invalid/string/bad-escape-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4919):
invalid-escape = "This string has a bad \ escape character."
output from parser-cmd (PID 4919) (stdout):
{
"invalid-escape": {"type": "string", "value": "This string has a bad escape character."}
}
want:
Exit code 1
FAIL invalid/string/bad-escape-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4911):
a = "a \\\ b"
output from parser-cmd (PID 4911) (stdout):
{
"a": {"type": "string", "value": "a \\b"}
}
want:
Exit code 1
FAIL invalid/string/bad-escape-05
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4914):
a = "a \\\\\ b"
output from parser-cmd (PID 4914) (stdout):
{
"a": {"type": "string", "value": "a \\\\b"}
}
want:
Exit code 1
FAIL invalid/string/bad-multiline
Expected an error, but no error was reported.
input sent to parser-cmd (PID 4947):
multi = "first line
second line"
output from parser-cmd (PID 4947) (stdout):
{
"multi": {"type": "string", "value": "first line\nsecond line"}
}
want:
Exit code 1
FAIL invalid/string/multiline-bad-escape-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5014):
# \ is not a valid escape.
k = """t\ t"""
output from parser-cmd (PID 5014) (stdout):
{
"k": {"type": "string", "value": "tt"}
}
want:
Exit code 1
FAIL invalid/string/multiline-bad-escape-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5010):
# \ is not a valid escape.
k = """t\ """
output from parser-cmd (PID 5010) (stdout):
{
"k": {"type": "string", "value": "t"}
}
want:
Exit code 1
FAIL invalid/string/multiline-escape-space-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5009):
a = """
foo \ \n
bar"""
output from parser-cmd (PID 5009) (stdout):
{
"a": {"type": "string", "value": " foo \n\n bar"}
}
want:
Exit code 1
FAIL invalid/string/multiline-escape-space-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5012):
bee = """
hee \
gee \ """
output from parser-cmd (PID 5012) (stdout):
{
"bee": {"type": "string", "value": "hee gee "}
}
want:
Exit code 1
FAIL invalid/string/no-close-09
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5035):
# Newlines are not allowed in "-strings.
a = "
"
output from parser-cmd (PID 5035) (stdout):
{
"a": {"type": "string", "value": ""}
}
want:
Exit code 1
FAIL invalid/string/no-close-10
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5034):
# Newlines are not allowed in '-strings.
a = '
'
output from parser-cmd (PID 5034) (stdout):
{
"a": {"type": "string", "value": ""}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5047):
# First a.b.c defines a table: a.b.c = {z=9}
#
# Then we define a.b.c.t = "str" to add a str to the above table, making it:
#
# a.b.c = {z=9, t="..."}
#
# While this makes sense, logically, it was decided this is not valid TOML as
# it's too confusing/convoluted.
#
# See: https://github.com/toml-lang/toml/issues/846
# https://github.com/toml-lang/toml/pull/859
[a.b.c]
z = 9
[a]
b.c.t = "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed"
output from parser-cmd (PID 5047) (stdout):
{
"a": {
"b": {
"c": {
"z": {"type": "integer", "value": "9"},
"t": {
"type": "string",
"value": "Using dotted keys to add to [a.b.c] after explicitly defining it above is not allowed"
}
}
}
}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5046):
# This is the same issue as in injection-1.toml, except that nests one level
# deeper. See that file for a more complete description.
[a.b.c.d]
z = 9
[a]
b.c.d.k.t = "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed"
output from parser-cmd (PID 5046) (stdout):
{
"a": {
"b": {
"c": {
"d": {
"z": {"type": "integer", "value": "9"},
"k": {
"t": {
"type": "string",
"value": "Using dotted keys to add to [a.b.c.d] after explicitly defining it above is not allowed"
}
}
}
}
}
}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5058):
[[a.b]]
[a]
b.y = 2
output from parser-cmd (PID 5058) (stdout):
{
"a": {"b": [{
"y": {"type": "integer", "value": "2"}
}]}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5048):
[dependencies.foo]
version = "0.16"
[dependencies]
libc = "0.2"
[dependencies]
rand = "0.3.14"
output from parser-cmd (PID 5048) (stdout):
{
"dependencies": {
"libc": {"type": "string", "value": "0.2"},
"rand": {"type": "string", "value": "0.3.14"},
"foo": {
"version": {"type": "string", "value": "0.16"}
}
}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-06
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5051):
a = 1
a.b = 2
output from parser-cmd (PID 5051) (stdout):
{
"a": {"type": "integer", "value": "1"},
"b": {"type": "integer", "value": "2"}
}
want:
Exit code 1
FAIL invalid/table/append-with-dotted-keys-07
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5052):
a = {k1 = 1, k1.name = "joe"}
output from parser-cmd (PID 5052) (stdout):
{
"a": {
"k1": {"type": "integer", "value": "1"},
"name": {"type": "string", "value": "joe"}
}
}
want:
Exit code 1
FAIL invalid/table/bare-invalid-character-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5059):
[!]
k = 123
output from parser-cmd (PID 5059) (stdout):
{
"!": {
"k": {"type": "integer", "value": "123"}
}
}
want:
Exit code 1
FAIL invalid/table/bare-invalid-character-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5060):
[bare!key]
k = 123
output from parser-cmd (PID 5060) (stdout):
{
"bare!key": {
"k": {"type": "integer", "value": "123"}
}
}
want:
Exit code 1
FAIL invalid/table/dot
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5061):
[.]
k = 1
output from parser-cmd (PID 5061) (stdout):
{
".": {
"k": {"type": "integer", "value": "1"}
}
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5063):
[a]
b = 1
[a]
c = 2
output from parser-cmd (PID 5063) (stdout):
{
"a": {
"b": {"type": "integer", "value": "1"},
"c": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-04
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5066):
[fruit]
apple.color = "red"
[fruit.apple] # INVALID
output from parser-cmd (PID 5066) (stdout):
{
"fruit": {
"apple": {
"color": {"type": "string", "value": "red"}
}
}
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-05
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5067):
[fruit]
apple.taste.sweet = true
[fruit.apple.taste] # INVALID
output from parser-cmd (PID 5067) (stdout):
{
"fruit": {
"apple": {
"taste": {
"sweet": {"type": "bool", "value": "true"}
}
}
}
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-07
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5069):
[[tbl]]
[tbl]
output from parser-cmd (PID 5069) (stdout):
{
"tbl": [
{},
{}
]
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-09
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5070):
[a]
foo="bar"
[a.b]
foo="bar"
[a]
output from parser-cmd (PID 5070) (stdout):
{
"a": {
"foo": {"type": "string", "value": "bar"},
"b": {
"foo": {"type": "string", "value": "bar"}
}
}
}
want:
Exit code 1
FAIL invalid/table/duplicate-key-10
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5072):
a = []
[[a.b]]
output from parser-cmd (PID 5072) (stdout):
{
"a": [{"b": [{}]}]
}
want:
Exit code 1
FAIL invalid/table/multiline-key-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5082):
["""tbl"""]
k = 1
output from parser-cmd (PID 5082) (stdout):
{
"tbl": {
"k": {"type": "integer", "value": "1"}
}
}
want:
Exit code 1
FAIL invalid/table/multiline-key-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5087):
['''tbl''']
k = 1
output from parser-cmd (PID 5087) (stdout):
{
"tbl": {
"k": {"type": "integer", "value": "1"}
}
}
want:
Exit code 1
FAIL invalid/table/newline-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5080):
["tbl
"]
k = 1
output from parser-cmd (PID 5080) (stdout):
{
"tbl\n": {
"k": {"type": "integer", "value": "1"}
}
}
want:
Exit code 1
FAIL invalid/table/overwrite-with-deep-table
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5100):
a=1
[a.b.c.d]
output from parser-cmd (PID 5100) (stdout):
{
"a": {"type": "integer", "value": "1"},
"b": {
"c": {}
}
}
want:
Exit code 1
FAIL invalid/table/redefine-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5096):
[t1]
t2.t3.v = 0
[t1.t2]
output from parser-cmd (PID 5096) (stdout):
{
"t1": {
"t2": {
"t3": {
"v": {"type": "integer", "value": "0"}
}
}
}
}
want:
Exit code 1
FAIL invalid/table/redefine-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5098):
[t1]
t2.t3.v = 0
[t1.t2.t3]
output from parser-cmd (PID 5098) (stdout):
{
"t1": {
"t2": {
"t3": {
"v": {"type": "integer", "value": "0"}
}
}
}
}
want:
Exit code 1
FAIL invalid/table/super-twice
Expected an error, but no error was reported.
input sent to parser-cmd (PID 5097):
[a.b]
[a]
[a]
output from parser-cmd (PID 5097) (stdout):
{
"a": {
"b": {}
}
}
want:
Exit code 1
toml-test v2025-04-23 [./toml_parser]: using embedded tests
valid tests: 185 passed, 20 failed
invalid tests: 428 passed, 101 failed
==> ENCODER TESTS
(not supported)
took 0.0 0.0