diff --git a/internal/toml-test/tests/invalid/datetime/offset-overflow-hour.toml b/internal/toml-test/tests/invalid/datetime/offset-overflow-hour.toml new file mode 100644 index 00000000..2c85d56c --- /dev/null +++ b/internal/toml-test/tests/invalid/datetime/offset-overflow-hour.toml @@ -0,0 +1,2 @@ +# Hour must be 00-24 +d = 1985-06-18 17:04:07+25:00 diff --git a/internal/toml-test/tests/invalid/datetime/offset-overflow-minute.toml b/internal/toml-test/tests/invalid/datetime/offset-overflow-minute.toml new file mode 100644 index 00000000..fdcadc52 --- /dev/null +++ b/internal/toml-test/tests/invalid/datetime/offset-overflow-minute.toml @@ -0,0 +1,3 @@ +# 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 diff --git a/internal/toml-test/tests/valid/datetime/datetime.toml b/internal/toml-test/tests/valid/datetime/datetime.toml index 653d521f..831d2615 100644 --- a/internal/toml-test/tests/valid/datetime/datetime.toml +++ b/internal/toml-test/tests/valid/datetime/datetime.toml @@ -1,2 +1,4 @@ space = 1987-07-05 17:45:00Z + +# ABNF is case-insensitive, both "Z" and "z" must be supported. lower = 1987-07-05t17:45:00z diff --git a/internal/toml-test/tests/valid/string/start-mb.json b/internal/toml-test/tests/valid/string/start-mb.json new file mode 100644 index 00000000..523dacca --- /dev/null +++ b/internal/toml-test/tests/valid/string/start-mb.json @@ -0,0 +1,9 @@ +{ + "s1": {"type": "string", "value": "§"}, + "s2": {"type": "string", "value": "§"}, + "s3": {"type": "string", "value": "§"}, + "s4": {"type": "string", "value": "§"}, + "s5": {"type": "string", "value": "§"}, + "s6": {"type": "string", "value": "§"}, + "s7": {"type": "string", "value": "§"} +} diff --git a/internal/toml-test/tests/valid/string/start-mb.toml b/internal/toml-test/tests/valid/string/start-mb.toml new file mode 100644 index 00000000..2576f1bd --- /dev/null +++ b/internal/toml-test/tests/valid/string/start-mb.toml @@ -0,0 +1,13 @@ +# Start first line with a multibyte character. +# +# https://github.com/marzer/tomlplusplus/issues/190 +s1 = "§" +s2 = '§' +s3 = """\ +§""" +s4 = """ +§""" +s5 = """§""" +s6 = ''' +§''' +s7 = '''§''' diff --git a/toml_test.go b/toml_test.go index 7e0cff2e..7713b857 100644 --- a/toml_test.go +++ b/toml_test.go @@ -313,6 +313,10 @@ func runTomlTest(t *testing.T, includeNext bool, wantFail ...string) { Parser: parser{}, RunTests: runTests, SkipTests: []string{ + // Will be fixed in Go 1.23: https://github.com/BurntSushi/toml/issues/407 + "invalid/datetime/offset-overflow-hour", + "invalid/datetime/offset-overflow-minute", + // These tests are fine, just doesn't deal well with empty output. "valid/comment/noeol", "valid/comment/nonascii",