summaryrefslogtreecommitdiff
path: root/libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
diff options
context:
space:
mode:
authorBrendan Emery <brendan.emery@esrlabs.com>2023-09-01 13:27:26 -0400
committerLouis Dionne <ldionne.2@gmail.com>2023-09-01 13:35:18 -0400
commita40bada91aeda276a772acfbcae6e8de26755a11 (patch)
tree7172f9ff2e363d52f1f314fdc4555fdfbd35289b /libcxx/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
parent823151f0cfc8f031bcecb15c8246b5649e87b31a (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.cpp207
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());