X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=libstdc%2B%2B-v3%2Ftestsuite%2F22_locale%2Fcollate_byname.cc;fp=libstdc%2B%2B-v3%2Ftestsuite%2F22_locale%2Fcollate_byname.cc;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=a4d76829b21a70fc3d3c92cf8bb719e8a080e123;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libstdc++-v3/testsuite/22_locale/collate_byname.cc b/libstdc++-v3/testsuite/22_locale/collate_byname.cc deleted file mode 100644 index a4d76829..00000000 --- a/libstdc++-v3/testsuite/22_locale/collate_byname.cc +++ /dev/null @@ -1,140 +0,0 @@ -// 2001-08-15 Benjamin Kosnik - -// Copyright (C) 2001, 2002 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 -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 22.2.4.2 Template class collate_byname - -#include -#include - -// XXX This test is not working for non-glibc locale models. -// { dg-do run { xfail *-*-* } } - -void test01() -{ - using namespace std; - typedef std::collate::string_type string_type; - - bool test = true; - string str; - locale loc_c = locale::classic(); - - locale loc_byname(locale::classic(), new collate_byname("de_DE")); - str = loc_byname.name(); - - locale loc_de("de_DE"); - str = loc_de.name(); - - VERIFY( loc_de != loc_byname ); - - // cache the collate facets - const collate& coll_byname = use_facet >(loc_byname); - const collate& coll_de = use_facet >(loc_de); - - // Check German "de_DE" locale. - int i1; - int i2; - long l1; - long l2; - const char* strlit3 = "Äuglein Augment"; // "C" == "Augment Äuglein" - const char* strlit4 = "Base baß Baß Bast"; // "C" == "Base baß Baß Bast" - - int size3 = strlen(strlit3) - 1; - i1 = coll_de.compare(strlit3, strlit3 + size3, strlit3, strlit3 + 7); - VERIFY ( i1 == 1 ); - i1 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + size3); - 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 == -1 ); - - int size4 = strlen(strlit4) - 1; - i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + 13); - VERIFY ( i2 == 1 ); - i2 = coll_de.compare(strlit4, strlit4 + 13, strlit4, strlit4 + size4); - VERIFY ( i2 == -1 ); - i2 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + size4); - VERIFY ( i2 == 0 ); - - l1 = coll_de.hash(strlit3, strlit3 + size3); - l2 = coll_de.hash(strlit3, strlit3 + size3 - 1); - VERIFY ( l1 != l2 ); - l1 = coll_de.hash(strlit3, strlit3 + size3); - l2 = coll_de.hash(strlit4, strlit4 + size4); - VERIFY ( l1 != l2 ); - - string str3 = coll_de.transform(strlit3, strlit3 + size3); - string str4 = coll_de.transform(strlit4, strlit4 + size4); - i1 = str3.compare(str4); - i2 = coll_de.compare(strlit3, strlit3 + size3, strlit4, strlit4 + size4); - VERIFY ( i2 == -1 ); - VERIFY ( i1 * i2 > 0 ); - - - // Check byname locale - int i3; - int i4; - long l3; - long l4; - size4 = strlen(strlit3) - 1; - i3 = coll_de.compare(strlit3, strlit3 + size4, strlit3, strlit3 + 7); - VERIFY ( i3 == 1 ); - i3 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + size4); - VERIFY ( i3 == -1 ); - i3 = coll_de.compare(strlit3, strlit3 + 7, strlit3, strlit3 + 7); - VERIFY ( i3 == 0 ); - - i3 = coll_de.compare(strlit3, strlit3 + 6, strlit3 + 8, strlit3 + 14); - VERIFY ( i3 == -1 ); - - size4 = strlen(strlit4) - 1; - i4 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + 13); - VERIFY ( i4 == 1 ); - i4 = coll_de.compare(strlit4, strlit4 + 13, strlit4, strlit4 + size4); - VERIFY ( i4 == -1 ); - i4 = coll_de.compare(strlit4, strlit4 + size4, strlit4, strlit4 + size4); - VERIFY ( i4 == 0 ); - - l3 = coll_de.hash(strlit3, strlit3 + size4); - l4 = coll_de.hash(strlit3, strlit3 + size4 - 1); - VERIFY ( l3 != l4 ); - l3 = coll_de.hash(strlit3, strlit3 + size4); - l4 = coll_de.hash(strlit4, strlit4 + size4); - VERIFY ( l3 != l4 ); - - string str5 = coll_de.transform(strlit3, strlit3 + size3); - string str6 = coll_de.transform(strlit4, strlit4 + size4); - i3 = str5.compare(str6); - i4 = coll_de.compare(strlit3, strlit3 + size4, strlit4, strlit4 + size4); - VERIFY ( i4 == -1 ); - VERIFY ( i3 * i4 > 0 ); - - // Verify byname == de - VERIFY ( str5 == str3 ); - VERIFY ( str6 == str4 ); -} - -int main() -{ - test01(); - - return 0; -}