From: Paolo Carlini Date: Fri, 15 Mar 2002 16:05:56 +0000 (+0100) Subject: 2002-03-15 Paolo Carlini X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=53723190aa2271686e9ec8b3dd030a4bdeeb8a15;p=gcc.git 2002-03-15 Paolo Carlini * testsuite/22_locale/collate_members_char.cc (test01): compare the result of collate::compare with that of collate::transform + string::compare, not with that of collate::transform + collate::compare. (test01): values returned by collate::compare are normalized, therefore test against +-1. * testsuite/22_locale/collate_members_wchar_t.cc: Ditto. From-SVN: r50808 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b50e228a264..910c04c1891 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2002-03-15 Paolo Carlini + + * testsuite/22_locale/collate_members_char.cc + (test01): compare the result of collate::compare with + that of collate::transform + string::compare, not with + that of collate::transform + collate::compare. + (test01): values returned by collate::compare are + normalized, therefore test against +-1. + * testsuite/22_locale/collate_members_wchar_t.cc: Ditto. + 2002-03-12 Loren Rittle reported by Peter Schmid diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc index 9e49cbc2f54..f45ffd9d4aa 100644 --- a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc +++ b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc @@ -60,18 +60,18 @@ void test01() int i1; int size1 = strlen(strlit1) - 1; i1 = coll_c.compare(strlit1, strlit1 + size1, strlit1, strlit1 + 7); - VERIFY ( i1 > 0 ); + VERIFY ( i1 == 1 ); i1 = coll_c.compare(strlit1, strlit1 + 7, strlit1, strlit1 + size1); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); i1 = coll_c.compare(strlit1, strlit1 + 7, strlit1, strlit1 + 7); VERIFY ( i1 == 0 ); int i2; int size2 = strlen(strlit2) - 1; i2 = coll_c.compare(strlit2, strlit2 + size2, strlit2, strlit2 + 13); - VERIFY ( i2 > 0 ); + VERIFY ( i2 == 1 ); i2 = coll_c.compare(strlit2, strlit2 + 13, strlit2, strlit2 + size2); - VERIFY ( i2 < 0 ); + VERIFY ( i2 == -1 ); i2 = coll_c.compare(strlit2, strlit2 + size2, strlit2, strlit2 + size2); VERIFY ( i2 == 0 ); @@ -86,10 +86,10 @@ void test01() string str1 = coll_c.transform(strlit1, strlit1 + size1); string str2 = coll_c.transform(strlit2, strlit2 + size2); - i1 = coll_c.compare(str1.c_str(), str1.c_str() + size1, - str2.c_str(), str2.c_str() + size2); + i1 = str1.compare(str2); i2 = coll_c.compare(strlit1, strlit1 + size1, strlit2, strlit2 + size2); - VERIFY(i1 == i2); + VERIFY ( i2 == 1 ); + VERIFY ( i1 * i2 > 0 ); // Check German "de_DE" locale. const char* strlit3 = "Äuglein Augment"; // "C" == "Augment Äuglein" @@ -97,20 +97,20 @@ void test01() int size3 = strlen(strlit3) - 1; i1 = coll_de.compare(strlit3, strlit3 + size3, strlit3, strlit3 + 7); - VERIFY ( i1 > 0 ); + VERIFY ( i1 == 1 ); i1 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + size1); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); i1 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + 7); VERIFY ( i1 == 0 ); i1 = coll_de.compare(strlit3, strlit3 + 6, strlit3 + 8, strlit3 + 14); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); int size4 = strlen(strlit4) - 1; i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + 13); - VERIFY ( i2 > 0 ); + VERIFY ( i2 == 1 ); i2 = coll_de.compare(strlit4, strlit4 + 13, strlit4, strlit4 + size4); - VERIFY ( i2 < 0 ); + VERIFY ( i2 == -1 ); i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + size4); VERIFY ( i2 == 0 ); @@ -123,10 +123,10 @@ void test01() string str3 = coll_de.transform(strlit3, strlit3 + size3); string str4 = coll_de.transform(strlit4, strlit4 + size4); - i1 = coll_de.compare(str3.c_str(), str3.c_str() + size3, - str4.c_str(), str4.c_str() + size4); + i1 = str3.compare(str4); i2 = coll_de.compare(strlit3, strlit3 + size3, strlit4, strlit4 + size4); - VERIFY(i1 == i2); + VERIFY ( i2 == -1 ); + VERIFY ( i1 * i2 > 0 ); } // libstdc++/5280 diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc index 88e72e07100..5df42fe15d9 100644 --- a/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc +++ b/libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc @@ -60,18 +60,18 @@ void test01() int i1; int size1 = char_traits::length(strlit1) - 1; i1 = coll_c.compare(strlit1, strlit1 + size1, strlit1, strlit1 + 7); - VERIFY ( i1 > 0 ); + VERIFY ( i1 == 1 ); i1 = coll_c.compare(strlit1, strlit1 + 7, strlit1, strlit1 + size1); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); i1 = coll_c.compare(strlit1, strlit1 + 7, strlit1, strlit1 + 7); VERIFY ( i1 == 0 ); int i2; int size2 = char_traits::length(strlit2) - 1; i2 = coll_c.compare(strlit2, strlit2 + size2, strlit2, strlit2 + 13); - VERIFY ( i2 > 0 ); + VERIFY ( i2 == 1 ); i2 = coll_c.compare(strlit2, strlit2 + 13, strlit2, strlit2 + size2); - VERIFY ( i2 < 0 ); + VERIFY ( i2 == -1 ); i2 = coll_c.compare(strlit2, strlit2 + size2, strlit2, strlit2 + size2); VERIFY ( i2 == 0 ); @@ -86,10 +86,10 @@ void test01() wstring str1 = coll_c.transform(strlit1, strlit1 + size1); wstring str2 = coll_c.transform(strlit2, strlit2 + size2); - i1 = coll_c.compare(str1.c_str(), str1.c_str() + size1, - str2.c_str(), str2.c_str() + size2); + i1 = str1.compare(str2); i2 = coll_c.compare(strlit1, strlit1 + size1, strlit2, strlit2 + size2); - VERIFY(i1 == i2); + VERIFY ( i2 == 1 ); + VERIFY ( i1 * i2 > 0 ); // Check German "de_DE" locale. const wchar_t* strlit3 = L"Äuglein Augment"; // "C" == "Augment Äuglein" @@ -97,20 +97,20 @@ void test01() int size3 = char_traits::length(strlit3) - 1; i1 = coll_de.compare(strlit3, strlit3 + size3, strlit3, strlit3 + 7); - VERIFY ( i1 > 0 ); + VERIFY ( i1 == 1 ); i1 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + size1); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); i1 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + 7); VERIFY ( i1 == 0 ); i1 = coll_de.compare(strlit3, strlit3 + 6, strlit3 + 8, strlit3 + 14); - VERIFY ( i1 < 0 ); + VERIFY ( i1 == -1 ); int size4 = char_traits::length(strlit4) - 1; i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + 13); - VERIFY ( i2 > 0 ); + VERIFY ( i2 == 1 ); i2 = coll_de.compare(strlit4, strlit4 + 13, strlit4, strlit4 + size4); - VERIFY ( i2 < 0 ); + VERIFY ( i2 == -1 ); i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + size4); VERIFY ( i2 == 0 ); @@ -123,10 +123,10 @@ void test01() wstring str3 = coll_de.transform(strlit3, strlit3 + size3); wstring str4 = coll_de.transform(strlit4, strlit4 + size4); - i1 = coll_de.compare(str3.c_str(), str3.c_str() + size3, - str4.c_str(), str4.c_str() + size4); + i1 = str3.compare(str4); i2 = coll_de.compare(strlit3, strlit3 + size3, strlit4, strlit4 + size4); - VERIFY(i1 == i2); + VERIFY ( i2 == -1 ); + VERIFY ( i1 * i2 > 0 ); } // libstdc++/5280