diff options
author | robot-piglet <robot-piglet@yandex-team.com> | 2024-06-13 16:36:24 +0300 |
---|---|---|
committer | robot-piglet <robot-piglet@yandex-team.com> | 2024-06-13 16:52:49 +0300 |
commit | be8f62f3ccb954ba45fbf627ce418b5b0c2aaa19 (patch) | |
tree | b56ff8e1644db4248591a78a0a775d98178dee26 | |
parent | 447c36130786f4d7ceb6ffb5f4dcc5f8181bb812 (diff) | |
download | ydb-be8f62f3ccb954ba45fbf627ce418b5b0c2aaa19.tar.gz |
Intermediate changes
-rw-r--r-- | library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp b/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp index fa37e075b8..cecd6f5044 100644 --- a/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp +++ b/library/cpp/case_insensitive_string/ut_gtest/case_insensitive_string_compare.cpp @@ -54,21 +54,24 @@ TEST(CaseInsensitiveAsciiString, CompareAsciiWithoutNullBytes) { } } -TEST(CaseInsensitiveAsciiString, MaySupportLocales) { +TEST(CaseInsensitiveAsciiString, UnspecifiedBehaviorForNonAsciiStrings) { TLocaleGuard loc("ru_RU.CP1251"); if (loc.Error()) { GTEST_SKIP() << "ru_RU.CP1251 locale is not available: " << loc.Error(); } - // strncasecmp is locale-dependent, not sure about strnicmp + // - strncasecmp in glibc is locale-dependent. + // - not sure about strnicmp (probably also locale-dependent). + // - strncasecmp in musl and bionic ignores locales. + // - ASan interceptor for strncasecmp ignores locales { - TCaseInsensitiveStringBuf s1 = "\xc0\xc1\xc2"; // "АБВ" - TCaseInsensitiveStringBuf s2 = "\xe0\xe1\xe2"; // "абв" - EXPECT_EQ(s1, s2); + TCaseInsensitiveAsciiStringBuf s1 = "\xc0\xc1\xc2"; // "АБВ" + TCaseInsensitiveAsciiStringBuf s2 = "\xe0\xe1\xe2"; // "абв" + EXPECT_TRUE(s1 == s2 || s1 < s2); } { - TCaseInsensitiveStringBuf s1 = "\xc0\xc1\xc3"; // "АБГ" - TCaseInsensitiveStringBuf s2 = "\xe0\xe1\xe2"; // "абв" - EXPECT_GT(s1, s2); + TCaseInsensitiveAsciiStringBuf s1 = "\xc0\xc1\xc3"; // "АБГ" + TCaseInsensitiveAsciiStringBuf s2 = "\xe0\xe1\xe2"; // "абв" + EXPECT_TRUE(s1 > s2 || s1 < s2); } } |