summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/strings/basic.string/string.modifiers/string_replace
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2018-07-02 18:41:15 +0000
committerMarshall Clow <mclow.lists@gmail.com>2018-07-02 18:41:15 +0000
commit76b26852b6be6e54c86741c7c80ca6b5d74eab2e (patch)
tree59d55f14b2d3bd60b47dddd0642ebcfca0d95c1c /libcxx/test/std/strings/basic.string/string.modifiers/string_replace
parentf50ad6c311effee3bb70c3555fb6f6b0d59465b8 (diff)
downloadbcm5719-llvm-76b26852b6be6e54c86741c7c80ca6b5d74eab2e.tar.gz
bcm5719-llvm-76b26852b6be6e54c86741c7c80ca6b5d74eab2e.zip
Implement LWG 2946, 3075 and 3076. Reviewed as https://reviews.llvm.org/D48616
llvm-svn: 336132
Diffstat (limited to 'libcxx/test/std/strings/basic.string/string.modifiers/string_replace')
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp9
-rw-r--r--libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp9
2 files changed, 18 insertions, 0 deletions
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp
index 190e10d5c83..f5f31254eb1 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp
@@ -281,4 +281,13 @@ int main()
test2<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " ";
+ s.replace(s.cbegin(), s.cend(), {"abc", 1});
+ assert(s.size() == 1);
+ assert(s == "a");
+ }
+#endif
}
diff --git a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
index 612e1e200c9..88982e09804 100644
--- a/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
@@ -379,4 +379,13 @@ int main()
test2<S>();
}
#endif
+
+#if TEST_STD_VER > 3
+ { // LWG 2946
+ std::string s = " ";
+ s.replace(0, 1, {"abc", 1});
+ assert(s.size() == 1);
+ assert(s == "a");
+ }
+#endif
}
OpenPOWER on IntegriCloud