diff options
| author | Brendan Emery <brendan.emery@esrlabs.com> | 2023-09-01 13:27:26 -0400 |
|---|---|---|
| committer | Louis Dionne <ldionne.2@gmail.com> | 2023-09-01 13:35:18 -0400 |
| commit | a40bada91aeda276a772acfbcae6e8de26755a11 (patch) | |
| tree | 7172f9ff2e363d52f1f314fdc4555fdfbd35289b /libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp | |
| parent | 823151f0cfc8f031bcecb15c8246b5649e87b31a (diff) | |
[libc++] Apply clang formatting to all string unit tests
This applies clang-format to the std::string unit tests in preparation
for landing https://reviews.llvm.org/D140550.
Differential Revision: https://reviews.llvm.org/D140612
Diffstat (limited to 'libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp')
| -rw-r--r-- | libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp | 207 |
1 files changed, 118 insertions, 89 deletions
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp index cf7405313647..6502e630d928 100644 --- a/libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp +++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp @@ -19,36 +19,35 @@ #include "min_allocator.h" template <class S, class It> -TEST_CONSTEXPR_CXX20 void -test(S s, It first, It last, S expected) -{ - s.append(first, last); - LIBCPP_ASSERT(s.__invariants()); - assert(s == expected); +TEST_CONSTEXPR_CXX20 void test(S s, It first, It last, S expected) { + s.append(first, last); + LIBCPP_ASSERT(s.__invariants()); + assert(s == expected); } #ifndef TEST_HAS_NO_EXCEPTIONS -struct Widget { operator char() const { throw 42; } }; +struct Widget { + operator char() const { throw 42; } +}; template <class S, class It> -TEST_CONSTEXPR_CXX20 void -test_exceptions(S s, It first, It last) -{ - S original = s; - typename S::iterator begin = s.begin(); - typename S::iterator end = s.end(); - - try { - s.append(first, last); - assert(false); - } catch (...) {} - - // Part of "no effects" is that iterators and pointers - // into the string must not have been invalidated. - LIBCPP_ASSERT(s.__invariants()); - assert(s == original); - assert(s.begin() == begin); - assert(s.end() == end); +TEST_CONSTEXPR_CXX20 void test_exceptions(S s, It first, It last) { + S original = s; + typename S::iterator begin = s.begin(); + typename S::iterator end = s.end(); + + try { + s.append(first, last); + assert(false); + } catch (...) { + } + + // Part of "no effects" is that iterators and pointers + // into the string must not have been invalidated. + LIBCPP_ASSERT(s.__invariants()); + assert(s == original); + assert(s.begin() == begin); + assert(s.end() == end); } #endif @@ -56,59 +55,89 @@ template <class S> TEST_CONSTEXPR_CXX20 void test_string() { const char* s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; test(S(), s, s, S()); - test(S(), s, s+1, S("A")); - test(S(), s, s+10, S("ABCDEFGHIJ")); - test(S(), s, s+52, S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + test(S(), s, s + 1, S("A")); + test(S(), s, s + 10, S("ABCDEFGHIJ")); + test(S(), s, s + 52, S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); test(S("12345"), s, s, S("12345")); - test(S("12345"), s, s+1, S("12345A")); - test(S("12345"), s, s+10, S("12345ABCDEFGHIJ")); - test(S("12345"), s, s+52, S("12345ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + test(S("12345"), s, s + 1, S("12345A")); + test(S("12345"), s, s + 10, S("12345ABCDEFGHIJ")); + test(S("12345"), s, s + 52, S("12345ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); test(S("1234567890"), s, s, S("1234567890")); - test(S("1234567890"), s, s+1, S("1234567890A")); - test(S("1234567890"), s, s+10, S("1234567890ABCDEFGHIJ")); - test(S("1234567890"), s, s+52, S("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + test(S("1234567890"), s, s + 1, S("1234567890A")); + test(S("1234567890"), s, s + 10, S("1234567890ABCDEFGHIJ")); + test(S("1234567890"), s, s + 52, S("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); test(S("12345678901234567890"), s, s, S("12345678901234567890")); - test(S("12345678901234567890"), s, s+1, S("12345678901234567890""A")); - test(S("12345678901234567890"), s, s+10, S("12345678901234567890""ABCDEFGHIJ")); - test(S("12345678901234567890"), s, s+52, - S("12345678901234567890""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + test(S("12345678901234567890"), + s, + s + 1, + S("12345678901234567890" + "A")); + test(S("12345678901234567890"), + s, + s + 10, + S("12345678901234567890" + "ABCDEFGHIJ")); + test(S("12345678901234567890"), + s, + s + 52, + S("12345678901234567890" + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), S()); - test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+1), S("A")); - test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+10), - S("ABCDEFGHIJ")); - test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+52), - S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); - - test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), - S("12345")); - test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+1), - S("12345A")); - test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+10), - S("12345ABCDEFGHIJ")); - test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+52), - S("12345ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); - - test(S("1234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), - S("1234567890")); - test(S("1234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+1), - S("1234567890A")); - test(S("1234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+10), - S("1234567890ABCDEFGHIJ")); - test(S("1234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+52), - S("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); - - test(S("12345678901234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), - S("12345678901234567890")); - test(S("12345678901234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+1), - S("12345678901234567890""A")); - test(S("12345678901234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+10), - S("12345678901234567890""ABCDEFGHIJ")); - test(S("12345678901234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s+52), - S("12345678901234567890""ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s + 1), S("A")); + test(S(), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s + 10), S("ABCDEFGHIJ")); + test(S(), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 52), + S("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), S("12345")); + test(S("12345"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s + 1), S("12345A")); + test(S("12345"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 10), + S("12345ABCDEFGHIJ")); + test(S("12345"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 52), + S("12345ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("1234567890"), cpp17_input_iterator<const char*>(s), cpp17_input_iterator<const char*>(s), S("1234567890")); + test(S("1234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 1), + S("1234567890A")); + test(S("1234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 10), + S("1234567890ABCDEFGHIJ")); + test(S("1234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 52), + S("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); + + test(S("12345678901234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s), + S("12345678901234567890")); + test(S("12345678901234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 1), + S("12345678901234567890" + "A")); + test(S("12345678901234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 10), + S("12345678901234567890" + "ABCDEFGHIJ")); + test(S("12345678901234567890"), + cpp17_input_iterator<const char*>(s), + cpp17_input_iterator<const char*>(s + 52), + S("12345678901234567890" + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")); } TEST_CONSTEXPR_CXX20 bool test() { @@ -123,16 +152,16 @@ TEST_CONSTEXPR_CXX20 bool test() { typedef ThrowingIterator<char> TIter; typedef cpp17_input_iterator<TIter> IIter; const char* s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - test_exceptions(S(), IIter(TIter(s, s+10, 4, TIter::TAIncrement)), IIter(TIter())); - test_exceptions(S(), IIter(TIter(s, s+10, 5, TIter::TADereference)), IIter(TIter())); - test_exceptions(S(), IIter(TIter(s, s+10, 6, TIter::TAComparison)), IIter(TIter())); + test_exceptions(S(), IIter(TIter(s, s + 10, 4, TIter::TAIncrement)), IIter(TIter())); + test_exceptions(S(), IIter(TIter(s, s + 10, 5, TIter::TADereference)), IIter(TIter())); + test_exceptions(S(), IIter(TIter(s, s + 10, 6, TIter::TAComparison)), IIter(TIter())); - test_exceptions(S(), TIter(s, s+10, 4, TIter::TAIncrement), TIter()); - test_exceptions(S(), TIter(s, s+10, 5, TIter::TADereference), TIter()); - test_exceptions(S(), TIter(s, s+10, 6, TIter::TAComparison), TIter()); + test_exceptions(S(), TIter(s, s + 10, 4, TIter::TAIncrement), TIter()); + test_exceptions(S(), TIter(s, s + 10, 5, TIter::TADereference), TIter()); + test_exceptions(S(), TIter(s, s + 10, 6, TIter::TAComparison), TIter()); Widget w[100]; - test_exceptions(S(), w, w+100); + test_exceptions(S(), w, w + 100); } #endif @@ -162,23 +191,24 @@ TEST_CONSTEXPR_CXX20 bool test() { } { // regression-test appending to self in sneaky ways - std::string s_short = "hello"; - std::string s_long = "Lorem ipsum dolor sit amet, consectetur/"; + std::string s_short = "hello"; + std::string s_long = "Lorem ipsum dolor sit amet, consectetur/"; std::string s_othertype = "hello"; - std::string s_sneaky = "hello"; + std::string s_sneaky = "hello"; - test(s_short, s_short.data() + s_short.size(), s_short.data() + s_short.size() + 1, - std::string("hello\0", 6)); - test(s_long, s_long.data() + s_long.size(), s_long.data() + s_long.size() + 1, + test(s_short, s_short.data() + s_short.size(), s_short.data() + s_short.size() + 1, std::string("hello\0", 6)); + test(s_long, + s_long.data() + s_long.size(), + s_long.data() + s_long.size() + 1, std::string("Lorem ipsum dolor sit amet, consectetur/\0", 41)); s_sneaky.reserve(12); test(s_sneaky, s_sneaky.data(), s_sneaky.data() + 6, std::string("hellohello\0", 11)); - if (!TEST_IS_CONSTANT_EVALUATED) { - const unsigned char *first = reinterpret_cast<const unsigned char*>(s_othertype.data()); - test(s_othertype, first + 2, first + 5, std::string("hellollo")); - } + if (!TEST_IS_CONSTANT_EVALUATED) { + const unsigned char* first = reinterpret_cast<const unsigned char*>(s_othertype.data()); + test(s_othertype, first + 2, first + 5, std::string("hellollo")); + } } { // test with a move iterator that returns char&& @@ -201,8 +231,7 @@ TEST_CONSTEXPR_CXX20 bool test() { return true; } -int main(int, char**) -{ +int main(int, char**) { test(); #if TEST_STD_VER > 17 static_assert(test()); |
