diff options
| author | Nikolas Klauser <nikolasklauser@berlin.de> | 2022-02-10 16:51:04 +0100 |
|---|---|---|
| committer | Nikolas Klauser <nikolasklauser@berlin.de> | 2022-02-10 21:43:18 +0100 |
| commit | dcffa7d3e140cf2e2a80f93168b40c449bc1d230 (patch) | |
| tree | 7b579d107fa88554045da5ab2b0ca5370b9c46b0 /libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp | |
| parent | e43b1ce4d52dc9da7b8b6385943d8e91d7bb223f (diff) | |
[libc++] Prepare string.modifiers tests for constexpr
Reviewed By: ldionne, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D119329
Diffstat (limited to 'libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp')
| -rw-r--r-- | libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp index 129389a9a7b0..3b8e63b9a7fc 100644 --- a/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_insert/string_view.pass.cpp @@ -19,7 +19,7 @@ #include "min_allocator.h" template <class S, class SV> -void +TEST_CONSTEXPR_CXX20 void test(S s, typename S::size_type pos, SV sv, S expected) { const typename S::size_type old_size = s.size(); @@ -47,9 +47,8 @@ test(S s, typename S::size_type pos, SV sv, S expected) #endif } -int main(int, char**) -{ - { +bool test() { + { typedef std::string S; typedef std::string_view SV; test(S(""), 0, SV(""), S("")); @@ -132,9 +131,9 @@ int main(int, char**) test(S("abcdefghijklmnopqrst"), 21, SV("12345"), S("can't happen")); test(S("abcdefghijklmnopqrst"), 21, SV("1234567890"), S("can't happen")); test(S("abcdefghijklmnopqrst"), 21, SV("12345678901234567890"), S("can't happen")); - } + } #if TEST_STD_VER >= 11 - { + { typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; typedef std::string_view SV; test(S(""), 0, SV(""), S("")); @@ -217,10 +216,10 @@ int main(int, char**) test(S("abcdefghijklmnopqrst"), 21, SV("12345"), S("can't happen")); test(S("abcdefghijklmnopqrst"), 21, SV("1234567890"), S("can't happen")); test(S("abcdefghijklmnopqrst"), 21, SV("12345678901234567890"), S("can't happen")); - } + } #endif - { // test inserting into self + { // test inserting into self typedef std::string S; S s_short = "123/"; S s_long = "Lorem ipsum dolor sit amet, consectetur/"; @@ -234,7 +233,17 @@ int main(int, char**) s_long.insert(0, s_long.c_str()); assert(s_long == "Lorem ipsum dolor sit amet, consectetur/Lorem ipsum dolor sit amet, consectetur/"); - } + } + + return true; +} + +int main(int, char**) +{ + test(); +#if TEST_STD_VER > 17 + // static_assert(test()); +#endif return 0; } |
