fix incorrect tail call in jsx_utils test generator
This commit is contained in:
parent
a325d266bc
commit
c36bc7babb
1 changed files with 30 additions and 26 deletions
|
@ -639,41 +639,45 @@ surrogates() -> [ to_fake_utf8(N) || N <- lists:seq(16#d800, 16#dfff) ].
|
||||||
reserved_space() -> [ to_fake_utf8(N) || N <- lists:seq(16#fdd0, 16#fdef) ].
|
reserved_space() -> [ to_fake_utf8(N) || N <- lists:seq(16#fdd0, 16#fdef) ].
|
||||||
|
|
||||||
|
|
||||||
fail_ensure(Codepoints) ->
|
fail_ensure(Codepoints, Title) ->
|
||||||
{generator,
|
{generator,
|
||||||
fun() -> case Codepoints of
|
fun() -> case Codepoints of
|
||||||
[N|Rest] ->
|
[N|Rest] ->
|
||||||
[ ?_assertError(badarg, ensure_clean(N)) | fail_clean(Rest) ]
|
[ {Title, ?_assertError(badarg, ensure_clean(N))}
|
||||||
|
| fail_ensure(Rest, Title)
|
||||||
|
]
|
||||||
; [] -> []
|
; [] -> []
|
||||||
end end
|
end end
|
||||||
}.
|
}.
|
||||||
|
|
||||||
fail_clean(Codepoints) ->
|
fail_clean(Codepoints, Title) ->
|
||||||
{generator,
|
{generator,
|
||||||
fun() -> case Codepoints of
|
fun() -> case Codepoints of
|
||||||
[N|Rest] ->
|
[N|Rest] ->
|
||||||
[ ?_assertError(badarg, clean(N, [], #opts{})) | fail_clean(Rest) ]
|
[ {Title, ?_assertError(badarg, clean(N, [], #opts{}))}
|
||||||
|
| fail_clean(Rest, Title)
|
||||||
|
]
|
||||||
; [] -> []
|
; [] -> []
|
||||||
end end
|
end end
|
||||||
}.
|
}.
|
||||||
|
|
||||||
fail_bad(Codepoints) ->
|
fail_bad(Codepoints, Title) ->
|
||||||
{generator,
|
{generator,
|
||||||
fun() -> case Codepoints of
|
fun() -> case Codepoints of
|
||||||
[N|Rest] ->
|
[N|Rest] ->
|
||||||
[ ?_assertError(badarg, clean(N, [], #opts{})) | fail_bad(Rest) ]
|
[ {Title, ?_assertError(badarg, clean(N, [], #opts{}))}
|
||||||
|
| fail_bad(Rest, Title)
|
||||||
|
]
|
||||||
; [] -> []
|
; [] -> []
|
||||||
end end
|
end end
|
||||||
}.
|
}.
|
||||||
|
|
||||||
replace_bad(Codepoints) ->
|
replace_bad(Codepoints, Title) ->
|
||||||
{generator,
|
{generator,
|
||||||
fun() -> case Codepoints of
|
fun() -> case Codepoints of
|
||||||
[N|Rest] ->
|
[N|Rest] ->
|
||||||
[ ?_assertEqual(
|
[ {Title, ?_assertEqual(<<16#fffd/utf8>>, clean(N, [], #opts{replaced_bad_utf8=true}))}
|
||||||
<<16#fffd/utf8>>,
|
| replace_bad(Rest, Title)
|
||||||
clean(N, [], #opts{replaced_bad_utf8=true}))
|
|
||||||
| fail_bad(Rest)
|
|
||||||
]
|
]
|
||||||
; [] -> []
|
; [] -> []
|
||||||
end end
|
end end
|
||||||
|
@ -685,10 +689,10 @@ ensure_clean_test_() ->
|
||||||
{"basic codepoints", ?_assertEqual(ok, ensure_clean(codepoints()))},
|
{"basic codepoints", ?_assertEqual(ok, ensure_clean(codepoints()))},
|
||||||
{"escapables", ?_assertEqual(ok, ensure_clean(unicode:characters_to_binary(escapables())))},
|
{"escapables", ?_assertEqual(ok, ensure_clean(unicode:characters_to_binary(escapables())))},
|
||||||
{"extended codepoints", ?_assertEqual(ok, ensure_clean(extended_codepoints()))},
|
{"extended codepoints", ?_assertEqual(ok, ensure_clean(extended_codepoints()))},
|
||||||
{"noncharacters", fail_ensure(noncharacters())},
|
fail_ensure(noncharacters(), "noncharacters"),
|
||||||
{"extended noncharacter", fail_ensure(extended_noncharacters())},
|
fail_ensure(extended_noncharacters(), "extended noncharacters"),
|
||||||
{"surrogates", fail_ensure(surrogates())},
|
fail_ensure(surrogates(), "surrogates"),
|
||||||
{"reserved_space", fail_ensure(reserved_space())}
|
fail_ensure(reserved_space(), "reserved space")
|
||||||
].
|
].
|
||||||
|
|
||||||
|
|
||||||
|
@ -698,15 +702,15 @@ clean_test_() ->
|
||||||
codepoints(),
|
codepoints(),
|
||||||
clean(codepoints(), [], #opts{})
|
clean(codepoints(), [], #opts{})
|
||||||
)},
|
)},
|
||||||
{"escapables", fail_clean(escapables())},
|
fail_clean(escapables(), "escapables"),
|
||||||
{"extended codepoints", ?_assertEqual(
|
{"extended codepoints", ?_assertEqual(
|
||||||
extended_codepoints(),
|
extended_codepoints(),
|
||||||
clean(extended_codepoints(), [], #opts{})
|
clean(extended_codepoints(), [], #opts{})
|
||||||
)},
|
)},
|
||||||
{"noncharacters", fail_clean(noncharacters())},
|
fail_clean(noncharacters(), "noncharacters"),
|
||||||
{"extended noncharacter", fail_clean(extended_noncharacters())},
|
fail_clean(extended_noncharacters(), "extended noncharacters"),
|
||||||
{"surrogates", fail_clean(surrogates())},
|
fail_clean(surrogates(), "surrogates"),
|
||||||
{"reserved_space", fail_clean(reserved_space())}
|
fail_clean(reserved_space(), "reserved space")
|
||||||
].
|
].
|
||||||
|
|
||||||
|
|
||||||
|
@ -891,12 +895,12 @@ bad_utf8_test_() ->
|
||||||
<<16#fffd/utf8>>,
|
<<16#fffd/utf8>>,
|
||||||
clean_string(to_fake_utf8(16#ffff), #opts{replaced_bad_utf8=true})
|
clean_string(to_fake_utf8(16#ffff), #opts{replaced_bad_utf8=true})
|
||||||
)},
|
)},
|
||||||
{"extended noncharacters", fail_bad(extended_noncharacters())},
|
fail_bad(extended_noncharacters(), "extended noncharacters"),
|
||||||
{"extended noncharacters replaced", replace_bad(extended_noncharacters())},
|
replace_bad(extended_noncharacters(), "extended noncharacters replaced"),
|
||||||
{"surrogates", fail_bad(surrogates())},
|
fail_bad(surrogates(), "surrogates"),
|
||||||
{"surrogates replaced", replace_bad(surrogates())},
|
replace_bad(surrogates(), "surrogates replaced"),
|
||||||
{"reserved_space", fail_bad(reserved_space())},
|
fail_bad(reserved_space(), "reserved space"),
|
||||||
{"reserved_space replaced", replace_bad(reserved_space())},
|
replace_bad(reserved_space(), "reserved space replaced"),
|
||||||
{"orphan continuation byte u+0080", ?_assertError(
|
{"orphan continuation byte u+0080", ?_assertError(
|
||||||
badarg,
|
badarg,
|
||||||
clean_string(<<16#0080>>, #opts{})
|
clean_string(<<16#0080>>, #opts{})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue