diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2010-12-19 12:15:47 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2010-12-19 12:15:47 +0000 |
commit | 2f8bed161326b1ffd27a3614ac8d8391a5eb7dd0 (patch) | |
tree | 3c1bbda321855f756da6522f175555bfe48c560d /libstdc++-v3/testsuite/ext | |
parent | b48feb9dd8ddf488bcd619b41cee07b9d8d740d0 (diff) | |
download | gcc-2f8bed161326b1ffd27a3614ac8d8391a5eb7dd0.zip gcc-2f8bed161326b1ffd27a3614ac8d8391a5eb7dd0.tar.gz gcc-2f8bed161326b1ffd27a3614ac8d8391a5eb7dd0.tar.bz2 |
4.cc: New.
2010-12-19 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/21_strings/basic_string/operators/char/4.cc: New.
* testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise.
* testsuite/ext/vstring/operators/2.cc: Likewise.
From-SVN: r168048
Diffstat (limited to 'libstdc++-v3/testsuite/ext')
-rw-r--r-- | libstdc++-v3/testsuite/ext/vstring/operators/2.cc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/ext/vstring/operators/2.cc b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc new file mode 100644 index 0000000..7561fbd --- /dev/null +++ b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc @@ -0,0 +1,79 @@ +// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, 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 COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <ext/vstring.h> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using __gnu_cxx::__vstring; + using std::move; + + __vstring s01("abc"); + s01.reserve(30); + __vstring s02("def"); + s02.reserve(30); + VERIFY( move(s01) + move(s02) == __vstring("abcdef") ); + + __vstring s03("abcdefghijklmnopqrstuvw"); + __vstring s04("xyz"); + s04.reserve(30); + VERIFY( move(s03) + move(s04) == __vstring("abcdefghijklmnopqrstuvwxyz") ); + + __vstring s05("abc"); + s05.reserve(30); + __vstring s06("defghijklmnopqrstuvwxyz"); + VERIFY( move(s05) + move(s06) == __vstring("abcdefghijklmnopqrstuvwxyz") ); + + const __vstring sc1("abc"); + __vstring s07("def"); + s07.reserve(30); + VERIFY( sc1 + move(s07) == __vstring("abcdef") ); + + const __vstring sc2("def"); + __vstring s08("abc"); + s08.reserve(30); + VERIFY( move(s08) + sc2 == __vstring("abcdef") ); + + __vstring s09("abc"); + s09.reserve(30); + VERIFY( move(s09) + 'd' == __vstring("abcd") ); + + __vstring s10("abc"); + s10.reserve(30); + VERIFY( move(s10) + "def" == __vstring("abcdef") ); + + __vstring s11("bcd"); + s11.reserve(30); + VERIFY( 'a' + move(s11) == __vstring("abcd") ); + + __vstring s12("def"); + s12.reserve(30); + VERIFY( "abc" + move(s12) == __vstring("abcdef") ); +} + +int main() +{ + test01(); + return 0; +} |