tomlrb version 4edc50c
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.1229 +0000 UTC
input sent to parser-cmd (PID 14174):
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 14174) (stdout):
{
"utc1": {"type": "datetime", "value": "1987-07-05T17:45:56.1229Z"},
"utc2": {"type": "datetime", "value": "1987-07-05T17:45:56.6000Z"},
"wita1": {"type": "datetime", "value": "1987-07-05T17:45:56.1229+08:00"},
"wita2": {"type": "datetime", "value": "1987-07-05T17:45:56.6000+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/like-date
/home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:28:in `rescue in parse': parse error on value ["2001", "02", "03", nil, nil, nil, nil] (DATETIME) (Tomlrb::ParseError)
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:25:in `parse'
from ./ruby-tomlrb-decoder:35:in `'
/home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:536:in `on_error': parse error on value ["2001", "02", "03", nil, nil, nil, nil] (DATETIME) (Racc::ParseError)
from /home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:263:in `_racc_do_parse_c'
from /home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:263:in `do_parse'
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb/parser.rb:16:in `parse'
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:26:in `parse'
from ./ruby-tomlrb-decoder:35:in `'
Exit 1
input sent to parser-cmd (PID 14278):
# '-' is a valid character in keys: make a key that looks like a date.
2001-02-03 = 1
"2001-02-04" = 2
'2001-02-05' = 3
# Also include datetime and time for good measure; these need to be quoted as
# ':' isn't a valid bare key.
"2001-02-06T15:16:17+01:00" = 4
"2001-02-07T15:16:17" = 5
"15:16:17" = 6
# Dotted keys
a.2001-02-08 = 7
a.2001-02-09.2001-02-10 = 8
2001-02-11.a.2001-02-12 = 9
# Table names
[2002-01-02]
k = 10
[2002-01-02.2024-01-03]
k = 11
[[2002-01-04]]
k = 12
output from parser-cmd (PID 14278) (stderr):
/home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:28:in `rescue in parse': parse error on value ["2001", "02", "03", nil, nil, nil, nil] (DATETIME) (Tomlrb::ParseError)
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:25:in `parse'
from ./ruby-tomlrb-decoder:35:in `'
/home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:536:in `on_error': parse error on value ["2001", "02", "03", nil, nil, nil, nil] (DATETIME) (Racc::ParseError)
from /home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:263:in `_racc_do_parse_c'
from /home/martin/.local/share/gem/ruby/3.3.0/gems/racc-1.8.1/lib/racc/parser.rb:263:in `do_parse'
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb/parser.rb:16:in `parse'
from /home/martin/code/Toml/toml-test-matrix/src/ruby-tomlrb/lib/tomlrb.rb:26:in `parse'
from ./ruby-tomlrb-decoder:35:in `'
Exit 1
want:
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:00.9989 -0700 -0700
input sent to parser-cmd (PID 14375):
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 14375) (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:00.9989-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 invalid/array/double-comma-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14544):
double-comma-1 = [1,,2]
output from parser-cmd (PID 14544) (stdout):
{
"double-comma-1": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
]
}
want:
Exit code 1
FAIL invalid/array/double-comma-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14545):
double-comma-2 = [1,2,,]
output from parser-cmd (PID 14545) (stdout):
{
"double-comma-2": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
]
}
want:
Exit code 1
FAIL invalid/array/double-comma-1
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14552):
double-comma-1 = [1,,2]
output from parser-cmd (PID 14552) (stdout):
{
"double-comma-1": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
]
}
want:
Exit code 1
FAIL invalid/array/double-comma-2
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14554):
double-comma-2 = [1,2,,]
output from parser-cmd (PID 14554) (stdout):
{
"double-comma-2": [
{"type": "integer", "value": "1"},
{"type": "integer", "value": "2"}
]
}
want:
Exit code 1
FAIL invalid/array/only-comma-01
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14610):
only-comma-1 = [,]
output from parser-cmd (PID 14610) (stdout):
{
"only-comma-1": []
}
want:
Exit code 1
FAIL invalid/array/only-comma-02
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14612):
only-comma-2 = [,,]
output from parser-cmd (PID 14612) (stdout):
{
"only-comma-2": []
}
want:
Exit code 1
FAIL invalid/array/only-comma-1
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14614):
only-comma-1 = [,]
output from parser-cmd (PID 14614) (stdout):
{
"only-comma-1": []
}
want:
Exit code 1
FAIL invalid/array/only-comma-2
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14618):
only-comma-2 = [,,]
output from parser-cmd (PID 14618) (stdout):
{
"only-comma-2": []
}
want:
Exit code 1
FAIL invalid/control/multi-cr
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14678):
multi-cr = """null
"""
output from parser-cmd (PID 14678) (stdout):
{
"multi-cr": {"type": "string", "value": "null\r"}
}
want:
Exit code 1
FAIL invalid/control/rawmulti-cr
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14695):
rawmulti-cr = '''null
'''
output from parser-cmd (PID 14695) (stdout):
{
"rawmulti-cr": {"type": "string", "value": "null\r"}
}
want:
Exit code 1
FAIL invalid/datetime/feb-29
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14728):
"not a leap year" = 2100-02-29T15:15:15Z
output from parser-cmd (PID 14728) (stdout):
{
"not a leap year": {"type": "datetime", "value": "2100-03-01T15:15:15Z"}
}
want:
Exit code 1
FAIL invalid/datetime/feb-30
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14729):
"only 28 or 29 days in february" = 1988-02-30T15:15:15Z
output from parser-cmd (PID 14729) (stdout):
{
"only 28 or 29 days in february": {"type": "datetime", "value": "1988-03-01T15:15:15Z"}
}
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 14965):
tbl = { fruit = { apple.color = "red" }, fruit.apple.texture = { smooth = true } }
output from parser-cmd (PID 14965) (stdout):
{
"tbl": {
"fruit": {
"apple": {
"color": {"type": "string", "value": "red"},
"texture": {
"smooth": {"type": "bool", "value": "true"}
}
}
}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 14996):
a = { b = 1 }
a.b = 2
output from parser-cmd (PID 14996) (stdout):
{
"a": {
"b": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/inline-table/overwrite-08
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15007):
tab = { inner = { dog = "best" }, inner.cat = "worst" }
output from parser-cmd (PID 15007) (stdout):
{
"tab": {
"inner": {
"cat": {"type": "string", "value": "worst"},
"dog": {"type": "string", "value": "best"}
}
}
}
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 15121):
a = false
a.b = true
output from parser-cmd (PID 15121) (stdout):
{
"a": {
"b": {"type": "bool", "value": "true"}
}
}
want:
Exit code 1
FAIL invalid/local-date/feb-29
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15225):
"not a leap year" = 2100-02-29
output from parser-cmd (PID 15225) (stdout):
{
"not a leap year": {"type": "date-local", "value": "2100-03-01"}
}
want:
Exit code 1
FAIL invalid/local-date/feb-30
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15226):
"only 28 or 29 days in february" = 1988-02-30
output from parser-cmd (PID 15226) (stdout):
{
"only 28 or 29 days in february": {"type": "date-local", "value": "1988-03-01"}
}
want:
Exit code 1
FAIL invalid/local-datetime/feb-29
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15248):
"not a leap year" = 2100-02-29T15:15:15
output from parser-cmd (PID 15248) (stdout):
{
"not a leap year": {"type": "datetime-local", "value": "2100-03-01T15:15:15"}
}
want:
Exit code 1
FAIL invalid/local-datetime/feb-30
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15249):
"only 28 or 29 days in february" = 1988-02-30T15:15:15
output from parser-cmd (PID 15249) (stdout):
{
"only 28 or 29 days in february": {"type": "datetime-local", "value": "1988-03-01T15:15:15"}
}
want:
Exit code 1
FAIL invalid/local-datetime/hour-over
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15253):
# time-hour = 2DIGIT ; 00-23
d = 2006-01-01T24:00:00
output from parser-cmd (PID 15253) (stdout):
{
"d": {"type": "datetime-local", "value": "2006-01-02T00:00:00"}
}
want:
Exit code 1
FAIL invalid/local-time/hour-over
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15279):
# time-hour = 2DIGIT ; 00-23
d = 24:00:00
output from parser-cmd (PID 15279) (stdout):
{
"d": {"type": "time-local", "value": "00:00:00"}
}
want:
Exit code 1
FAIL invalid/string/bad-escape-03
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15318):
backslash = "\"
output from parser-cmd (PID 15318) (stdout):
{
"backslash": {"type": "string", "value": "\\"}
}
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 15494):
[dependencies.foo]
version = "0.16"
[dependencies]
libc = "0.2"
[dependencies]
rand = "0.3.14"
output from parser-cmd (PID 15494) (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-05
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15495):
a.b.c = 1
a.b = 2
output from parser-cmd (PID 15495) (stdout):
{
"a": {
"b": {"type": "integer", "value": "2"}
}
}
want:
Exit code 1
FAIL invalid/table/super-twice
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15601):
[a.b]
[a]
[a]
output from parser-cmd (PID 15601) (stdout):
{
"a": {
"b": {}
}
}
want:
Exit code 1
FAIL invalid/table/trailing-dot
Expected an error, but no error was reported.
input sent to parser-cmd (PID 15603):
[a.]
output from parser-cmd (PID 15603) (stdout):
{
"a": {}
}
want:
Exit code 1
toml-test v2025-04-23 [./ruby-tomlrb-decoder]: using embedded tests
valid tests: 202 passed, 3 failed
invalid tests: 502 passed, 27 failed
==> ENCODER TESTS
(not supported)
took 4.4 2.73