mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
toml: fix parsing of alphanumeric keys (#12517)
This commit is contained in:
@@ -35,8 +35,6 @@ const (
|
||||
// Inline-table
|
||||
'inline-table/multiline.toml',
|
||||
// Key
|
||||
'key/numeric-dotted.toml',
|
||||
'key/alphanum.toml',
|
||||
'key/escapes.toml',
|
||||
]
|
||||
|
||||
|
||||
27
vlib/toml/tests/key_test.v
Normal file
27
vlib/toml/tests/key_test.v
Normal file
@@ -0,0 +1,27 @@
|
||||
import os
|
||||
import toml
|
||||
import toml.to
|
||||
|
||||
fn test_keys() {
|
||||
toml_file :=
|
||||
os.real_path(os.join_path(os.dir(@FILE), 'testdata', os.file_name(@FILE).all_before_last('.'))) +
|
||||
'.toml'
|
||||
toml_doc := toml.parse(toml_file) or { panic(err) }
|
||||
|
||||
mut value := toml_doc.value('34-11')
|
||||
assert value.int() == 23
|
||||
|
||||
value = toml_doc.value('1.2')
|
||||
assert value.int() == 3
|
||||
|
||||
value = toml_doc.value('34-12.2')
|
||||
assert value.int() == 42
|
||||
|
||||
toml_json := to.json(toml_doc)
|
||||
out_file :=
|
||||
os.real_path(os.join_path(os.dir(@FILE), 'testdata', os.file_name(@FILE).all_before_last('.'))) +
|
||||
'.out'
|
||||
out_file_json := os.read_file(out_file) or { panic(err) }
|
||||
println(toml_json)
|
||||
assert toml_json == out_file_json
|
||||
}
|
||||
1
vlib/toml/tests/testdata/key_test.out
vendored
Normal file
1
vlib/toml/tests/testdata/key_test.out
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{ "34-11": 23, "1": { "2": 3 }, "34-12": { "2": 42 }, "34-20": { }, "5": { "6": { } }, "34-13": { "2": { } } }
|
||||
9
vlib/toml/tests/testdata/key_test.toml
vendored
Normal file
9
vlib/toml/tests/testdata/key_test.toml
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
34-11 = 23 # came out as "34-11 " = 23
|
||||
1.2 = 3 # came out as "1.2" = 3
|
||||
34-12.2 = 42 # came out as "34-12.2" = 42
|
||||
|
||||
[34-20]
|
||||
|
||||
[5.6]
|
||||
|
||||
[34-13.2]
|
||||
Reference in New Issue
Block a user