...
1 package mxj
2
3 import (
4 "fmt"
5 "testing"
6 )
7
8 func TestXmlCheckIsValid(t *testing.T) {
9 fmt.Println("================== TestXmlCheckIsValid")
10 XmlCheckIsValid()
11 defer XmlCheckIsValid()
12
13 data := []byte(`{"":"empty", "$invalid":"hex$", "entities":"<>&", "nil": null}`)
14 m, err := NewMapJson(data)
15 if err != nil {
16 t.Fatal("NewMapJson err;", err)
17 }
18 fmt.Printf("%v\n", m)
19 if _, err = m.Xml(); err == nil {
20 t.Fatal("Xml err: nil")
21 }
22 if _, err = m.XmlIndent("", " "); err == nil {
23 t.Fatal("XmlIndent err: nil")
24 }
25
26 data = []byte(`{"$invalid":"hex$", "entities":"<>&", "nil": null}`)
27 m, err = NewMapJson(data)
28 if err != nil {
29 t.Fatal("NewMapJson err;", err)
30 }
31 fmt.Printf("%v\n", m)
32 if _, err = m.Xml(); err == nil {
33 t.Fatal("Xml err: nil")
34 }
35 if _, err = m.XmlIndent("", " "); err == nil {
36 t.Fatal("XmlIndent err: nil")
37 }
38
39 data = []byte(`{"entities":"<>&", "nil": null}`)
40 m, err = NewMapJson(data)
41 if err != nil {
42 t.Fatal("NewMapJson err;", err)
43 }
44 fmt.Printf("%v\n", m)
45 if _, err = m.Xml(); err == nil {
46 t.Fatal("Xml err: nil")
47 }
48 if _, err = m.XmlIndent("", " "); err == nil {
49 t.Fatal("XmlIndent err: nil")
50 }
51
52 data = []byte(`{"nil": null}`)
53 m, err = NewMapJson(data)
54 if err != nil {
55 t.Fatal("NewMapJson err;", err)
56 }
57 fmt.Printf("%v\n", m)
58 if b, err := m.Xml(); err != nil {
59 fmt.Println("m:", string(b))
60 t.Fatal("Xml err:", err)
61 }
62 if _, err = m.XmlIndent("", " "); err != nil {
63 t.Fatal("XmlIndent err:", nil)
64 }
65
66 ms, err := NewMapXmlSeq([]byte(`<doc><elem>element</elem></doc>`))
67 fmt.Printf("%v\n", ms)
68 if _, err = ms.Xml(); err != nil {
69 t.Fatal("Xml err:", err)
70 }
71
72 if _, err = ms.XmlIndent("", " "); err != nil {
73 t.Fatal("XmlIndent err:", err)
74 }
75 }
76
View as plain text