summaryrefslogtreecommitdiff
path: root/test/std/strings/basic.string/string.ops
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/strings/basic.string/string.ops')
-rw-r--r--test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp10
-rw-r--r--test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp8
-rw-r--r--test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp8
8 files changed, 64 insertions, 2 deletions
diff --git a/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
index 0ddbf2e2f99f..be730cbc1242 100644
--- a/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
@@ -15,9 +15,8 @@
#include <stdexcept>
#include <cassert>
-#include "min_allocator.h"
-
#include "test_macros.h"
+#include "min_allocator.h"
int sign(int x)
{
@@ -378,4 +377,11 @@ int main()
test2<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.compare(0, 1, {"abc", 1}) < 0);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp b/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
index 3f6c169d223a..80d579e300c3 100644
--- a/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
int sign(int x)
@@ -74,4 +75,11 @@ int main()
test(S("abcdefghijklmnopqrst"), S("abcdefghijklmnopqrst"), 0);
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.compare({"abc", 1}) < 0);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
index b7df3461792b..4ce343351a9e 100644
--- a/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.find_first_not_of({"abc", 1}) == 0);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
index 765d1603af8c..105c2a6db175 100644
--- a/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.find_first_of({"abc", 1}) == std::string::npos);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
index f3377596ab3d..57fab60e78a7 100644
--- a/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.find_last_not_of({"abc", 1}) == s.size() - 1);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
index 5cb2df7c6c7f..b6b5b8f1217e 100644
--- a/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.find_last_of({"abc", 1}) == std::string::npos);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
index e519a7943ba9..769b51c8dc10 100644
--- a/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.find({"abc", 1}) == std::string::npos);
+ }
+#endif
}
diff --git a/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp b/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
index ef571c284b81..d7908ad8583b 100644
--- a/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
+++ b/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
@@ -14,6 +14,7 @@
#include <string>
#include <cassert>
+#include "test_macros.h"
#include "min_allocator.h"
template <class S>
@@ -154,4 +155,11 @@ int main()
test1<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " !";
+ assert(s.rfind({"abc", 1}) == std::string::npos);
+ }
+#endif
}