diff options
Diffstat (limited to 'libstdc++-v3/testsuite/21_strings/replace.cc')
| -rw-r--r-- | libstdc++-v3/testsuite/21_strings/replace.cc | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/libstdc++-v3/testsuite/21_strings/replace.cc b/libstdc++-v3/testsuite/21_strings/replace.cc index b42ae8d3fa6..aeaba190ecc 100644 --- a/libstdc++-v3/testsuite/21_strings/replace.cc +++ b/libstdc++-v3/testsuite/21_strings/replace.cc @@ -1,6 +1,6 @@ // 1999-06-10 bkoz -// Copyright (C) 1994, 1999 Free Software Foundation, Inc. +// Copyright (C) 1994, 1999, 2001, 2002 Free Software Foundation, Inc. // // 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 @@ -96,9 +96,53 @@ test02() VERIFY(aux == "../the lone long pier/Hanr/Hanalei Bay/Kauai/Hawaii"); } +// Some more miscellaneous tests +void +test03() +{ + const char* title01 = "nine types of ambiguity"; + const char* title02 = "ultra"; + std::string str01 = title01; + std::string str02 = title02; + + str01.replace(0, 4, str02); + VERIFY(str01 == "ultra types of ambiguity"); + + str01.replace(15, 9, str02, 2, 2); + VERIFY(str01 == "ultra types of tr"); + + str01 = title01; + str02.replace(0, 0, str01, 0, std::string::npos); + VERIFY(str02 == "nine types of ambiguityultra"); + + str02.replace(11, 2, title02, 5); + VERIFY(str02 == "nine types ultra ambiguityultra"); + + str02.replace(11, 5, title01, 2); + VERIFY(str02 == "nine types ni ambiguityultra"); + + str01.replace(str01.size(), 0, title02); + VERIFY(str01 == "nine types of ambiguityultra"); + + str01 = title01; + str02 = title02; + str01.replace(str01.begin(), str01.end(), str02); + VERIFY(str01 == "ultra"); + + str01.replace(str01.begin(), str01.begin(), title01, 4); + VERIFY(str01 == "nineultra"); + + str01.replace(str01.end(), str01.end(), title01 + 5, 5); + VERIFY(str01 == "nineultratypes"); + + str01.replace(str01.begin(), str01.end(), title02); + VERIFY(str01 == "ultra"); +} + int main() { test01(); test02(); + test03(); return 0; } |

