change error_handler function signature to /3 from /6

This commit is contained in:
alisdair sullivan 2013-03-04 20:40:39 -08:00
parent 8eb302b45f
commit 3162891832
2 changed files with 7 additions and 7 deletions

View file

@ -95,7 +95,7 @@ decoder(Handler, State, Config) ->
-define(error(State, Bin, Handler, Acc, Stack, Config), -define(error(State, Bin, Handler, Acc, Stack, Config),
case Config#config.error_handler of case Config#config.error_handler of
false -> erlang:error(badarg); false -> erlang:error(badarg);
F -> F(State, Bin, Handler, Acc, Stack, Config) F -> F(Bin, {decoder, State, Handler, Acc, Stack}, Config)
end end
). ).
-define(error(State, Bin, Handler, Stack, Config), -define(error(State, Bin, Handler, Stack, Config),
@ -1948,7 +1948,7 @@ error_test_() ->
custom_error_handler_test_() -> custom_error_handler_test_() ->
Decode = fun(JSON, Config) -> start(JSON, {jsx, []}, [], jsx_utils:parse_config(Config)) end, Decode = fun(JSON, Config) -> start(JSON, {jsx, []}, [], jsx_utils:parse_config(Config)) end,
Error = fun(State, Rest, _Handler, _Acc, _Stack, _Config) -> {State, Rest} end, Error = fun(Rest, {_, State, _, _, _}, _) -> {State, Rest} end,
[ [
{"maybe_bom error", ?_assertEqual( {"maybe_bom error", ?_assertEqual(
{value, <<16#ef, 0>>}, {value, <<16#ef, 0>>},

View file

@ -29,7 +29,7 @@
-export([clean_string/2]). -export([clean_string/2]).
-ifdef(TEST). -ifdef(TEST).
-export([fake_error_handler/6]). -export([fake_error_handler/3]).
-endif. -endif.
-include("jsx_config.hrl"). -include("jsx_config.hrl").
@ -71,7 +71,7 @@ parse_config([{pre_encode, Encoder}|Rest] = Options, Config) when is_function(En
false -> parse_config(Rest, Config#config{pre_encode=Encoder}) false -> parse_config(Rest, Config#config{pre_encode=Encoder})
; _ -> erlang:error(badarg, [Options, Config]) ; _ -> erlang:error(badarg, [Options, Config])
end; end;
parse_config([{error_handler, ErrorHandler}|Rest] = Options, Config) when is_function(ErrorHandler, 6) -> parse_config([{error_handler, ErrorHandler}|Rest] = Options, Config) when is_function(ErrorHandler, 3) ->
case Config#config.error_handler of case Config#config.error_handler of
false -> parse_config(Rest, Config#config{error_handler=ErrorHandler}) false -> parse_config(Rest, Config#config{error_handler=ErrorHandler})
; _ -> erlang:error(badarg, [Options, Config]) ; _ -> erlang:error(badarg, [Options, Config])
@ -621,8 +621,8 @@ config_test_() ->
]) ])
)}, )},
{"error_handler flag", ?_assertEqual( {"error_handler flag", ?_assertEqual(
#config{error_handler=fun ?MODULE:fake_error_handler/6}, #config{error_handler=fun ?MODULE:fake_error_handler/3},
parse_config([{error_handler, fun ?MODULE:fake_error_handler/6}]) parse_config([{error_handler, fun ?MODULE:fake_error_handler/3}])
)}, )},
{"two error_handlers defined", ?_assertError( {"two error_handlers defined", ?_assertError(
badarg, badarg,
@ -635,7 +635,7 @@ config_test_() ->
]. ].
fake_error_handler(_, _, _, _, _, _) -> ok. fake_error_handler(_, _, _) -> ok.
%% erlang refuses to encode certain codepoints, so fake them %% erlang refuses to encode certain codepoints, so fake them