fixes broken tests in format and eep

This commit is contained in:
alisdair sullivan 2011-07-22 21:46:24 -07:00
parent 2ee96eb356
commit b4eaf15dbe
2 changed files with 10 additions and 13 deletions

View file

@ -176,18 +176,13 @@ event({key, Key}, Opts) ->
try list_to_existing_atom(Key) try list_to_existing_atom(Key)
catch error:badarg -> unicode:characters_to_binary(Key) end catch error:badarg -> unicode:characters_to_binary(Key) end
end; end;
%% special case for negative zero
event({integer, "-0"}, _Opts) ->
erlang:float(erlang:list_to_integer("-0"));
event({integer, Integer}, Opts) -> event({integer, Integer}, Opts) ->
case proplists:get_value(float, Opts, false) of case proplists:get_value(float, Opts, false) of
true -> erlang:float(erlang:list_to_integer(Integer)) true -> erlang:float(Integer)
; false -> erlang:list_to_integer(Integer) ; false -> Integer
end; end;
event({float, Float}, _Opts) -> event({float, Float}, _Opts) -> Float;
erlang:list_to_float(Float); event({literal, Literal}, _Opts) -> Literal.
event({literal, Literal}, _Opts) ->
Literal.
decode_key_repeats(Key, [{Key, _Value}|_Rest]) -> true; decode_key_repeats(Key, [{Key, _Value}|_Rest]) -> true;
@ -230,9 +225,9 @@ list_to_events([], Acc) ->
term_to_event(List) when is_list(List) -> term_to_event(List) when is_list(List) ->
term_to_events(List); term_to_events(List);
term_to_event(Float) when is_float(Float) -> term_to_event(Float) when is_float(Float) ->
[{float, jsx_utils:nice_decimal(Float)}]; [{float, Float}];
term_to_event(Integer) when is_integer(Integer) -> term_to_event(Integer) when is_integer(Integer) ->
[{integer, erlang:integer_to_list(Integer)}]; [{integer, Integer}];
term_to_event(String) when is_binary(String) -> term_to_event(String) when is_binary(String) ->
[{string, json_escape(String)}]; [{string, json_escape(String)}];
term_to_event(true) -> [{literal, true}]; term_to_event(true) -> [{literal, true}];

View file

@ -173,8 +173,10 @@ encode(string, String) ->
[?quote, String, ?quote]; [?quote, String, ?quote];
encode(literal, Literal) -> encode(literal, Literal) ->
erlang:atom_to_list(Literal); erlang:atom_to_list(Literal);
encode(_, Number) -> encode(integer, Integer) ->
Number. erlang:integer_to_list(Integer);
encode(float, Float) ->
jsx_utils:nice_decimal(Float).
indent(Opts, Level) -> indent(Opts, Level) ->