operators.cc: Add test.
2001-08-18 Benjamin Kosnik <bkoz@redhat.com> * testsuite/22_locale/operators.cc: Add test. From-SVN: r45015
This commit is contained in:
parent
5ed3149cb0
commit
9f530faf18
|
@ -1,3 +1,7 @@
|
|||
2001-08-18 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* testsuite/22_locale/operators.cc: Add test.
|
||||
|
||||
2001-08-17 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
Implement std::collate.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// 2000-09-11 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
// Copyright (C) 2000 Free Software Foundation
|
||||
// Copyright (C) 2000, 2001 Free Software Foundation
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -46,9 +46,42 @@ void test01()
|
|||
VERIFY( loc(str1, str2) == false );
|
||||
}
|
||||
|
||||
// bool operator()(const string_type&, const string_type&) const
|
||||
typedef std::collate<char> ccollate;
|
||||
long gnu_count;
|
||||
class gnu_collate: public ccollate
|
||||
{
|
||||
protected:
|
||||
virtual int
|
||||
do_compare(const char*, const char*, const char*, const char*) const
|
||||
{ ++gnu_count; }
|
||||
};
|
||||
|
||||
void test02()
|
||||
{
|
||||
using namespace std;
|
||||
bool test = true;
|
||||
|
||||
// Sanity check.
|
||||
locale loc_c = locale::classic();
|
||||
string s01("land of ");
|
||||
string s02("land of look behind");
|
||||
VERIFY( !loc_c(s01, s01) );
|
||||
VERIFY( loc_c(s01, s02) );
|
||||
|
||||
// Derivation, MF check.
|
||||
locale loc_gnu(loc_c, new gnu_collate);
|
||||
gnu_count = 0;
|
||||
loc_gnu(s01, s02);
|
||||
VERIFY( gnu_count == 1 );
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
test01();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue