diff --git a/src/jsx.erl b/src/jsx.erl index 968e65e..993303e 100644 --- a/src/jsx.erl +++ b/src/jsx.erl @@ -194,16 +194,10 @@ load_tests(Path) -> load_tests([], _Dir, Acc) -> lists:reverse(Acc); load_tests([Test|Rest], Dir, Acc) -> - %% should alert about badly formed tests eventually, but for now just skip - %% over them case file:consult(Dir ++ "/" ++ Test) of {ok, TestSpec} -> - try - ParsedTest = parse_tests(TestSpec, Dir), - load_tests(Rest, Dir, [ParsedTest] ++ Acc) - catch _:_ -> - load_tests(Rest, Dir, Acc) - end + ParsedTest = parse_tests(TestSpec, Dir), + load_tests(Rest, Dir, [ParsedTest] ++ Acc) ; {error, _Reason} -> load_tests(Rest, Dir, Acc) end. diff --git a/src/jsx_decoder.hrl b/src/jsx_decoder.hrl index af33cb1..3e2cf09 100644 --- a/src/jsx_decoder.hrl +++ b/src/jsx_decoder.hrl @@ -839,7 +839,7 @@ integer(<>, Stack, Opts, Acc) -> integer(<>, Stack, Opts, Acc) -> integer(Rest, Stack, Opts, [?zero] ++ Acc); integer(<>, Stack, Opts, Acc) when S =:= $e; S =:= $E -> - e(Rest, Stack, Opts, {lists:reverse(Acc), [], []}); + e(Rest, Stack, Opts, {Acc, [], []}); integer(<>, Stack, Opts, Acc) when ?is_whitespace(S) -> {jsx, format_number(Acc), fun() -> maybe_done(Rest, Stack, Opts) diff --git a/test/cases/numbers.json b/test/cases/numbers.json index 69de7bc..17f69b6 100644 --- a/test/cases/numbers.json +++ b/test/cases/numbers.json @@ -1 +1 @@ -[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 42, 127, 99999999999999999999999999999, 1e1, 1E1, 1.0e1, 1.325e478534, -1, -1e-1, 3.7e-57834235 ] \ No newline at end of file +[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 42, 127, 99999999999999999999999999999, 1e1, 1E1, 1.0e1, 1.325e278, -1, -1e-1, 3.7e-78 ] \ No newline at end of file diff --git a/test/cases/numbers.test b/test/cases/numbers.test index 85400b2..1ed16ac 100644 --- a/test/cases/numbers.test +++ b/test/cases/numbers.test @@ -15,9 +15,9 @@ {float,1.0e1}, {float,1.0e1}, {float,1.0e1}, - {float,1.325e478534}, + {float,1.325e278}, {integer,-1}, {float,-1.0e-1}, - {float,3.7e-57834235}, + {float,3.7e-78}, end_array,end_json]}. {json, "numbers.json"}.