tests for to_json
This commit is contained in:
parent
ec295a888b
commit
baf31783db
1 changed files with 55 additions and 1 deletions
|
@ -176,7 +176,7 @@ indent_or_space(Opts) ->
|
||||||
-ifdef(TEST).
|
-ifdef(TEST).
|
||||||
-include_lib("eunit/include/eunit.hrl").
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
basic_test_() ->
|
basic_format_test_() ->
|
||||||
[
|
[
|
||||||
{"empty object", ?_assert(format(<<"{}">>, []) =:= <<"{}">>)},
|
{"empty object", ?_assert(format(<<"{}">>, []) =:= <<"{}">>)},
|
||||||
{"empty array", ?_assert(format(<<"[]">>, []) =:= <<"[]">>)},
|
{"empty array", ?_assert(format(<<"[]">>, []) =:= <<"[]">>)},
|
||||||
|
@ -224,6 +224,60 @@ basic_test_() ->
|
||||||
}
|
}
|
||||||
].
|
].
|
||||||
|
|
||||||
|
basic_to_json_test_() ->
|
||||||
|
[
|
||||||
|
{"empty object", ?_assert(to_json([{}], []) =:= <<"{}">>)},
|
||||||
|
{"empty array", ?_assert(to_json([], []) =:= <<"[]">>)},
|
||||||
|
{"naked integer", ?_assert(to_json(123, []) =:= <<"123">>)},
|
||||||
|
{"naked float", ?_assert(to_json(1.23, []) =:= <<"1.23">>)},
|
||||||
|
{"naked string", ?_assert(to_json(<<"hi">>, []) =:= <<"\"hi\"">>)},
|
||||||
|
{"naked literal", ?_assert(to_json(true, []) =:= <<"true">>)},
|
||||||
|
{"simple object",
|
||||||
|
?_assert(to_json(
|
||||||
|
[{<<"key">>, <<"value">>}],
|
||||||
|
[]
|
||||||
|
) =:= <<"{\"key\":\"value\"}">>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{"nested object",
|
||||||
|
?_assert(to_json(
|
||||||
|
[{<<"k">>,[{<<"k">>,<<"v">>}]},{<<"j">>,[{}]}],
|
||||||
|
[]
|
||||||
|
) =:= <<"{\"k\":{\"k\":\"v\"},\"j\":{}}">>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{"simple array",
|
||||||
|
?_assert(to_json(
|
||||||
|
[true, false, null],
|
||||||
|
[]
|
||||||
|
) =:= <<"[true,false,null]">>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{"really simple array", ?_assert(to_json([1], []) =:= <<"[1]">>)},
|
||||||
|
{"nested array", ?_assert(to_json([[[]]], []) =:= <<"[[[]]]">>)},
|
||||||
|
{"nested structures",
|
||||||
|
?_assert(to_json(
|
||||||
|
[
|
||||||
|
[
|
||||||
|
{<<"key">>, <<"value">>},
|
||||||
|
{<<"another key">>, <<"another value">>},
|
||||||
|
{<<"a list">>, [true, false]}
|
||||||
|
],
|
||||||
|
[[[{}]]]
|
||||||
|
],
|
||||||
|
[]
|
||||||
|
) =:= <<"[{\"key\":\"value\",\"another key\":\"another value\",\"a list\":[true,false]},[[{}]]]">>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
{"simple nested structure",
|
||||||
|
?_assert(to_json(
|
||||||
|
[[], [{<<"k">>, [[], [{}]]}, {<<"j">>, [{}]}], []],
|
||||||
|
[]
|
||||||
|
) =:= <<"[[],{\"k\":[[],{}],\"j\":{}},[]]">>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
].
|
||||||
|
|
||||||
opts_test_() ->
|
opts_test_() ->
|
||||||
[
|
[
|
||||||
{"unspecified indent/space",
|
{"unspecified indent/space",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue