unescape tests for decoder
This commit is contained in:
parent
fd9856341f
commit
82b7044d42
1 changed files with 53 additions and 0 deletions
|
@ -1566,6 +1566,59 @@ bad_utf8_test_() ->
|
|||
].
|
||||
|
||||
|
||||
unescape(Bin, Config) ->
|
||||
[{string, String}, end_json] = decode(<<34, Bin/binary, 34>>, Config),
|
||||
String.
|
||||
|
||||
unescape_test_() ->
|
||||
[
|
||||
{"unescape backspace", ?_assertEqual(
|
||||
<<"\b">>,
|
||||
unescape(<<"\\b"/utf8>>, [])
|
||||
)},
|
||||
{"unescape tab", ?_assertEqual(
|
||||
<<"\t">>,
|
||||
unescape(<<"\\t"/utf8>>, [])
|
||||
)},
|
||||
{"unescape newline", ?_assertEqual(
|
||||
<<"\n">>,
|
||||
unescape(<<"\\n"/utf8>>, [])
|
||||
)},
|
||||
{"unescape formfeed", ?_assertEqual(
|
||||
<<"\f">>,
|
||||
unescape(<<"\\f"/utf8>>, [])
|
||||
)},
|
||||
{"unescape carriage return", ?_assertEqual(
|
||||
<<"\r">>,
|
||||
unescape(<<"\\r"/utf8>>, [])
|
||||
)},
|
||||
{"unescape quote", ?_assertEqual(
|
||||
<<"\"">>,
|
||||
unescape(<<"\\\""/utf8>>, [])
|
||||
)},
|
||||
{"unescape single quote", ?_assertEqual(
|
||||
<<"'">>,
|
||||
unescape(<<"\\'"/utf8>>, [single_quoted_strings])
|
||||
)},
|
||||
{"unescape solidus", ?_assertEqual(
|
||||
<<"/">>,
|
||||
unescape(<<"\\/"/utf8>>, [])
|
||||
)},
|
||||
{"unescape reverse solidus", ?_assertEqual(
|
||||
<<"\\">>,
|
||||
unescape(<<"\\\\"/utf8>>, [])
|
||||
)},
|
||||
{"unescape control", ?_assertEqual(
|
||||
<<0>>,
|
||||
unescape(<<"\\u0000"/utf8>>, [])
|
||||
)},
|
||||
{"unescape surrogate pair", ?_assertEqual(
|
||||
<<16#10000/utf8>>,
|
||||
unescape(<<"\\ud800\\udc00"/utf8>>, [])
|
||||
)}
|
||||
].
|
||||
|
||||
|
||||
maybe_escape(Bin, Config) ->
|
||||
[{string, String}, end_json] = decode(Bin, Config),
|
||||
String.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue