move all encoder escape tests to jsx_utils

This commit is contained in:
alisdair sullivan 2013-02-05 16:52:28 -08:00
parent c99cbd9d12
commit 1bf196b9e3
3 changed files with 56 additions and 93 deletions

View file

@ -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.

View file

@ -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.

View file

@ -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})
)}
].