format/2 handles naked values
This commit is contained in:
parent
7a56f72b7c
commit
1a9d1908f0
2 changed files with 11 additions and 3 deletions
|
@ -84,8 +84,7 @@ start([{literal, Atom}], [], [], _Opts)
|
|||
%% third parameter is a stack to match end_foos to start_foos
|
||||
start(Forms, [], [], Opts) when is_list(Forms) ->
|
||||
list_or_object(Forms, [], [], Opts);
|
||||
start(Forms, T, Stack, Opts) ->
|
||||
?error([Forms, T, Stack, Opts]).
|
||||
start(Forms, T, Stack, Opts) -> ?error([Forms, T, Stack, Opts]).
|
||||
|
||||
|
||||
list_or_object([start_object|Forms], T, Stack, Opts) ->
|
||||
|
|
|
@ -83,7 +83,8 @@ extract_parser_opts([K|Rest], Acc) ->
|
|||
|
||||
fold(Event, {start, Acc, Opts}) ->
|
||||
case Event of
|
||||
start_object -> {[object_start], [Acc, ?start_object], Opts}
|
||||
{Type, Value} -> {[], [Acc, encode(Type, Value)], Opts}
|
||||
; start_object -> {[object_start], [Acc, ?start_object], Opts}
|
||||
; start_array -> {[array_start], [Acc, ?start_array], Opts}
|
||||
end;
|
||||
fold(Event, {[object_start|Stack], Acc, Opts}) ->
|
||||
|
@ -154,18 +155,26 @@ basic_test_() ->
|
|||
[
|
||||
{"empty object", ?_assert(format(<<"{}">>, []) =:= <<"{}">>)},
|
||||
{"empty array", ?_assert(format(<<"[]">>, []) =:= <<"[]">>)},
|
||||
{"naked integer", ?_assert(format([{integer, 123}], []) =:= <<"123">>)},
|
||||
{"naked float", ?_assert(format([{float, 1.23}], []) =:= <<"1.23">>)},
|
||||
{"naked string", ?_assert(format(<<"\"hi\"">>, []) =:= <<"\"hi\"">>)},
|
||||
{"naked literal", ?_assert(format(<<"true">>, []) =:= <<"true">>)},
|
||||
{"simple object",
|
||||
?_assert(format(<<" { \"key\" :\n\t \"value\"\r\r\r\n } ">>,
|
||||
[]
|
||||
) =:= <<"{\"key\":\"value\"}">>
|
||||
)
|
||||
},
|
||||
{"really simple object",
|
||||
?_assert(format(<<"{\"k\":\"v\"}">>, []) =:= <<"{\"k\":\"v\"}">>)
|
||||
},
|
||||
{"simple array",
|
||||
?_assert(format(<<" [\n\ttrue,\n\tfalse , \n \tnull\n] ">>,
|
||||
[]
|
||||
) =:= <<"[true,false,null]">>
|
||||
)
|
||||
},
|
||||
{"really simple array", ?_assert(format(<<"[1]">>, []) =:= <<"[1]">>)},
|
||||
{"nested structures",
|
||||
?_assert(format(
|
||||
<<"[{\"key\":\"value\",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue