move all encoder escape tests to jsx_utils
This commit is contained in:
parent
c99cbd9d12
commit
1bf196b9e3
3 changed files with 56 additions and 93 deletions
|
@ -343,29 +343,4 @@ pre_encoders_test_() ->
|
|||
].
|
||||
|
||||
|
||||
escapes_test_() ->
|
||||
[
|
||||
{"backspace escape", ?_assertEqual(encode(<<"\b">>, [escaped_strings]), [{string, <<"\\b">>}, end_json])},
|
||||
{"formfeed escape", ?_assertEqual(encode(<<"\f">>, [escaped_strings]), [{string, <<"\\f">>}, end_json])},
|
||||
{"newline escape", ?_assertEqual(encode(<<"\n">>, [escaped_strings]), [{string, <<"\\n">>}, end_json])},
|
||||
{"carriage return escape", ?_assertEqual(encode(<<"\r">>, [escaped_strings]), [{string, <<"\\r">>}, end_json])},
|
||||
{"tab escape", ?_assertEqual(encode(<<"\t">>, [escaped_strings]), [{string, <<"\\t">>}, end_json])},
|
||||
{"quote escape", ?_assertEqual(encode(<<"\"">>, [escaped_strings]), [{string, <<"\\\"">>}, end_json])},
|
||||
{"forward slash escape", ?_assertEqual(encode(<<"/">>, [escaped_strings, escaped_forward_slashes]), [{string, <<"\\/">>}, end_json])},
|
||||
{"no forward slash escape", ?_assertEqual(encode(<<"/">>, [escaped_strings]), [{string, <<"/">>}, end_json])},
|
||||
{"back slash escape", ?_assertEqual(encode(<<"\\">>, [escaped_strings]), [{string, <<"\\\\">>}, end_json])},
|
||||
{"jsonp escape", ?_assertEqual(
|
||||
encode(<<16#2028/utf8, 16#2029/utf8>>, [escaped_strings]),
|
||||
[{string, <<"\\u2028\\u2029">>}, end_json]
|
||||
)},
|
||||
{"no jsonp escape", ?_assertEqual(
|
||||
encode(<<16#2028/utf8, 16#2029/utf8>>, [escaped_strings, unescaped_jsonp]),
|
||||
[{string, <<16#2028/utf8, 16#2029/utf8>>}, end_json]
|
||||
)},
|
||||
{"control escape", ?_assertEqual(encode(<<0>>, [escaped_strings]), [{string, <<"\\u0000">>}, end_json])},
|
||||
{"dirty strings", ?_assertEqual(encode(<<"\n">>, [escaped_strings, dirty_strings]), [{string, <<"\n">>}, end_json])},
|
||||
{"ignore bad escapes", ?_assertEqual(encode(<<"\\x25">>, [escaped_strings, ignored_bad_escapes]), [{string, <<"\\\\x25">>}, end_json])}
|
||||
].
|
||||
|
||||
|
||||
-endif.
|
|
@ -341,32 +341,4 @@ encode_failures_test_() ->
|
|||
].
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
escapes_test_() ->
|
||||
[
|
||||
{"backspace escape", ?_assertEqual(encode(<<"\b">>, [escaped_strings]), [{string, <<"\\b">>}, end_json])},
|
||||
{"formfeed escape", ?_assertEqual(encode(<<"\f">>, [escaped_strings]), [{string, <<"\\f">>}, end_json])},
|
||||
{"newline escape", ?_assertEqual(encode(<<"\n">>, [escaped_strings]), [{string, <<"\\n">>}, end_json])},
|
||||
{"carriage return escape", ?_assertEqual(encode(<<"\r">>, [escaped_strings]), [{string, <<"\\r">>}, end_json])},
|
||||
{"tab escape", ?_assertEqual(encode(<<"\t">>, [escaped_strings]), [{string, <<"\\t">>}, end_json])},
|
||||
{"quote escape", ?_assertEqual(encode(<<"\"">>, [escaped_strings]), [{string, <<"\\\"">>}, end_json])},
|
||||
{"forward slash escape", ?_assertEqual(encode(<<"/">>, [escaped_strings, escaped_forward_slashes]), [{string, <<"\\/">>}, end_json])},
|
||||
{"no forward slash escape", ?_assertEqual(encode(<<"/">>, [escaped_strings]), [{string, <<"/">>}, end_json])},
|
||||
{"back slash escape", ?_assertEqual(encode(<<"\\">>, [escaped_strings]), [{string, <<"\\\\">>}, end_json])},
|
||||
{"jsonp escape", ?_assertEqual(
|
||||
encode(<<16#2028/utf8, 16#2029/utf8>>, [escaped_strings]),
|
||||
[{string, <<"\\u2028\\u2029">>}, end_json]
|
||||
)},
|
||||
{"no jsonp escape", ?_assertEqual(
|
||||
encode(<<16#2028/utf8, 16#2029/utf8>>, [escaped_strings, unescaped_jsonp]),
|
||||
[{string, <<16#2028/utf8, 16#2029/utf8>>}, end_json]
|
||||
)},
|
||||
{"control escape", ?_assertEqual(encode(<<0>>, [escaped_strings]), [{string, <<"\\u0000">>}, end_json])},
|
||||
{"dirty strings", ?_assertEqual(encode(<<"\n">>, [escaped_strings, dirty_strings]), [{string, <<"\n">>}, end_json])},
|
||||
{"ignore bad escapes", ?_assertEqual(encode(<<"\\x25">>, [escaped_strings, ignored_bad_escapes]), [{string, <<"\\\\x25">>}, end_json])}
|
||||
].
|
||||
|
||||
|
||||
-endif.
|
|
@ -712,6 +712,62 @@ clean_test_() ->
|
|||
|
||||
escape_test_() ->
|
||||
[
|
||||
{"escape backspace", ?_assertEqual(
|
||||
<<"\\b">>,
|
||||
clean_string(to_fake_utf8(16#0008), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape tab", ?_assertEqual(
|
||||
<<"\\t">>,
|
||||
clean_string(to_fake_utf8(16#0009), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape newline", ?_assertEqual(
|
||||
<<"\\n">>,
|
||||
clean_string(to_fake_utf8(16#000a), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape formfeed", ?_assertEqual(
|
||||
<<"\\f">>,
|
||||
clean_string(to_fake_utf8(16#000c), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape carriage return", ?_assertEqual(
|
||||
<<"\\r">>,
|
||||
clean_string(to_fake_utf8(16#000d), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape quote", ?_assertEqual(
|
||||
<<"\\\"">>,
|
||||
clean_string(to_fake_utf8(16#0022), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape forward slash", ?_assertEqual(
|
||||
<<"\\/">>,
|
||||
clean_string(to_fake_utf8(16#002f), #opts{escaped_strings=true, escaped_forward_slashes=true})
|
||||
)},
|
||||
{"do not escape forward slash", ?_assertEqual(
|
||||
<<"/">>,
|
||||
clean_string(to_fake_utf8(16#002f), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape backslash", ?_assertEqual(
|
||||
<<"\\\\">>,
|
||||
clean_string(to_fake_utf8(16#005c), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape jsonp (u2028)", ?_assertEqual(
|
||||
<<"\\u2028">>,
|
||||
clean_string(to_fake_utf8(16#2028), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"do not escape jsonp (u2028)", ?_assertEqual(
|
||||
<<16#2028/utf8>>,
|
||||
clean_string(to_fake_utf8(16#2028), #opts{escaped_strings=true, unescaped_jsonp=true})
|
||||
)},
|
||||
{"escape jsonp (u2029)", ?_assertEqual(
|
||||
<<"\\u2029">>,
|
||||
clean_string(to_fake_utf8(16#2029), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"do not escape jsonp (u2029)", ?_assertEqual(
|
||||
<<16#2029/utf8>>,
|
||||
clean_string(to_fake_utf8(16#2029), #opts{escaped_strings=true, unescaped_jsonp=true})
|
||||
)},
|
||||
{"dirty string", ?_assertEqual(
|
||||
<<"\n">>,
|
||||
clean_string(to_fake_utf8(16#000a), #opts{escaped_strings=true, dirty_strings=true})
|
||||
)},
|
||||
{"escape u0000", ?_assertEqual(
|
||||
<<"\\u0000">>,
|
||||
clean_string(to_fake_utf8(16#0000), #opts{escaped_strings=true})
|
||||
|
@ -744,30 +800,10 @@ escape_test_() ->
|
|||
<<"\\u0007">>,
|
||||
clean_string(to_fake_utf8(16#0007), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u0008", ?_assertEqual(
|
||||
<<"\\b">>,
|
||||
clean_string(to_fake_utf8(16#0008), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u0009", ?_assertEqual(
|
||||
<<"\\t">>,
|
||||
clean_string(to_fake_utf8(16#0009), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u000a", ?_assertEqual(
|
||||
<<"\\n">>,
|
||||
clean_string(to_fake_utf8(16#000a), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u000b", ?_assertEqual(
|
||||
<<"\\u000b">>,
|
||||
clean_string(to_fake_utf8(16#000b), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u000c", ?_assertEqual(
|
||||
<<"\\f">>,
|
||||
clean_string(to_fake_utf8(16#000c), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u000d", ?_assertEqual(
|
||||
<<"\\r">>,
|
||||
clean_string(to_fake_utf8(16#000d), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u000e", ?_assertEqual(
|
||||
<<"\\u000e">>,
|
||||
clean_string(to_fake_utf8(16#000e), #opts{escaped_strings=true})
|
||||
|
@ -839,26 +875,6 @@ escape_test_() ->
|
|||
{"escape u001f", ?_assertEqual(
|
||||
<<"\\u001f">>,
|
||||
clean_string(to_fake_utf8(16#001f), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u0022", ?_assertEqual(
|
||||
<<"\\\"">>,
|
||||
clean_string(to_fake_utf8(16#0022), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u002f", ?_assertEqual(
|
||||
<<"\\/">>,
|
||||
clean_string(to_fake_utf8(16#002f), #opts{escaped_strings=true, escaped_forward_slashes=true})
|
||||
)},
|
||||
{"escape u005c", ?_assertEqual(
|
||||
<<"\\\\">>,
|
||||
clean_string(to_fake_utf8(16#005c), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u2028", ?_assertEqual(
|
||||
<<"\\u2028">>,
|
||||
clean_string(to_fake_utf8(16#2028), #opts{escaped_strings=true})
|
||||
)},
|
||||
{"escape u2029", ?_assertEqual(
|
||||
<<"\\u2029">>,
|
||||
clean_string(to_fake_utf8(16#2029), #opts{escaped_strings=true})
|
||||
)}
|
||||
].
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue