]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2001-08-18 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Aug 2001 00:20:07 +0000 (00:20 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Aug 2001 00:20:07 +0000 (00:20 +0000)
* testsuite/22_locale/operators.cc: Add test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45015 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/22_locale/operators.cc

index 71496a4607adefcd6b460c63d6e7cdd17df52c43..c8cd76c365c18c1c362b4d814ccf0369360f68a3 100644 (file)
@@ -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. 
index 2b9cd337da721b834f10d244c86bd11844c49ad0..f21f157eede8eebf6441fd5f145a944d7fd64c74 100644 (file)
@@ -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;
 }
+
+
+