1 package mxj
2
3 import (
4 "fmt"
5 "testing"
6 )
7
8 func TestFilesHeader(t *testing.T) {
9 fmt.Println("\n---------------- files_test.go ...")
10 }
11
12 func TestNewJsonFile(t *testing.T) {
13 fmt.Println("NewMapsFromJsonFile()")
14 am, err := NewMapsFromJsonFile("files_test.json")
15 if err != nil {
16 t.Fatal(err.Error())
17 }
18 for _, v := range am {
19 fmt.Printf("%v\n", v)
20 }
21
22 am, err = NewMapsFromJsonFile("nil")
23 if err == nil {
24 t.Fatal("no error returned for read of nil file")
25 }
26 fmt.Println("caught error: ", err.Error())
27
28 am, err = NewMapsFromJsonFile("files_test.badjson")
29 if err == nil {
30 t.Fatal("no error returned for read of badjson file")
31 }
32 fmt.Println("caught error: ", err.Error())
33 }
34
35 func TestNewJsonFileRaw(t *testing.T) {
36 fmt.Println("NewMapsFromJsonFileRaw()")
37 mr, err := NewMapsFromJsonFileRaw("files_test.json")
38 if err != nil {
39 t.Fatal(err.Error())
40 }
41 for _, v := range mr {
42 fmt.Printf("%v\n", v)
43 }
44
45 mr, err = NewMapsFromJsonFileRaw("nil")
46 if err == nil {
47 t.Fatal("no error returned for read of nil file")
48 }
49 fmt.Println("caught error: ", err.Error())
50
51 mr, err = NewMapsFromJsonFileRaw("files_test.badjson")
52 if err == nil {
53 t.Fatal("no error returned for read of badjson file")
54 }
55 fmt.Println("caught error: ", err.Error())
56 }
57
58 func TestNewXmFile(t *testing.T) {
59 fmt.Println("NewMapsFromXmlFile()")
60 am, err := NewMapsFromXmlFile("files_test.xml")
61 if err != nil {
62 t.Fatal(err.Error())
63 }
64 for _, v := range am {
65 fmt.Printf("%v\n", v)
66 }
67
68 am, err = NewMapsFromXmlFile("nil")
69 if err == nil {
70 t.Fatal("no error returned for read of nil file")
71 }
72 fmt.Println("caught error: ", err.Error())
73
74 am, err = NewMapsFromXmlFile("files_test.badxml")
75 if err == nil {
76 t.Fatal("no error returned for read of badjson file")
77 }
78 fmt.Println("caught error: ", err.Error())
79 }
80
81 func TestNewXmFileRaw(t *testing.T) {
82 fmt.Println("NewMapsFromXmlFileRaw()")
83 mr, err := NewMapsFromXmlFileRaw("files_test.xml")
84 if err != nil {
85 t.Fatal(err.Error())
86 }
87 for _, v := range mr {
88 fmt.Printf("%v\n", v)
89 }
90
91 mr, err = NewMapsFromXmlFileRaw("nil")
92 if err == nil {
93 t.Fatal("no error returned for read of nil file")
94 }
95 fmt.Println("caught error: ", err.Error())
96
97 mr, err = NewMapsFromXmlFileRaw("files_test.badxml")
98 if err == nil {
99 t.Fatal("no error returned for read of badjson file")
100 }
101 fmt.Println("caught error: ", err.Error())
102 }
103
104 func TestMaps(t *testing.T) {
105 fmt.Println("TestMaps()")
106 mvs := NewMaps()
107 for i := 0; i < 2; i++ {
108 m, _ := NewMapJson([]byte(`{ "this":"is", "a":"test" }`))
109 mvs = append(mvs, m)
110 }
111 fmt.Println("mvs:", mvs)
112
113 s, _ := mvs.JsonString()
114 fmt.Println("JsonString():", s)
115
116 s, _ = mvs.JsonStringIndent("", " ")
117 fmt.Println("JsonStringIndent():", s)
118
119 s, _ = mvs.XmlString()
120 fmt.Println("XmlString():", s)
121
122 s, _ = mvs.XmlStringIndent("", " ")
123 fmt.Println("XmlStringIndent():", s)
124 }
125
126 func TestJsonFile(t *testing.T) {
127 am, err := NewMapsFromJsonFile("files_test.json")
128 if err != nil {
129 t.Fatal(err.Error())
130 }
131 for _, v := range am {
132 fmt.Printf("%v\n", v)
133 }
134
135 err = am.JsonFile("files_test_dup.json")
136 if err != nil {
137 t.Fatal(err.Error())
138 }
139 fmt.Println("files_test_dup.json written")
140
141 err = am.JsonFileIndent("files_test_indent.json", "", " ")
142 if err != nil {
143 t.Fatal(err.Error())
144 }
145 fmt.Println("files_test_indent.json written")
146 }
147
148 func TestXmlFile(t *testing.T) {
149 am, err := NewMapsFromXmlFile("files_test.xml")
150 if err != nil {
151 t.Fatal(err.Error())
152 }
153 for _, v := range am {
154 fmt.Printf("%v\n", v)
155 }
156
157 err = am.XmlFile("files_test_dup.xml")
158 if err != nil {
159 t.Fatal(err.Error())
160 }
161 fmt.Println("files_test_dup.xml written")
162
163 err = am.XmlFileIndent("files_test_indent.xml", "", " ")
164 if err != nil {
165 t.Fatal(err.Error())
166 }
167 fmt.Println("files_test_indent.xml written")
168 }
169
View as plain text