...
1
2
3 package mxj
4
5 import (
6 "bytes"
7 "fmt"
8 "testing"
9 )
10
11 func TestBulkHeader(t *testing.T) {
12 fmt.Println("\n---------------- bulk_test.go ...")
13 }
14
15 var jsonWriter = new(bytes.Buffer)
16 var xmlWriter = new(bytes.Buffer)
17
18 var jsonErrLog = new(bytes.Buffer)
19 var xmlErrLog = new(bytes.Buffer)
20
21 func TestXmlReader(t *testing.T) {
22
23 xmlReader := bytes.NewReader(xmldata)
24
25
26 err := HandleXmlReader(xmlReader, bxmaphandler, bxerrhandler)
27 if err != nil {
28 t.Fatal("err:", err.Error())
29 }
30
31
32 j := make([]byte, jsonWriter.Len())
33 _, _ = jsonWriter.Read(j)
34
35
36 e := make([]byte, xmlErrLog.Len())
37 _, _ = xmlErrLog.Read(e)
38
39
40 fmt.Println("XmlReader, xmldata:\n", string(xmldata))
41
42 fmt.Println("XmlReader, result :\n", string(j))
43
44 fmt.Println("XmlReader, errors :\n", string(e))
45 }
46
47 func bxmaphandler(m Map) bool {
48 j, err := m.JsonIndent("", " ", true)
49 if err != nil {
50 return false
51 }
52
53 _, _ = jsonWriter.Write(j)
54
55 _, _ = jsonWriter.Write([]byte("\n"))
56 return true
57 }
58
59 func bxerrhandler(err error) bool {
60
61 _, _ = xmlErrLog.Write([]byte(err.Error()))
62 _, _ = xmlErrLog.Write([]byte("\n"))
63 return true
64 }
65
66 func TestJsonReader(t *testing.T) {
67 jsonReader := bytes.NewReader(jsondata)
68
69
70 err := HandleJsonReader(jsonReader, bjmaphandler, bjerrhandler)
71 if err != nil {
72 t.Fatal("err:", err.Error())
73 }
74
75
76 x := make([]byte, xmlWriter.Len())
77 _, _ = xmlWriter.Read(x)
78
79
80 e := make([]byte, jsonErrLog.Len())
81 _, _ = jsonErrLog.Read(e)
82
83
84 fmt.Println("JsonReader, jsondata:\n", string(jsondata))
85
86 fmt.Println("JsonReader, result :\n", string(x))
87
88 fmt.Println("JsonReader, errors :\n", string(e))
89 }
90
91 func bjmaphandler(m Map) bool {
92 x, err := m.XmlIndent(" ", " ")
93 if err != nil {
94 return false
95 }
96 _, _ = xmlWriter.Write(x)
97
98 _, _ = xmlWriter.Write([]byte("\n"))
99 return true
100 }
101
102 func bjerrhandler(err error) bool {
103
104 _, _ = jsonErrLog.Write([]byte(err.Error()))
105 _, _ = jsonErrLog.Write([]byte("\n"))
106 return true
107 }
108
View as plain text