From: Douglas Bagnall Date: Sat, 13 Apr 2024 05:07:20 +0000 (+1200) Subject: lib:util:tests: more tests for codepoint_cmpi X-Git-Tag: tdb-1.4.11~825 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=310d59c7cc38f82e2906c4a5c80db140ad2a1548;p=thirdparty%2Fsamba.git lib:util:tests: more tests for codepoint_cmpi is codepoint_cmpi as case-insensitive as it claims when it comes to inequalities? (no, it is not!). Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/lib/util/charset/tests/charset.c b/lib/util/charset/tests/charset.c index bca5449c579..46f89cb9ef4 100644 --- a/lib/util/charset/tests/charset.c +++ b/lib/util/charset/tests/charset.c @@ -47,7 +47,16 @@ static bool test_codepoint_cmpi(struct torture_context *tctx) torture_assert_int_equal(tctx, codepoint_cmpi('a', 'a'), 0, "same char"); torture_assert_int_equal(tctx, codepoint_cmpi('A', 'a'), 0, "upcase version"); torture_assert_int_equal(tctx, codepoint_cmpi('b', 'a'), 1, "right diff"); - torture_assert_int_equal(tctx, codepoint_cmpi('a', 'b'), -1, "right diff"); + torture_assert_int_equal(tctx, codepoint_cmpi('b', 'A'), 1, "left greater, mixed case"); + torture_assert_int_equal(tctx, codepoint_cmpi('C', 'a'), 1, "left greater, mixed case"); + torture_assert_int_equal(tctx, codepoint_cmpi('a', 'b'), -1, "right greater"); + torture_assert_int_equal(tctx, codepoint_cmpi('A', 'B'), -1, "right greater, upper case"); + torture_assert_int_equal(tctx, codepoint_cmpi(0xc5, 0xc5), 0, + "Latin Capital Letter A with Ring Above"); + torture_assert_int_equal(tctx, codepoint_cmpi(0xc5, 0xe5), 0, + "Latin both Letter A with Ring Above, lower right"); + torture_assert_int_equal(tctx, codepoint_cmpi(0xe5, 0xde), -1, + "å < Þ"); return true; } diff --git a/selftest/knownfail.d/codepoint_cmpi b/selftest/knownfail.d/codepoint_cmpi new file mode 100644 index 00000000000..4d0a08fedb4 --- /dev/null +++ b/selftest/knownfail.d/codepoint_cmpi @@ -0,0 +1 @@ +^samba4.local.charset.codepoint_cmpi