// 2010-12-17 Paolo Carlini // // 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 // . // // { dg-options "-std=gnu++0x" } // { dg-require-string-conversions "" } #include #include void test01() { bool test __attribute__((unused)) = true; using std::wstring; VERIFY( (wstring(L"abc") + wstring(L"def") == wstring(L"abcdef")) ); wstring s1(L"abc"); VERIFY( s1 + wstring(L"def") == wstring(L"abcdef") ); wstring s2(L"def"); VERIFY( wstring(L"abc") + s2 == wstring(L"abcdef") ); VERIFY( wstring(L"abc") + L'd' == wstring(L"abcd") ); VERIFY( wstring(L"abc") + L"def" == wstring(L"abcdef") ); VERIFY( L'a' + wstring(L"bcd") == wstring(L"abcd") ); VERIFY( L"abc" + wstring(L"def") == wstring(L"abcdef") ); VERIFY( (wstring(L"abcdefghij") + wstring(L"klmnopqrst") == wstring(L"abcdefghijklmnopqrst")) ); wstring s1l(L"abcdefghij"); VERIFY( (s1l + wstring(L"klmnopqrst") == wstring(L"abcdefghijklmnopqrst")) ); wstring s2l(L"klmnopqrst"); VERIFY( (wstring(L"abcdefghij") + s2l == wstring(L"abcdefghijklmnopqrst")) ); VERIFY( (wstring(L"abcdefghijklmno") + L'p' == wstring(L"abcdefghijklmnop")) ); VERIFY( (wstring(L"abcdefghijklmno") + L"pqrst" == wstring(L"abcdefghijklmnopqrst")) ); VERIFY( (L'a' + wstring(L"bcdefghijklmnop") == wstring(L"abcdefghijklmnop")) ); VERIFY( (L"abcde" + wstring(L"fghijklmnopqrst") == wstring(L"abcdefghijklmnopqrst")) ); VERIFY( (wstring(L"abcdefghijklmnopqrst") + wstring(L"uvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (wstring(L"abcde") + wstring(L"fghijklmnopqrstuvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); wstring s1ll1(L"abcdefghijklmnopqrst"); VERIFY( (s1ll1 + wstring(L"uvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); wstring s1ll2(L"abcde"); VERIFY( (s1ll2 + wstring(L"fghijklmnopqrstuvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); wstring s2ll1(L"fghijklmnopqrstuvwxy"); VERIFY( (wstring(L"abcde") + s2ll1 == wstring(L"abcdefghijklmnopqrstuvwxy")) ); wstring s2ll2(L"uvwxy"); VERIFY( (wstring(L"abcdefghijklmnopqrst") + s2ll2 == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (wstring(L"abcdefghijklmnopqrst") + L'u' == wstring(L"abcdefghijklmnopqrstu")) ); VERIFY( (wstring(L"abcdefghijklmnopqrst") + L"uvwxy" == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (wstring(L"abcde") + L"fghijklmnopqrstuvwxy" == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (L'a' + wstring(L"bcdefghijklmnopqrstuvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (L"abcde" + wstring(L"fghijklmnopqrstuvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); VERIFY( (L"abcdefghijklmnopqrst" + wstring(L"uvwxy") == wstring(L"abcdefghijklmnopqrstuvwxy")) ); } int main() { test01(); return 0; }