]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
locale_facets.tcc: Tweak to avoid warnings.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 21_strings / basic_string / replace / wchar_t / 3.cc
CommitLineData
61f1ed59
PC
1// 1999-06-10 bkoz
2
3// Copyright (C) 1994, 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
4//
5// This file is part of the GNU ISO C++ Library. This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 2, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
17// with this library; see the file COPYING. If not, write to the Free
18// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19// USA.
20
21// 21.3.5.6 basic_string::replace
22
23#include <string>
24#include <testsuite_hooks.h>
25
26// Some more miscellaneous tests
27void
28test03()
29{
11f10e6b 30 bool test __attribute__((unused)) = true;
61f1ed59
PC
31 const wchar_t* title01 = L"nine types of ambiguity";
32 const wchar_t* title02 = L"ultra";
33 std::wstring str01 = title01;
34 std::wstring str02 = title02;
35
36 str01.replace(0, 4, str02);
37 VERIFY(str01 == L"ultra types of ambiguity");
38
39 str01.replace(15, 9, str02, 2, 2);
40 VERIFY(str01 == L"ultra types of tr");
41
42 str01 = title01;
43 str02.replace(0, 0, str01, 0, std::wstring::npos);
44 VERIFY(str02 == L"nine types of ambiguityultra");
45
46 str02.replace(11, 2, title02, 5);
47 VERIFY(str02 == L"nine types ultra ambiguityultra");
48
49 str02.replace(11, 5, title01, 2);
50 VERIFY(str02 == L"nine types ni ambiguityultra");
51
52 str01.replace(str01.size(), 0, title02);
53 VERIFY(str01 == L"nine types of ambiguityultra");
54
55 str01 = title01;
56 str02 = title02;
57 str01.replace(str01.begin(), str01.end(), str02);
58 VERIFY(str01 == L"ultra");
59
60 str01.replace(str01.begin(), str01.begin(), title01, 4);
61 VERIFY(str01 == L"nineultra");
62
63 str01.replace(str01.end(), str01.end(), title01 + 5, 5);
64 VERIFY(str01 == L"nineultratypes");
65
66 str01.replace(str01.begin(), str01.end(), title02);
67 VERIFY(str01 == L"ultra");
68}
69
70int main()
71{
72 test03();
73 return 0;
74}