[libc++][NFC] Remove some of the code duplication in the string tests
Reviewed By: ldionne, #libc, huixie90 Spies: huixie90, libcxx-commits, arphaman Differential Revision: https://reviews.llvm.org/D131856
This commit is contained in:
1 parent
9343ec861a
commit
786366b18f
67 files changed
+1709
-3048
No files matched your search
+27
-47
@@ -26,57 +26,37 @@ test(S s, S str, S expected)
|
||||
assert(s == expected);
|
||||
}
|
||||
|
||||
template <class S>
|
||||
TEST_CONSTEXPR_CXX20 void test_string() {
|
||||
test(S(), S(), S());
|
||||
test(S(), S("12345"), S("12345"));
|
||||
test(S(), S("1234567890"), S("1234567890"));
|
||||
test(S(), S("12345678901234567890"), S("12345678901234567890"));
|
||||
|
||||
test(S("12345"), S(), S("12345"));
|
||||
test(S("12345"), S("12345"), S("1234512345"));
|
||||
test(S("12345"), S("1234567890"), S("123451234567890"));
|
||||
test(S("12345"), S("12345678901234567890"), S("1234512345678901234567890"));
|
||||
|
||||
test(S("1234567890"), S(), S("1234567890"));
|
||||
test(S("1234567890"), S("12345"), S("123456789012345"));
|
||||
test(S("1234567890"), S("1234567890"), S("12345678901234567890"));
|
||||
test(S("1234567890"), S("12345678901234567890"), S("123456789012345678901234567890"));
|
||||
|
||||
test(S("12345678901234567890"), S(), S("12345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345"), S("1234567890123456789012345"));
|
||||
test(S("12345678901234567890"), S("1234567890"), S("123456789012345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345678901234567890"),
|
||||
S("1234567890123456789012345678901234567890"));
|
||||
}
|
||||
|
||||
TEST_CONSTEXPR_CXX20 bool test() {
|
||||
{
|
||||
typedef std::string S;
|
||||
test(S(), S(), S());
|
||||
test(S(), S("12345"), S("12345"));
|
||||
test(S(), S("1234567890"), S("1234567890"));
|
||||
test(S(), S("12345678901234567890"), S("12345678901234567890"));
|
||||
|
||||
test(S("12345"), S(), S("12345"));
|
||||
test(S("12345"), S("12345"), S("1234512345"));
|
||||
test(S("12345"), S("1234567890"), S("123451234567890"));
|
||||
test(S("12345"), S("12345678901234567890"), S("1234512345678901234567890"));
|
||||
|
||||
test(S("1234567890"), S(), S("1234567890"));
|
||||
test(S("1234567890"), S("12345"), S("123456789012345"));
|
||||
test(S("1234567890"), S("1234567890"), S("12345678901234567890"));
|
||||
test(S("1234567890"), S("12345678901234567890"), S("123456789012345678901234567890"));
|
||||
|
||||
test(S("12345678901234567890"), S(), S("12345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345"), S("1234567890123456789012345"));
|
||||
test(S("12345678901234567890"), S("1234567890"), S("123456789012345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345678901234567890"),
|
||||
S("1234567890123456789012345678901234567890"));
|
||||
}
|
||||
test_string<std::string>();
|
||||
#if TEST_STD_VER >= 11
|
||||
{
|
||||
typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S;
|
||||
test(S(), S(), S());
|
||||
test(S(), S("12345"), S("12345"));
|
||||
test(S(), S("1234567890"), S("1234567890"));
|
||||
test(S(), S("12345678901234567890"), S("12345678901234567890"));
|
||||
|
||||
test(S("12345"), S(), S("12345"));
|
||||
test(S("12345"), S("12345"), S("1234512345"));
|
||||
test(S("12345"), S("1234567890"), S("123451234567890"));
|
||||
test(S("12345"), S("12345678901234567890"), S("1234512345678901234567890"));
|
||||
|
||||
test(S("1234567890"), S(), S("1234567890"));
|
||||
test(S("1234567890"), S("12345"), S("123456789012345"));
|
||||
test(S("1234567890"), S("1234567890"), S("12345678901234567890"));
|
||||
test(S("1234567890"), S("12345678901234567890"), S("123456789012345678901234567890"));
|
||||
|
||||
test(S("12345678901234567890"), S(), S("12345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345"), S("1234567890123456789012345"));
|
||||
test(S("12345678901234567890"), S("1234567890"), S("123456789012345678901234567890"));
|
||||
test(S("12345678901234567890"), S("12345678901234567890"),
|
||||
S("1234567890123456789012345678901234567890"));
|
||||
}
|
||||
test_string<std::basic_string<char, std::char_traits<char>, min_allocator<char>>>();
|
||||
#endif
|
||||
|
||||
#if TEST_STD_VER > 3
|
||||
#if TEST_STD_VER >= 11
|
||||
{ // LWG 2946
|
||||
std::string s;
|
||||
s.append({"abc", 1});
|
||||
|
||||
Reference in new issue
Block a user