mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
toml: support for [a."b.c"] quoted keys (#12444)
This commit is contained in:
@@ -13,7 +13,6 @@ const (
|
||||
invalid_exceptions = [
|
||||
// Table
|
||||
'table/duplicate-table-array2.toml',
|
||||
'table/duplicate.toml',
|
||||
'table/array-implicit.toml',
|
||||
'table/injection-2.toml',
|
||||
'table/injection-1.toml',
|
||||
@@ -40,7 +39,7 @@ fn test_burnt_sushi_tomltest() {
|
||||
relative = relative.replace('/', '\\')
|
||||
}
|
||||
if relative !in valid_exceptions {
|
||||
println('OK [$i/$valid_test_files.len] "$valid_test_file"...')
|
||||
println('OK [${i + 1}/$valid_test_files.len] "$valid_test_file"...')
|
||||
toml_doc := toml.parse_file(valid_test_file) or { panic(err) }
|
||||
|
||||
// parsed_json := toml_doc.to_json().replace(' ','')
|
||||
@@ -51,7 +50,7 @@ fn test_burnt_sushi_tomltest() {
|
||||
valid++
|
||||
} else {
|
||||
e++
|
||||
println('SKIP [$i/$valid_test_files.len] "$valid_test_file" EXCEPTION [$e/$valid_exceptions.len]...')
|
||||
println('SKIP [${i + 1}/$valid_test_files.len] "$valid_test_file" EXCEPTION [$e/$valid_exceptions.len]...')
|
||||
}
|
||||
}
|
||||
println('$valid/$valid_test_files.len TOML files was parsed correctly')
|
||||
@@ -74,7 +73,7 @@ fn test_burnt_sushi_tomltest() {
|
||||
relative = relative.replace('/', '\\')
|
||||
}
|
||||
if relative !in invalid_exceptions {
|
||||
println('OK [$i/$invalid_test_files.len] "$invalid_test_file"...')
|
||||
println('OK [${i + 1}/$invalid_test_files.len] "$invalid_test_file"...')
|
||||
if toml_doc := toml.parse_file(invalid_test_file) {
|
||||
content_that_should_have_failed := os.read_file(invalid_test_file) or {
|
||||
panic(err)
|
||||
@@ -88,7 +87,7 @@ fn test_burnt_sushi_tomltest() {
|
||||
invalid++
|
||||
} else {
|
||||
e++
|
||||
println('SKIP [$i/$invalid_test_files.len] "$invalid_test_file" EXCEPTION [$e/$invalid_exceptions.len]...')
|
||||
println('SKIP [${i + 1}/$invalid_test_files.len] "$invalid_test_file" EXCEPTION [$e/$invalid_exceptions.len]...')
|
||||
}
|
||||
}
|
||||
println('$invalid/$invalid_test_files.len TOML files was parsed correctly')
|
||||
|
||||
12
vlib/toml/tests/quoted_keys_test.v
Normal file
12
vlib/toml/tests/quoted_keys_test.v
Normal file
@@ -0,0 +1,12 @@
|
||||
import toml
|
||||
|
||||
fn test_quoted_keys() {
|
||||
str_value := 'V rocks!'
|
||||
toml_txt := 'a."b.c" = "V rocks!"'
|
||||
toml_doc := toml.parse(toml_txt) or { panic(err) }
|
||||
|
||||
value := toml_doc.value('a."b.c"')
|
||||
assert value == toml.Any(str_value)
|
||||
assert value as string == str_value
|
||||
assert value.string() == str_value
|
||||
}
|
||||
Reference in New Issue
Block a user