updated test suite to match new decoder
This commit is contained in:
parent
1e476f1797
commit
550f628564
2 changed files with 16 additions and 5 deletions
|
@ -1 +1 @@
|
||||||
["foo","bar", "baz",[true],[false],[null],true, false, null, 0.7, {"key":"value"},[{}, null,null,null,[]],"\n\r\\", [-1]] g
|
["foo","bar", "baz",[true],[false],[null],true, false, null, 0.7, {"key":"value"},[{}, null,null,null,[]],"\n\r\\", [-1]]
|
||||||
|
|
|
@ -26,22 +26,33 @@ test_body(TestSpec, Dir) ->
|
||||||
case file:consult(Dir ++ "/" ++ TestSpec) of
|
case file:consult(Dir ++ "/" ++ TestSpec) of
|
||||||
{ok, [Events]} ->
|
{ok, [Events]} ->
|
||||||
Decoder = jsx:decoder(),
|
Decoder = jsx:decoder(),
|
||||||
|
[{TestName, ?_assertEqual(incremental_decode(Decoder, JSON), Events)}] ++
|
||||||
[{TestName, ?_assertEqual(decode(Decoder, JSON), Events)}]
|
[{TestName, ?_assertEqual(decode(Decoder, JSON), Events)}]
|
||||||
; {ok, [Events, Flags]} ->
|
; {ok, [Events, Flags]} ->
|
||||||
Decoder = jsx:decoder(none, Flags),
|
Decoder = jsx:decoder({none, []}, Flags),
|
||||||
|
[{TestName, ?_assertEqual(incremental_decode(Decoder, JSON), Events)}] ++
|
||||||
[{TestName, ?_assertEqual(decode(Decoder, JSON), Events)}]
|
[{TestName, ?_assertEqual(decode(Decoder, JSON), Events)}]
|
||||||
end
|
end
|
||||||
catch _:_ -> []
|
catch _:_ -> []
|
||||||
end.
|
end.
|
||||||
|
|
||||||
decode(F, <<>>) ->
|
incremental_decode(F, <<>>) ->
|
||||||
{Result, _} = F(<<16#FDEF/utf8>>),
|
{Result, _} = F(<<>>),
|
||||||
Result;
|
Result;
|
||||||
decode(F, <<A/utf8, Rest/binary>>) ->
|
incremental_decode(F, <<A/utf8, Rest/binary>>) ->
|
||||||
case F(<<A/utf8>>) of
|
case F(<<A/utf8>>) of
|
||||||
G when is_function(G) ->
|
G when is_function(G) ->
|
||||||
decode(G, Rest)
|
decode(G, Rest)
|
||||||
; {Result, _} ->
|
; {Result, _} ->
|
||||||
Result
|
Result
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
decode(F, JSON) ->
|
||||||
|
case F(JSON) of
|
||||||
|
G when is_function(G) ->
|
||||||
|
{Result, <<>>} = G(<<>>),
|
||||||
|
Result
|
||||||
|
; {Result, _} ->
|
||||||
|
Result
|
||||||
|
end.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue