v2 / vlib / x / json2 / strict / strict_test_todo.vv
29 lines · 24 sloc · 779 bytes · cb28144eeab8cae35f5b69bc4ef69ef1a499a788
Raw
1import x.json2.strict
2
3struct StructType[T] {
4mut:
5 val T
6}
7
8struct StructTypeAndOptionType[T] {
9mut:
10 val T
11 option_val ?T
12}
13
14fn test_strict_check() {
15 assert strict.strict_check[StructTypeAndOptionType[string]]('{"val": "","val2": "","val3": "","val3": ""}') == strict.StructCheckResult{
16 duplicates: ['val3']
17 superfluous: ['val2', 'val3']
18 }
19
20 assert strict.strict_check[StructType[StructTypeAndOptionType[string]]]('{"val": {"val": "","val2": ""}}') == strict.StructCheckResult{
21 duplicates: []
22 superfluous: ['val.val2']
23 }
24
25 assert strict.strict_check[StructType[[]StructTypeAndOptionType[string]]]('{"val": [{"val": "","val2": ""}],[{"val": "","gdgd": "sss"}]}') == strict.StructCheckResult{
26 duplicates: []
27 superfluous: ['val[0].val2', 'val[1].gdgd']
28 }
29}
30