]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 21_strings / basic_string_view / modifiers / remove_suffix / wchar_t / 1.cc
CommitLineData
ca8f2cb1 1// { dg-options "-std=gnu++17" }
6458742a 2// { dg-do run { target c++17 } }
ca8f2cb1 3
99dee823 4// Copyright (C) 2013-2021 Free Software Foundation, Inc.
ca8f2cb1
VV
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
9// Free Software Foundation; either version 3, or (at your option)
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
20
21#include <string_view>
22#include <testsuite_hooks.h>
23
24void
25test01()
26{
ca8f2cb1
VV
27 using std::wstring_view;
28
29 wstring_view str0{L"olympus mons"};
fb8b3e29 30 wstring_view::const_pointer p = str0.data();
ca8f2cb1
VV
31 str0.remove_suffix(2);
32 VERIFY( str0.data() == p);
33 VERIFY( str0.length() == 10 );
34 VERIFY( str0 == wstring_view{L"olympus mo"} );
35}
36
c5ae1a27
JW
37constexpr bool
38test02()
39{
40 using std::wstring_view;
41
42 wstring_view str0{L"olympus mons"};
fb8b3e29 43 wstring_view::const_pointer p = str0.data();
c5ae1a27
JW
44 str0.remove_suffix(2);
45 if ( str0.data() != p)
46 return false;
47 if ( str0.length() != 10 )
48 return false;
49 if ( str0 != wstring_view{L"olympus mo"} )
50 return false;
51
52 return true;
53}
54
ca8f2cb1
VV
55int
56main()
57{
58 test01();
c5ae1a27 59 static_assert( test02() );
ca8f2cb1
VV
60
61 return 0;
62}