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.
|
-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.
|
-endif.
|
|
@ -712,6 +712,62 @@ clean_test_() ->
|
||||||
|
|
||||||
escape_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(
|
{"escape u0000", ?_assertEqual(
|
||||||
<<"\\u0000">>,
|
<<"\\u0000">>,
|
||||||
clean_string(to_fake_utf8(16#0000), #opts{escaped_strings=true})
|
clean_string(to_fake_utf8(16#0000), #opts{escaped_strings=true})
|
||||||
|
@ -744,30 +800,10 @@ escape_test_() ->
|
||||||
<<"\\u0007">>,
|
<<"\\u0007">>,
|
||||||
clean_string(to_fake_utf8(16#0007), #opts{escaped_strings=true})
|
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(
|
{"escape u000b", ?_assertEqual(
|
||||||
<<"\\u000b">>,
|
<<"\\u000b">>,
|
||||||
clean_string(to_fake_utf8(16#000b), #opts{escaped_strings=true})
|
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(
|
{"escape u000e", ?_assertEqual(
|
||||||
<<"\\u000e">>,
|
<<"\\u000e">>,
|
||||||
clean_string(to_fake_utf8(16#000e), #opts{escaped_strings=true})
|
clean_string(to_fake_utf8(16#000e), #opts{escaped_strings=true})
|
||||||
|
@ -839,26 +875,6 @@ escape_test_() ->
|
||||||
{"escape u001f", ?_assertEqual(
|
{"escape u001f", ?_assertEqual(
|
||||||
<<"\\u001f">>,
|
<<"\\u001f">>,
|
||||||
clean_string(to_fake_utf8(16#001f), #opts{escaped_strings=true})
|
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