...
1 package mxj
2
3 import (
4 "fmt"
5 "testing"
6 )
7
8 var castdata = []byte(`<doc>
9 <string>string</string>
10 <float>3.14159625</float>
11 <int>2019</int>
12 <bool>
13 <true>true</true>
14 <false>FALSE</false>
15 <T>T</T>
16 <f>f</f>
17 </bool></doc>`)
18
19 func TestHeader(t *testing.T) {
20 fmt.Println("\ncast_test.go ----------")
21 }
22
23 func TestCastDefault(t *testing.T) {
24 fmt.Println("------------ TestCastDefault ...")
25 m, err := NewMapXml(castdata)
26 if err != nil {
27 t.Fatal(err.Error())
28 }
29 fmt.Printf("%#v\n", m)
30 }
31
32 func TestCastTrue(t *testing.T) {
33 fmt.Println("------------ TestCastTrue ...")
34 m, _ := NewMapXml(castdata, true)
35 fmt.Printf("%#v\n", m)
36 }
37
38 func TestSetCheckTagToSkipFunc(t *testing.T) {
39 fmt.Println("------------ TestSetCheckTagToSkipFunc ...")
40 fn := func(tag string) bool {
41 list := []string{"int","false"}
42 for _, v := range list {
43 if v == tag {
44 return true
45 }
46 }
47 return false
48 }
49 SetCheckTagToSkipFunc(fn)
50
51 m, err := NewMapXml(castdata, true)
52 if err != nil {
53 t.Fatal(err.Error())
54 }
55 fmt.Printf("%#v\n", m)
56 }
57
58 func TestCastValuesToFloat(t *testing.T) {
59 fmt.Println("------------ TestCastValuesToFloat(false) ...")
60 CastValuesToFloat(false)
61 defer CastValuesToFloat(true)
62
63 m, err := NewMapXml(castdata, true)
64 if err != nil {
65 t.Fatal(err.Error())
66 }
67 fmt.Printf("%#v\n", m)
68 }
69
70 func TestCastValuesToBool(t *testing.T) {
71 fmt.Println("------------ TestCastValuesToBool(false) ...")
72 CastValuesToBool(false)
73 defer CastValuesToBool(true)
74
75 m, err := NewMapXml(castdata, true)
76 if err != nil {
77 t.Fatal(err.Error())
78 }
79 fmt.Printf("%#v\n", m)
80 }
81
View as plain text