1// 2004-01-26  Paolo Carlini  <pcarlini@suse.de>
2
3// Copyright (C) 2004 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, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19// USA.
20
21// 21.3.5.6 basic_string::replace
22
23#include <string>
24#include <testsuite_hooks.h>
25
26void test01()
27{
28  bool test __attribute__((unused)) = true;
29
30  std::wstring str01(L"Valle Del Salto");
31  str01.replace(0, 5, str01.data() + 10, 5);
32  VERIFY( str01 == L"Salto Del Salto" );
33
34  std::wstring str02(L"Colle di Val d'Elsa");
35  str02.replace(0, 9, str02.data() + 10, 0);
36  VERIFY( str02 == L"Val d'Elsa" );
37
38  std::wstring str03(L"Novi Ligure");
39  str03.replace(11, 0, str03.data() + 4, 7);
40  VERIFY( str03 == L"Novi Ligure Ligure");
41
42  std::wstring str04(L"Trebisacce");
43  str04.replace(3, 4, str04.data(), 0);
44  VERIFY( str04 == L"Trecce" );
45
46  std::wstring str05(L"Altopiano della Sila");
47  str05.replace(1, 18, str05.data() + 19, 1);
48  VERIFY( str05 == L"Aaa" );
49}
50
51int main()
52{
53  test01();
54  return 0;
55}
56