boml version 1.0.1
FAIL invalid/array/extend-defined-aot
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [[tab.arr]]
       [tab]
       arr.val1=1

     output from parser-cmd (stdout):
       {
         "tab": {"arr": [{
           "val1": {"type": "integer", "value": "1"}
         }]}
       }

     want:
       Exit code 1

FAIL invalid/array/tables-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # INVALID TOML DOC
       fruit = []

       [[fruit]] # Not allowed

     output from parser-cmd (stdout):
       {
         "fruit": [{}]
       }

     want:
       Exit code 1

FAIL invalid/control/bare-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # The following line contains a single carriage return control character
       

     output from parser-cmd (stdout):
       {}

     want:
       Exit code 1

FAIL invalid/control/comment-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-cr   = "Carriage return in comment" # 
a=1

     output from parser-cmd (stdout):
       {
         "comment-cr": {"type": "string", "value": "Carriage return in comment"}
       }

     want:
       Exit code 1

FAIL invalid/control/comment-del
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-del  = "0x7f"   # 

     output from parser-cmd (stdout):
       {
         "comment-del": {"type": "string", "value": "0x7f"}
       }

     want:
       Exit code 1

FAIL invalid/control/comment-ff
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-ff   = "0x7f"   # 

     output from parser-cmd (stdout):
       {
         "comment-ff": {"type": "string", "value": "0x7f"}
       }

     want:
       Exit code 1

FAIL invalid/control/comment-lf
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-lf   = "ctrl-P" # 

     output from parser-cmd (stdout):
       {
         "comment-lf": {"type": "string", "value": "ctrl-P"}
       }

     want:
       Exit code 1

