From b4eaf15dbee351d8688595dcb718d7ed25a1b580 Mon Sep 17 00:00:00 2001 From: alisdair sullivan Date: Fri, 22 Jul 2011 21:46:24 -0700 Subject: [PATCH] fixes broken tests in format and eep --- src/jsx_eep0018.erl | 17 ++++++----------- src/jsx_format.erl | 6 ++++-- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/jsx_eep0018.erl b/src/jsx_eep0018.erl index 23de3c7..25a603a 100644 --- a/src/jsx_eep0018.erl +++ b/src/jsx_eep0018.erl @@ -176,18 +176,13 @@ event({key, Key}, Opts) -> try list_to_existing_atom(Key) catch error:badarg -> unicode:characters_to_binary(Key) end end; -%% special case for negative zero -event({integer, "-0"}, _Opts) -> - erlang:float(erlang:list_to_integer("-0")); event({integer, Integer}, Opts) -> case proplists:get_value(float, Opts, false) of - true -> erlang:float(erlang:list_to_integer(Integer)) - ; false -> erlang:list_to_integer(Integer) + true -> erlang:float(Integer) + ; false -> Integer end; -event({float, Float}, _Opts) -> - erlang:list_to_float(Float); -event({literal, Literal}, _Opts) -> - Literal. +event({float, Float}, _Opts) -> Float; +event({literal, Literal}, _Opts) -> Literal. 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_events(List); term_to_event(Float) when is_float(Float) -> - [{float, jsx_utils:nice_decimal(Float)}]; + [{float, Float}]; term_to_event(Integer) when is_integer(Integer) -> - [{integer, erlang:integer_to_list(Integer)}]; + [{integer, Integer}]; term_to_event(String) when is_binary(String) -> [{string, json_escape(String)}]; term_to_event(true) -> [{literal, true}]; diff --git a/src/jsx_format.erl b/src/jsx_format.erl index 53f65ac..ac23034 100644 --- a/src/jsx_format.erl +++ b/src/jsx_format.erl @@ -173,8 +173,10 @@ encode(string, String) -> [?quote, String, ?quote]; encode(literal, Literal) -> erlang:atom_to_list(Literal); -encode(_, Number) -> - Number. +encode(integer, Integer) -> + erlang:integer_to_list(Integer); +encode(float, Float) -> + jsx_utils:nice_decimal(Float). indent(Opts, Level) ->