@@ -148,7 +148,7 @@ issue_27_test_() ->
148148 [? _assertEqual ({ok , null },
149149 msgpack :unpack (msgpack :pack (nil ), [{format ,jsx }])),
150150 ? _assertEqual ({ok , nil },
151- msgpack :unpack (msgpack :pack (null , [{format ,jsx }]))),
151+ msgpack :unpack (msgpack :pack (nil , [{format ,jiffy }]))),
152152 ? _assertEqual ({ok , <<" null" >>},
153153 msgpack :unpack (msgpack :pack (null , [{allow_atom ,pack }]))),
154154 ? _assertEqual ({ok , <<" nil" >>},
@@ -199,9 +199,41 @@ array_test_()->
199199 end }
200200 ].
201201
202+ -ifndef (without_map ).
202203map_test_ ()->
203204 [
204- {" jiffy length 16" ,
205+ {" maps <=> jsx" ,
206+ fun () ->
207+ JSXMap = [ {X , X * 2 } || X <- lists :seq (0 , 16 ) ],
208+ BinaryJSX = pack (JSXMap , [{format ,jsx }]),
209+ Map = maps :from_list (JSXMap ),
210+ Binary = pack (Map , [{format ,map }]),
211+ ? assertEqual (BinaryJSX , Binary )
212+ end },
213+
214+ {" map length 16" ,
215+ fun () ->
216+ Map = maps :from_list ([ {X , X * 2 } || X <- lists :seq (0 , 16 ) ]),
217+ Binary = pack (Map , [{format ,map }]),
218+ ? assertEqual ({ok , Map }, unpack (Binary , [{format ,map }]))
219+ end },
220+ {" map length 32" ,
221+ fun () ->
222+ Map = maps :from_list ([ {X , X * 2 } || X <- lists :seq (0 , 16#010000 ) ]),
223+ Binary = pack (Map , [{format ,map }]),
224+ ? assertEqual ({ok , Map }, unpack (Binary , [{format ,map }]))
225+ end },
226+ {" map empty" ,
227+ fun () ->
228+ EmptyMap = maps :new (),
229+ Binary = pack (EmptyMap , [{format ,map }]),
230+ ? assertEqual ({ok , EmptyMap }, unpack (Binary , [{format ,map }]))
231+ end }].
232+ -endif .
233+
234+
235+ jiffy_jsx_test_ () ->
236+ [{" jiffy length 16" ,
205237 fun () ->
206238 Map = {[ {X , X * 2 } || X <- lists :seq (0 , 16 ) ]},
207239 Binary = pack (Map , [{format ,jiffy }]),
0 commit comments