@@ -47,7 +47,7 @@ size_of_exml_with_cdata_test() ->
47
47
sort_xmlel_identity_test () ->
48
48
El = # xmlel {
49
49
name = <<" foo" >>,
50
- attrs = [ {<<" attr1" >>, <<" bar" >>}] ,
50
+ attrs = # {<<" attr1" >> => <<" bar" >>},
51
51
children = [# xmlcdata { content = <<" some value" >> }]
52
52
},
53
53
? assertEqual (El , exml :xml_sort (El )).
@@ -58,7 +58,7 @@ sort_xmlel_attributes_test() ->
58
58
? assertEqual (Attrs , exml :xml_sort (ToOrder )).
59
59
60
60
remove_cdata_test () ->
61
- Attrs = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
61
+ Attrs = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
62
62
Child1 = # xmlel {name = <<" el1" >>, attrs = Attrs },
63
63
Child2 = # xmlel {name = <<" el2" >>, attrs = Attrs },
64
64
CData = # xmlcdata {content = <<" some value" >>},
@@ -67,17 +67,17 @@ remove_cdata_test() ->
67
67
? exmlAssertEqual (Expected , exml :remove_cdata (El )).
68
68
69
69
filter_children_test () ->
70
- Attrs = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
71
- Child1 = # xmlel {name = <<" el1" >>, attrs = [ {<<" xmlns" >>, <<" foo" >>}] },
72
- Child2 = # xmlel {name = <<" el2" >>, attrs = [ {<<" xmlns" >>, <<" bar" >>} | Attrs ] },
73
- Child3 = # xmlel {name = <<" el3" >>, attrs = [ {<<" xmlns" >>, <<" baz" >>} | Attrs ] },
70
+ Attrs = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
71
+ Child1 = # xmlel {name = <<" el1" >>, attrs = # {<<" xmlns" >> => <<" foo" >>}},
72
+ Child2 = # xmlel {name = <<" el2" >>, attrs = maps : merge (# {<<" xmlns" >> => <<" bar" >>}, Attrs ) },
73
+ Child3 = # xmlel {name = <<" el3" >>, attrs = maps : merge (# {<<" xmlns" >> => <<" baz" >>}, Attrs ) },
74
74
El = # xmlel {name = <<" foo" >>, children = [Child1 , Child2 , Child3 ]},
75
75
Expected = # xmlel {name = <<" foo" >>, children = [Child1 , Child3 ]},
76
76
Pred = fun (Child ) -> <<" bar" >> =/= exml_query :attr (Child , <<" xmlns" >>) end ,
77
77
? exmlAssertEqual (Expected , exml :filter_children (El , Pred )).
78
78
79
79
append_children_test () ->
80
- Attrs = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
80
+ Attrs = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
81
81
Child1 = # xmlel {name = <<" el1" >>, attrs = Attrs },
82
82
Child2 = # xmlel {name = <<" el2" >>, attrs = Attrs },
83
83
CData = # xmlcdata {content = <<" some value" >>},
@@ -86,21 +86,21 @@ append_children_test() ->
86
86
? exmlAssertEqual (Expected , exml :append_children (El , [Child2 , CData ])).
87
87
88
88
replace_attribute_value_test () ->
89
- Attrs1 = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
90
- Attrs2 = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" baz" >>}] ,
89
+ Attrs1 = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
90
+ Attrs2 = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" baz" >>},
91
91
El = # xmlel {name = <<" foo" >>, attrs = Attrs1 },
92
92
Expected = # xmlel {name = <<" foo" >>, attrs = Attrs2 },
93
93
? exmlAssertEqual (Expected , exml :upsert_attr_value (El , <<" attr2" >>, <<" baz" >>)).
94
94
95
95
remove_attribute_test () ->
96
- Attrs1 = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
97
- Attrs2 = [ {<<" attr2" >>, <<" bar" >>}] ,
96
+ Attrs1 = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
97
+ Attrs2 = # {<<" attr2" >> => <<" bar" >>},
98
98
El = # xmlel {name = <<" foo" >>, attrs = Attrs1 },
99
99
Expected = # xmlel {name = <<" foo" >>, attrs = Attrs2 },
100
100
? exmlAssertEqual (Expected , exml :remove_attr (El , <<" attr1" >>)).
101
101
102
102
replace_child_test () ->
103
- Attrs = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
103
+ Attrs = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
104
104
Child1 = # xmlel {name = <<" el" >>},
105
105
Child2 = # xmlel {name = <<" el" >>, attrs = Attrs },
106
106
Child3 = # xmlel {name = <<" last" >>, attrs = Attrs , children = [Child1 ]},
@@ -109,27 +109,16 @@ replace_child_test() ->
109
109
? exmlAssertEqual (Expected , exml :upsert_child (El , Child2 )).
110
110
111
111
insert_new_child_test () ->
112
- Attrs = [ {<<" attr1" >>, <<" foo" >>}, { <<" attr2" >>, <<" bar" >>}] ,
112
+ Attrs = # {<<" attr1" >> => <<" foo" >>, <<" attr2" >> => <<" bar" >>},
113
113
Child1 = # xmlel {name = <<" el" >>},
114
114
Child2 = # xmlel {name = <<" el" >>, attrs = Attrs },
115
115
Child3 = # xmlel {name = <<" last" >>, attrs = Attrs , children = [Child1 ]},
116
116
El = # xmlel {name = <<" foo" >>, children = [Child1 , Child3 ]},
117
117
Expected = # xmlel {name = <<" foo" >>, children = [Child1 , Child3 ]},
118
118
? exmlAssertEqual (Expected , exml :insert_new_child (El , Child2 )).
119
119
120
- sort_xmlel_test () ->
121
- Attrs = [{<<" attr1" >>, <<" bar" >>}, {<<" attr2" >>, <<" baz" >>}],
122
- El1 = # xmlel {
123
- name = <<" foo" >>,
124
- attrs = Attrs ,
125
- children = [# xmlcdata { content = <<" some value" >> }]
126
- },
127
- El2 = El1 # xmlel { attrs = lists :reverse (Attrs ) },
128
- ? assertNotEqual (El1 , El2 ),
129
- ? assertEqual (exml :xml_sort (El1 ), exml :xml_sort (El2 )).
130
-
131
120
sort_xmlel_nested_test () ->
132
- Attrs = [ {<<" attr1" >>, <<" bar" >>}, { <<" attr2" >>, <<" baz" >>}] ,
121
+ Attrs = # {<<" attr1" >> => <<" bar" >>, <<" attr2" >> => <<" baz" >>},
133
122
CData = [# xmlcdata { content = <<" some value" >> }],
134
123
Nested1 = # xmlel {
135
124
name = <<" n1" >>,
@@ -138,7 +127,7 @@ sort_xmlel_nested_test() ->
138
127
},
139
128
Nested2 = # xmlel {
140
129
name = <<" n2" >>,
141
- attrs = lists : reverse ( Attrs ) ,
130
+ attrs = Attrs ,
142
131
children = CData
143
132
},
144
133
Children = [Nested1 , Nested2 ],
@@ -152,10 +141,9 @@ sort_xmlel_nested_test() ->
152
141
? assertNotEqual (exml :xml_sort (El1 ), exml :xml_sort (El2 )).
153
142
154
143
sort_xmlstreamstart_test () ->
155
- Attrs = [ {<<" attr1" >>, <<" bar" >>}, { <<" attr2" >>, <<" baz" >>}] ,
144
+ Attrs = # {<<" attr1" >> => <<" bar" >>, <<" attr2" >> => <<" baz" >>},
156
145
SS1 = # xmlstreamstart {name = <<" n1" >>, attrs = Attrs },
157
- SS2 = SS1 # xmlstreamstart {attrs = lists :reverse (Attrs )},
158
- ? assertNotEqual (SS1 , SS2 ),
146
+ SS2 = SS1 # xmlstreamstart {attrs = Attrs },
159
147
? assertEqual (exml :xml_sort (SS1 ), exml :xml_sort (SS2 )).
160
148
161
149
sort_xmlstreamend_test () ->
@@ -167,7 +155,7 @@ sort_xmlstreamend_test() ->
167
155
sort_xmlel_list_test () ->
168
156
El1 = # xmlel {
169
157
name = <<" foo" >>,
170
- attrs = [ {<<" attr1" >>, <<" bar" >>}] ,
158
+ attrs = # {<<" attr1" >> => <<" bar" >>},
171
159
children = [# xmlcdata { content = <<" some value" >> }]
172
160
},
173
161
El2 = El1 # xmlel { name = <<" baz" >> },
@@ -177,22 +165,22 @@ sort_xmlel_list_test() ->
177
165
? assertEqual (exml :xml_sort (L1 ), exml :xml_sort (L2 )).
178
166
179
167
assert_xmlel_equal_macro_positive_test () ->
180
- Attrs = [ {<<" attr1" >>, <<" bar" >>}, { <<" attr2" >>, <<" baz" >>}] ,
168
+ Attrs = # {<<" attr1" >> => <<" bar" >>, <<" attr2" >> => <<" baz" >>},
181
169
El1 = # xmlel {
182
170
name = <<" foo" >>,
183
171
attrs = Attrs ,
184
- children = [# xmlcdata { content = <<" some value" >> }]
172
+ children = [# xmlcdata {content = <<" some value" >>}]
185
173
},
186
- El2 = El1 # xmlel { attrs = lists : reverse ( Attrs ) },
174
+ El2 = El1 # xmlel {attrs = Attrs },
187
175
? exmlAssertEqual (El1 , El2 ).
188
176
189
177
assert_xmlel_equal_macro_negative_test () ->
190
178
El1 = # xmlel {
191
179
name = <<" foo" >>,
192
- attrs = [ {<<" attr1" >>, <<" bar" >>}, { <<" attr2" >>, <<" baz" >>}] ,
193
- children = [# xmlcdata { content = <<" some value" >> }]
180
+ attrs = # {<<" attr1" >> => <<" bar" >>, <<" attr2" >> => <<" baz" >>},
181
+ children = [# xmlcdata {content = <<" some value" >>}]
194
182
},
195
- El2 = El1 # xmlel { attrs = [] },
183
+ El2 = El1 # xmlel {attrs = #{} },
196
184
? assertError ({exmlAssertEqual , [_ , _ , _ , {expected , El1 }, {value , El2 }]},
197
185
? exmlAssertEqual (El1 , El2 )).
198
186
@@ -203,7 +191,7 @@ throws_error_when_record_is_invalid_test() ->
203
191
to_binary_arbitrary_stream_elements_test () ->
204
192
Elements = [# xmlcdata {content = <<" content" >>},
205
193
# xmlstreamend {name = <<" endname" >>},
206
- # xmlstreamstart {name = <<" name" >>, attrs = [ {<<" a" >>, <<" b" >>}] }],
194
+ # xmlstreamstart {name = <<" name" >>, attrs = # {<<" a" >> => <<" b" >>}}],
207
195
? assertEqual (<<" content</endname><name a='b'>" >>, exml :to_binary (Elements )).
208
196
209
197
parse (Doc ) ->
0 commit comments