rename explicit_end to stream in prep for behavior change

This commit is contained in:
alisdair sullivan 2013-07-10 05:41:19 +00:00
parent d77f23ec9a
commit 6797bf3ed7
5 changed files with 27 additions and 27 deletions

View file

@ -44,8 +44,8 @@ parse_config([replaced_bad_utf8|Rest], Config) ->
parse_config(Rest, Config#config{replaced_bad_utf8=true});
parse_config([escaped_forward_slashes|Rest], Config) ->
parse_config(Rest, Config#config{escaped_forward_slashes=true});
parse_config([explicit_end|Rest], Config) ->
parse_config(Rest, Config#config{explicit_end=true});
parse_config([stream|Rest], Config) ->
parse_config(Rest, Config#config{stream=true});
parse_config([single_quoted_strings|Rest], Config) ->
parse_config(Rest, Config#config{single_quoted_strings=true});
parse_config([unescaped_jsonp|Rest], Config) ->
@ -115,7 +115,7 @@ valid_flags() ->
escaped_strings,
dirty_strings,
ignored_bad_escapes,
explicit_end,
stream,
relax,
error_handler,
incomplete_handler,
@ -157,7 +157,7 @@ config_test_() ->
#config{
replaced_bad_utf8=true,
escaped_forward_slashes=true,
explicit_end=true,
stream=true,
single_quoted_strings=true,
unescaped_jsonp=true,
comments=true,
@ -167,7 +167,7 @@ config_test_() ->
parse_config([
replaced_bad_utf8,
escaped_forward_slashes,
explicit_end,
stream,
single_quoted_strings,
unescaped_jsonp,
comments,
@ -246,13 +246,13 @@ config_to_list_test_() ->
comments,
dirty_strings,
ignored_bad_escapes,
explicit_end
stream
],
config_to_list(
#config{
replaced_bad_utf8=true,
escaped_forward_slashes=true,
explicit_end=true,
stream=true,
single_quoted_strings=true,
unescaped_jsonp=true,
comments=true,

View file

@ -7,7 +7,7 @@
escaped_strings = false,
dirty_strings = false,
ignored_bad_escapes = false,
explicit_end = false,
stream = false,
error_handler = false,
incomplete_handler = false
}).

View file

@ -145,7 +145,7 @@ incomplete(State, Rest, Handler, Acc, Stack, Config=#config{incomplete_handler=f
{incomplete, fun(Stream) when is_binary(Stream) ->
resume(<<Rest/binary, Stream/binary>>, State, Handler, Acc, Stack, Config);
(end_stream) ->
case resume(<<Rest/binary, ?space/utf8>>, State, Handler, Acc, Stack, Config#config{explicit_end=false}) of
case resume(<<Rest/binary, ?space/utf8>>, State, Handler, Acc, Stack, Config#config{stream=false}) of
{incomplete, _} -> ?error(State, Rest, Handler, Acc, Stack, Config);
Else -> Else
end
@ -748,7 +748,7 @@ zero(<<?decimalpoint, Rest/binary>>, Handler, Acc, Stack, Config) ->
decimal(Rest, Handler, acc_seq(Acc, ?decimalpoint), Stack, Config);
zero(<<S, Rest/binary>>, Handler, Acc, Stack, Config) when S =:= $e; S =:= $E ->
e(Rest, Handler, acc_seq(Acc, ".0e"), Stack, Config);
zero(<<>>, Handler, Acc, [], Config=#config{explicit_end=false}) ->
zero(<<>>, Handler, Acc, [], Config=#config{stream=false}) ->
finish_number(<<>>, Handler, {zero, Acc}, [], Config);
zero(<<>>, Handler, Acc, Stack, Config) ->
incomplete(value, (end_seq(Acc)), Handler, Stack, Config);
@ -806,7 +806,7 @@ exp(Bin, Handler, Acc, Stack, Config) ->
finish_number(Bin, Handler, {exp, Acc}, Stack, Config).
finish_number(Rest, Handler, Acc, [], Config=#config{explicit_end=false}) ->
finish_number(Rest, Handler, Acc, [], Config=#config{stream=false}) ->
maybe_done(Rest, handle_event(format_number(Acc), Handler, Config), [], Config);
finish_number(<<?end_object, Rest/binary>>, Handler, Acc, [object|Stack], Config) ->
maybe_done(Rest, handle_event([format_number(Acc), end_object], Handler, Config), Stack, Config);
@ -901,7 +901,7 @@ comment(<<_/utf8, Rest/binary>>, Handler, Resume, Stack, Config) ->
comment(Rest, Handler, Resume, Stack, Config);
comment(<<_, Rest/binary>>, Handler, Resume, Stack, Config=#config{replaced_bad_utf8=true}) ->
comment(Rest, Handler, Resume, Stack, Config);
comment(<<>>, Handler, done, [Comment], Config=#config{explicit_end=false})
comment(<<>>, Handler, done, [Comment], Config=#config{stream=false})
when Comment == comment; Comment == multicomment ->
resume(<<>>, done, Handler, unused, [], Config);
comment(<<>>, Handler, Resume, Stack, Config) ->
@ -942,7 +942,7 @@ done(<<?solidus, ?star, Rest/binary>>, Handler, Stack, Config=#config{comments=t
comment(Rest, Handler, done, [multicomment|Stack], Config);
done(<<?solidus>>, Handler, Stack, Config=#config{comments=true}) ->
incomplete(done, <<?solidus>>, Handler, Stack, Config);
done(<<>>, {Handler, State}, [], Config=#config{explicit_end=true}) ->
done(<<>>, {Handler, State}, [], Config=#config{stream=true}) ->
incomplete(done, <<>>, {Handler, State}, [], Config);
done(<<>>, {_Handler, State}, [], _Config) -> State;
done(Bin, Handler, Stack, Config) -> ?error(done, Bin, Handler, Stack, Config).
@ -968,7 +968,7 @@ decode(JSON, Config) ->
Incremental = try
Final = lists:foldl(
fun(Byte, Decoder) -> {incomplete, F} = Decoder(Byte), F end,
decoder(jsx, [], [explicit_end] ++ Config),
decoder(jsx, [], [stream] ++ Config),
json_to_bytes(JSON)
),
Final(end_stream)
@ -1931,19 +1931,19 @@ error_test_() ->
)},
{"zero error", ?_assertError(
badarg,
Decode(<<"0"/utf8, 0>>, [explicit_end])
Decode(<<"0"/utf8, 0>>, [stream])
)},
{"integer error", ?_assertError(
badarg,
Decode(<<"1"/utf8, 0>>, [explicit_end])
Decode(<<"1"/utf8, 0>>, [stream])
)},
{"decimal error", ?_assertError(
badarg,
Decode(<<"1.0"/utf8, 0>>, [explicit_end])
Decode(<<"1.0"/utf8, 0>>, [stream])
)},
{"exp error", ?_assertError(
badarg,
Decode(<<"1.0e1"/utf8, 0>>, [explicit_end])
Decode(<<"1.0e1"/utf8, 0>>, [stream])
)},
{"e error", ?_assertError(
badarg,
@ -2026,19 +2026,19 @@ custom_error_handler_test_() ->
)},
{"zero error", ?_assertEqual(
{value, <<"0"/utf8, 0>>},
Decode(<<"0"/utf8, 0>>, [explicit_end, {error_handler, Error}])
Decode(<<"0"/utf8, 0>>, [stream, {error_handler, Error}])
)},
{"integer error", ?_assertEqual(
{integer, <<0>>},
Decode(<<"1"/utf8, 0>>, [explicit_end, {error_handler, Error}])
Decode(<<"1"/utf8, 0>>, [stream, {error_handler, Error}])
)},
{"decimal error", ?_assertEqual(
{decimal, <<0>>},
Decode(<<"1.0"/utf8, 0>>, [explicit_end, {error_handler, Error}])
Decode(<<"1.0"/utf8, 0>>, [stream, {error_handler, Error}])
)},
{"exp error", ?_assertEqual(
{exp, <<0>>},
Decode(<<"1.0e1"/utf8, 0>>, [explicit_end, {error_handler, Error}])
Decode(<<"1.0e1"/utf8, 0>>, [stream, {error_handler, Error}])
)},
{"e error", ?_assertEqual(
{decimal, <<$e, 0>>},

View file

@ -169,7 +169,7 @@ maybe_done(BadTokens, Handler, Stack, Config) when is_list(BadTokens) ->
maybe_done(Token, Handler, Stack, Config) ->
maybe_done([Token], Handler, Stack, Config).
done([], Handler, [], Config=#config{explicit_end=true}) ->
done([], Handler, [], Config=#config{stream=true}) ->
incomplete(done, Handler, [], Config);
done(Tokens, Handler, [], Config) when Tokens == [end_json]; Tokens == [] ->
{_, State} = handle_event(end_json, Handler, Config),
@ -617,7 +617,7 @@ parse(Events, Config) ->
Incremental = try
Final = lists:foldl(
fun(Event, Parser) -> {incomplete, F} = Parser(Event), F end,
parser(jsx, [], [explicit_end] ++ Config),
parser(jsx, [], [stream] ++ Config),
lists:map(fun(X) -> [X] end, Events)
),
Final(end_stream)