v
Зеркало из https://github.com/vlang/v
1import x.json2.strict
2
3struct StructType[T] {
4mut:
5val T
6}
7
8struct StructTypeAndOptionType[T] {
9mut:
10val T
11option_val ?T
12}
13
14fn test_get_keys_from_json() {
15json_data := r'
16{
17"val": 0,
18"val1": {"val": 63}
19}
20'
21
22key_structs := strict.get_keys_from_json(strict.tokenize(json_data))
23
24assert key_structs == [
25strict.KeyStruct{
26key: 'val'
27value_type: .literal
28token_pos: 1
29},
30strict.KeyStruct{
31key: 'val1'
32value_type: .map
33token_pos: 5
34},
35]
36}
37
38fn test_strict_check() {
39assert strict.strict_check[StructTypeAndOptionType[string]]('{"val": "","val": ""}') == strict.StructCheckResult{
40duplicates: ['val']
41superfluous: []
42}
43
44assert strict.strict_check[StructTypeAndOptionType[string]]('{"val": "","val2": ""}') == strict.StructCheckResult{
45duplicates: []
46superfluous: ['val2']
47}
48}
49