FAIL invalid/control/comment-null
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-null = "null"   # 

     output from parser-cmd (stdout):
       {
         "comment-null": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/comment-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       comment-us   = "ctrl-_" # 

     output from parser-cmd (stdout):
       {
         "comment-us": {"type": "string", "value": "ctrl-_"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi-cr   = """null
"""

     output from parser-cmd (stdout):
       {
         "multi-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-del
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi-del  = """null"""

     output from parser-cmd (stdout):
       {
         "multi-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-lf
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi-lf   = """null"""

     output from parser-cmd (stdout):
       {
         "multi-lf": {"type": "string", "value": "null\u0010"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-null
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi-null = """null"""

     output from parser-cmd (stdout):
       {
         "multi-null": {"type": "string", "value": "null\u0000"}
       }

     want:
       Exit code 1

FAIL invalid/control/multi-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi-us   = """null"""

     output from parser-cmd (stdout):
       {
         "multi-us": {"type": "string", "value": "null\u001f"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawmulti-cr   = '''null
'''

     output from parser-cmd (stdout):
       {
         "rawmulti-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-del
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawmulti-del  = '''null'''

     output from parser-cmd (stdout):
       {
         "rawmulti-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-lf
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawmulti-lf   = '''null'''

     output from parser-cmd (stdout):
       {
         "rawmulti-lf": {"type": "string", "value": "null\u0010"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-null
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawmulti-null = '''null'''

     output from parser-cmd (stdout):
       {
         "rawmulti-null": {"type": "string", "value": "null\u0000"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawmulti-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawmulti-us   = '''null'''

     output from parser-cmd (stdout):
       {
         "rawmulti-us": {"type": "string", "value": "null\u001f"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawstring-cr   = 'null
'

     output from parser-cmd (stdout):
       {
         "rawstring-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-del
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawstring-del  = 'null'

     output from parser-cmd (stdout):
       {
         "rawstring-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-lf
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawstring-lf   = 'null'

     output from parser-cmd (stdout):
       {
         "rawstring-lf": {"type": "string", "value": "null\u0010"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-null
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawstring-null = 'null'

     output from parser-cmd (stdout):
       {
         "rawstring-null": {"type": "string", "value": "null\u0000"}
       }

     want:
       Exit code 1

FAIL invalid/control/rawstring-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       rawstring-us   = 'null'

     output from parser-cmd (stdout):
       {
         "rawstring-us": {"type": "string", "value": "null\u001f"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-bs
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-bs   = "backspace"

     output from parser-cmd (stdout):
       {
         "string-bs": {"type": "string", "value": "backspace\b"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-cr
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-cr   = "null
"

     output from parser-cmd (stdout):
       {
         "string-cr": {"type": "string", "value": "null\r"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-del
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-del  = "null"

     output from parser-cmd (stdout):
       {
         "string-del": {"type": "string", "value": "null"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-lf
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-lf   = "null"

     output from parser-cmd (stdout):
       {
         "string-lf": {"type": "string", "value": "null\u0010"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-null
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-null = "null"

     output from parser-cmd (stdout):
       {
         "string-null": {"type": "string", "value": "null\u0000"}
       }

     want:
       Exit code 1

FAIL invalid/control/string-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       string-us   = "null"

     output from parser-cmd (stdout):
       {
         "string-us": {"type": "string", "value": "null\u001f"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/feb-29
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "not a leap year" = 2100-02-29T15:15:15Z

     output from parser-cmd (stdout):
       {
         "not a leap year": {"type": "datetime", "value": "2100-2-29t15:15:15.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/feb-30
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "only 28 or 29 days in february" = 1988-02-30T15:15:15Z

     output from parser-cmd (stdout):
       {
         "only 28 or 29 days in february": {"type": "datetime", "value": "1988-2-30t15:15:15.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/hour-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-hour       = 2DIGIT  ; 00-23
       d = 2006-01-01T24:00:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-1-1t24: 0: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/mday-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-32T00:00:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-1-32t 0: 0: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/mday-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-00T00:00:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-1-0t 0: 0: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/minute-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-minute     = 2DIGIT  ; 00-59
       d = 2006-01-01T00:60:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-1-1t 0:60: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/month-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2006-13-01T00:00:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-13-1t 0: 0: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/month-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2007-00-01T00:00:00-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2007-0-1t 0: 0: 0.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/offset-overflow-hour
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # Hour must be 00-24
       d = 1985-06-18 17:04:07+25:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "1985-6-18t17: 4: 7.0+25: 0"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/offset-overflow-minute
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # Minute must be 00-59; we allow 60 too because some people do write offsets of
       # 60 minutes
       d = 1985-06-18 17:04:07+12:61

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "1985-6-18t17: 4: 7.0+12:61"}
       }

     want:
       Exit code 1

FAIL invalid/datetime/second-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-second     = 2DIGIT  ; 00-58, 00-59, 00-60 based on leap second
       #                           ; rules
       d = 2006-01-01T00:00:61-00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime", "value": "2006-1-1t 0: 0:61.0+ 0: 0"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-double-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-double-us = 1e__23

     output from parser-cmd (stdout):
       {
         "exp-double-us": {"type": "float", "value": "1e23"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-leading-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-leading-us = 1e_23

     output from parser-cmd (stdout):
       {
         "exp-leading-us": {"type": "float", "value": "1e23"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-point-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-point-2 = 1.e2

     output from parser-cmd (stdout):
       {
         "exp-point-2": {"type": "float", "value": "100.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-point-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-point-3 = 3.e+20

     output from parser-cmd (stdout):
       {
         "exp-point-3": {"type": "float", "value": "3e20"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-trailing-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-trailing-us = 1e23_

     output from parser-cmd (stdout):
       {
         "exp-trailing-us": {"type": "float", "value": "1e23"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-trailing-us-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-trailing-us-1 = 1_e2

     output from parser-cmd (stdout):
       {
         "exp-trailing-us-1": {"type": "float", "value": "100.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/exp-trailing-us-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       exp-trailing-us-2 = 1.2_e2

     output from parser-cmd (stdout):
       {
         "exp-trailing-us-2": {"type": "float", "value": "120.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/leading-point-neg
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       leading-point-neg = -.12345

     output from parser-cmd (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:
       leading-point-plus = +.12345

     output from parser-cmd (stdout):
       {
         "leading-point-plus": {"type": "float", "value": "0.12345"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-point
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-point = 1.

     output from parser-cmd (stdout):
       {
         "trailing-point": {"type": "float", "value": "1.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-point-min
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-point-min = -1.

     output from parser-cmd (stdout):
       {
         "trailing-point-min": {"type": "float", "value": "-1.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-point-plus
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-point-plus = +1.

     output from parser-cmd (stdout):
       {
         "trailing-point-plus": {"type": "float", "value": "1.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us = 1.2_

     output from parser-cmd (stdout):
       {
         "trailing-us": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-us-exp-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us-exp-1 = 1_e2

     output from parser-cmd (stdout):
       {
         "trailing-us-exp-1": {"type": "float", "value": "100.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/trailing-us-exp-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us-exp-2 = 1.2_e2

     output from parser-cmd (stdout):
       {
         "trailing-us-exp-2": {"type": "float", "value": "120.0"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-after-point
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       us-after-point = 1._2

     output from parser-cmd (stdout):
       {
         "us-after-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/float/us-before-point
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       us-before-point = 1_.2

     output from parser-cmd (stdout):
       {
         "us-before-point": {"type": "float", "value": "1.2"}
       }

     want:
       Exit code 1

FAIL invalid/inline-table/duplicate-key-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       tbl = { fruit = { apple.color = "red" }, fruit.apple.texture = { smooth = true } }

     output from parser-cmd (stdout):
       {
         "tbl": {
           "fruit": {
             "apple": {
               "color": {"type": "string", "value": "red"},
               "texture": {
                 "smooth": {"type": "bool", "value": "true"}
               }
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # No newlines are allowed between the curly braces unless they are valid within
       # a value.
       simple = { a = 1
       }

     output from parser-cmd (stdout):
       {
         "simple": {
           "a": {"type": "integer", "value": "1"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       t = {a=1,
       b=2}

     output from parser-cmd (stdout):
       {
         "t": {
           "a": {"type": "integer", "value": "1"},
           "b": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       t = {a=1
       ,b=2}

     output from parser-cmd (stdout):
       {
         "t": {
           "a": {"type": "integer", "value": "1"},
           "b": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/linebreak-4
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       json_like = {
                 first = "Tom",
                 last = "Preston-Werner"
       }

     output from parser-cmd (stdout):
       {
         "json_like": {
           "first": {"type": "string", "value": "Tom"},
           "last":  {"type": "string", "value": "Preston-Werner"}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-02
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       a={}
       # Inline tables are immutable and can't be extended
       [a.b]

     output from parser-cmd (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:
       inline-t = { nest = {} }

       [inline-t.nest]

     output from parser-cmd (stdout):
       {
         "inline-t": {
           "nest": {}
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/overwrite-08
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       tab = { inner = { dog = "best" }, inner.cat = "worst" }

     output from parser-cmd (stdout):
       {
         "tab": {
           "inner": {
             "cat": {"type": "string", "value": "worst"},
             "dog": {"type": "string", "value": "best"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/inline-table/trailing-comma
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # 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 (stdout):
       {
         "abc": {
           "abc": {"type": "integer", "value": "123"}
         }
       }

     want:
       Exit code 1

FAIL invalid/integer/double-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       double-us = 1__23

     output from parser-cmd (stdout):
       {
         "double-us": {"type": "integer", "value": "123"}
       }

     want:
       Exit code 1

FAIL invalid/integer/incomplete-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       incomplete-bin = 0b

     output from parser-cmd (stdout):
       {
         "incomplete-bin": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/incomplete-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       incomplete-hex = 0x

     output from parser-cmd (stdout):
       {
         "incomplete-hex": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/incomplete-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       incomplete-oct = 0o

     output from parser-cmd (stdout):
       {
         "incomplete-oct": {"type": "integer", "value": "0"}
       }

     want:
       Exit code 1

FAIL invalid/integer/invalid-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       invalid-bin = 0b0012

     output from parser-cmd (stdout):
       {
         "invalid-bin": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/invalid-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       invalid-hex = 0xaafz

     output from parser-cmd (stdout):
       {
         "invalid-hex": {"type": "integer", "value": "2735"}
       }

     want:
       Exit code 1

FAIL invalid/integer/invalid-hex-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       invalid-hex-1 = 0xaafz

     output from parser-cmd (stdout):
       {
         "invalid-hex-1": {"type": "integer", "value": "2735"}
       }

     want:
       Exit code 1

FAIL invalid/integer/invalid-hex-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       invalid-hex-2 = 0xgabba00f1

     output from parser-cmd (stdout):
       {
         "invalid-hex-2": {"type": "integer", "value": "2881093873"}
       }

     want:
       Exit code 1

FAIL invalid/integer/invalid-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       invalid-oct = 0o778

     output from parser-cmd (stdout):
       {
         "invalid-oct": {"type": "integer", "value": "63"}
       }

     want:
       Exit code 1

FAIL invalid/integer/negative-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       negative-bin = -0b11010110

     output from parser-cmd (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:
       negative-hex = -0xff

     output from parser-cmd (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:
       negative-oct = -0o755

     output from parser-cmd (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:
       positive-bin = +0b11010110

     output from parser-cmd (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:
       positive-hex = +0xff

     output from parser-cmd (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:
       positive-oct = +0o755

     output from parser-cmd (stdout):
       {
         "positive-oct": {"type": "integer", "value": "493"}
       }

     want:
       Exit code 1

FAIL invalid/integer/trailing-us
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us = 123_

     output from parser-cmd (stdout):
       {
         "trailing-us": {"type": "integer", "value": "123"}
       }

     want:
       Exit code 1

FAIL invalid/integer/trailing-us-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us-bin = 0b1_

     output from parser-cmd (stdout):
       {
         "trailing-us-bin": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/trailing-us-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us-hex = 0x1_

     output from parser-cmd (stdout):
       {
         "trailing-us-hex": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/trailing-us-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       trailing-us-oct = 0o1_

     output from parser-cmd (stdout):
       {
         "trailing-us-oct": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/us-after-bin
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       us-after-bin = 0b_1

     output from parser-cmd (stdout):
       {
         "us-after-bin": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/us-after-hex
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       us-after-hex = 0x_1

     output from parser-cmd (stdout):
       {
         "us-after-hex": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/integer/us-after-oct
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       us-after-oct = 0o_1

     output from parser-cmd (stdout):
       {
         "us-after-oct": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/after-array
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [[agencies]] owner = "S Cjelli"

     output from parser-cmd (stdout):
       {
         "agencies": [{
           "owner": {"type": "string", "value": "S Cjelli"}
         }]
       }

     want:
       Exit code 1

FAIL invalid/key/after-table
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [error] this = "should not be here"

     output from parser-cmd (stdout):
       {
         "error": {
           "this": {"type": "string", "value": "should not be here"}
         }
       }

     want:
       Exit code 1

FAIL invalid/key/after-value
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       first = "Tom" last = "Preston-Werner" # INVALID

     output from parser-cmd (stdout):
       {
         "first": {"type": "string", "value": "Tom"},
         "last":  {"type": "string", "value": "Preston-Werner"}
       }

     want:
       Exit code 1

FAIL invalid/key/newline-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       barekey
          = 1

     output from parser-cmd (stdout):
       {
         "barekey": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/newline-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "quoted
       key" = 1

     output from parser-cmd (stdout):
       {
         "quoted\nkey": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/newline-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       'quoted
       key' = 1

     output from parser-cmd (stdout):
       {
         "quoted\nkey": {"type": "integer", "value": "1"}
       }

     want:
       Exit code 1

FAIL invalid/key/no-eol
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       a = 1 b = 2

     output from parser-cmd (stdout):
       {
         "a": {"type": "integer", "value": "1"},
         "b": {"type": "integer", "value": "2"}
       }

     want:
       Exit code 1

FAIL invalid/key/special-character
     signal: aborted

     input sent to parser-cmd:
       μ = "greek small letter mu"

     output from parser-cmd (stderr):
       thread 'main' panicked at /home/martin/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boml-1.0.1/src/text.rs:215:21:
       byte index 1 is not a char boundary; it is inside 'μ' (bytes 0..2) of `μ = "greek small letter mu"
       `
       note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

     want:
       Exit code 1

FAIL invalid/local-date/feb-29
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "not a leap year" = 2100-02-29

     output from parser-cmd (stdout):
       {
         "not a leap year": {"type": "date-local", "value": "2100-2-29"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/feb-30
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "only 28 or 29 days in february" = 1988-02-30

     output from parser-cmd (stdout):
       {
         "only 28 or 29 days in february": {"type": "date-local", "value": "1988-2-30"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/mday-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-32

     output from parser-cmd (stdout):
       {
         "d": {"type": "date-local", "value": "2006-1-32"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/mday-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-00

     output from parser-cmd (stdout):
       {
         "d": {"type": "date-local", "value": "2006-1-0"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/month-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2006-13-01

     output from parser-cmd (stdout):
       {
         "d": {"type": "date-local", "value": "2006-13-1"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/month-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2007-00-01

     output from parser-cmd (stdout):
       {
         "d": {"type": "date-local", "value": "2007-0-1"}
       }

     want:
       Exit code 1

FAIL invalid/local-date/trailing-t
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # Date cannot end with trailing T
       d = 2006-01-30T

     output from parser-cmd (stdout):
       {
         "d": {"type": "date-local", "value": "2006-1-30"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/feb-29
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "not a leap year" = 2100-02-29T15:15:15

     output from parser-cmd (stdout):
       {
         "not a leap year": {"type": "datetime-local", "value": "2100-2-29t15:15:15.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/feb-30
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       "only 28 or 29 days in february" = 1988-02-30T15:15:15

     output from parser-cmd (stdout):
       {
         "only 28 or 29 days in february": {"type": "datetime-local", "value": "1988-2-30t15:15:15.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/hour-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-hour       = 2DIGIT  ; 00-23
       d = 2006-01-01T24:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-1-1t24: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/mday-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-32T00:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-1-32t 0: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/mday-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on
       #                           ; month/year
       d = 2006-01-00T00:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-1-0t 0: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/minute-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-minute     = 2DIGIT  ; 00-59
       d = 2006-01-01T00:60:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-1-1t 0:60: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/month-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2006-13-01T00:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-13-1t 0: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/month-under
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # date-month      = 2DIGIT  ; 01-12
       d = 2007-00-01T00:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2007-0-1t 0: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-datetime/second-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-second     = 2DIGIT  ; 00-58, 00-59, 00-60 based on leap second
       #                           ; rules
       d = 2006-01-01T00:00:61

     output from parser-cmd (stdout):
       {
         "d": {"type": "datetime-local", "value": "2006-1-1t 0: 0:61.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/hour-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-hour       = 2DIGIT  ; 00-23
       d = 24:00:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "time-local", "value": "24: 0: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/minute-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-minute     = 2DIGIT  ; 00-59
       d = 00:60:00

     output from parser-cmd (stdout):
       {
         "d": {"type": "time-local", "value": " 0:60: 0.0"}
       }

     want:
       Exit code 1

FAIL invalid/local-time/second-over
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # time-second     = 2DIGIT  ; 00-58, 00-59, 00-60 based on leap second
       #                           ; rules
       d = 00:00:61

     output from parser-cmd (stdout):
       {
         "d": {"type": "time-local", "value": " 0: 0:61.0"}
       }

     want:
       Exit code 1

FAIL invalid/spec/inline-table-2-0
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [product]
       type = { name = "Nail" }
       type.edible = false  # INVALID

     output from parser-cmd (stdout):
       {
         "product": {
           "type": {
             "edible": {"type": "bool", "value": "false"},
             "name":   {"type": "string", "value": "Nail"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/spec/table-9-0
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [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 (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/table-9-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [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 (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-multiline
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       multi = "first line
       second line"

     output from parser-cmd (stdout):
       {
         "multi": {"type": "string", "value": "first line\nsecond line"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-bad-escape-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # \ is not a valid escape.
       k = """t\ t"""

     output from parser-cmd (stdout):
       {
         "k": {"type": "string", "value": "tt"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-bad-escape-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # \ is not a valid escape.
       k = """t\ """

     output from parser-cmd (stdout):
       {
         "k": {"type": "string", "value": "t"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-escape-space-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       a = """
         foo \ \n
         bar"""

     output from parser-cmd (stdout):
       {
         "a": {"type": "string", "value": "  foo \n\n  bar"}
       }

     want:
       Exit code 1

FAIL invalid/string/multiline-escape-space-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       bee = """
       hee \

       gee \   """

     output from parser-cmd (stdout):
       {
         "bee": {"type": "string", "value": "hee gee "}
       }

     want:
       Exit code 1

FAIL invalid/table/append-to-array-with-dotted-keys
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [[a.b]]

       [a]
       b.y = 2

     output from parser-cmd (stdout):
       {
         "a": {"b": [{
           "y": {"type": "integer", "value": "2"}
         }]}
       }

     want:
       Exit code 1

FAIL invalid/table/append-with-dotted-keys-1
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # 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 (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-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       # 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 (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/duplicate
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [a]
       b = 1

       [a]
       c = 2

     output from parser-cmd (stdout):
       {
         "a": {
           "b": {"type": "integer", "value": "1"},
           "c": {"type": "integer", "value": "2"}
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-dotted-table
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [fruit]
       apple.color = "red"

       [fruit.apple] # INVALID

     output from parser-cmd (stdout):
       {
         "fruit": {
           "apple": {
             "color": {"type": "string", "value": "red"}
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/duplicate-key-dotted-table2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [fruit]
       apple.taste.sweet = true

       [fruit.apple.taste] # INVALID

     output from parser-cmd (stdout):
       {
         "fruit": {
           "apple": {
             "taste": {
               "sweet": {"type": "bool", "value": "true"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/no-close-2
     signal: aborted

     input sent to parser-cmd:
       [closing-bracket.missingö
       blaa=2

     output from parser-cmd (stderr):
       thread 'main' panicked at /home/martin/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/boml-1.0.1/src/text.rs:215:21:
       byte index 25 is not a char boundary; it is inside 'ö' (bytes 24..26) of `[closing-bracket.missingö
       blaa=2
       `
       note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

     want:
       Exit code 1

FAIL invalid/table/redefine-2
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [t1]
       t2.t3.v = 0
       [t1.t2]

     output from parser-cmd (stdout):
       {
         "t1": {
           "t2": {
             "t3": {
               "v": {"type": "integer", "value": "0"}
             }
           }
         }
       }

     want:
       Exit code 1

FAIL invalid/table/redefine-3
     Expected an error, but no error was reported.

     input sent to parser-cmd:
       [t1]
       t2.t3.v = 0
       [t1.t2.t3]

     output from parser-cmd (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:
       [a.b]
       [a]
       [a]

     output from parser-cmd (stdout):
       {
         "a": {
           "b": {}
         }
       }

     want:
       Exit code 1

toml-test v2025-04-19 [./scripts/target/release/boml-decoder]: using embedded tests
  valid tests: 194 passed,  0 failed
invalid tests: 243 passed, 134 failed

==> ENCODER TESTS
(not supported)
took 0.1 0.04