change error_handler function signature to /3 from /6
This commit is contained in:
parent
8eb302b45f
commit
3162891832
2 changed files with 7 additions and 7 deletions
|
@ -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>>},
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue