aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@unitus.it>2002-03-15 17:05:56 +0100
committerPaolo Carlini <paolo@gcc.gnu.org>2002-03-15 16:05:56 +0000
commit53723190aa2271686e9ec8b3dd030a4bdeeb8a15 (patch)
treeccc21d0899c149b2529476428643acc053447f08
parent190f491640e073c03fbdfa3c4f830331f9e9262b (diff)
downloadgcc-53723190aa2271686e9ec8b3dd030a4bdeeb8a15.zip
gcc-53723190aa2271686e9ec8b3dd030a4bdeeb8a15.tar.gz
gcc-53723190aa2271686e9ec8b3dd030a4bdeeb8a15.tar.bz2
2002-03-15 Paolo Carlini <pcarlini@unitus.it>
* 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
-rw-r--r--libstdc++-v3/ChangeLog10
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_members_char.cc30
-rw-r--r--libstdc++-v3/testsuite/22_locale/collate_members_wchar_t.cc30
3 files changed, 40 insertions, 30 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b50e228..910c04c 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,13 @@
+2002-03-15 Paolo Carlini <pcarlini@unitus.it>
+
+ * 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 <ljrittle@acm.org>
reported by Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
diff --git a/libstdc++-v3/testsuite/22_locale/collate_members_char.cc b/libstdc++-v3/testsuite/22_locale/collate_members_char.cc
index 9e49cbc..f45ffd9 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 88e72e0..5df42fe 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<wchar_t>::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<wchar_t>::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<wchar_t>::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<wchar_t>::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