summaryrefslogtreecommitdiff
path: root/test/std/strings
diff options
context:
space:
mode:
Diffstat (limited to 'test/std/strings')
-rw-r--r--test/std/strings/basic.string/string.cons/T_size_size.pass.cpp18
-rw-r--r--test/std/strings/string.view/string.view.modifiers/clear.pass.cpp67
2 files changed, 10 insertions, 75 deletions
diff --git a/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp b/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
index c8d14a1d0ddf..67ac43494a6e 100644
--- a/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
+++ b/test/std/strings/basic.string/string.cons/T_size_size.pass.cpp
@@ -27,16 +27,17 @@
template <class S, class SV>
void
-test(SV sv, unsigned pos, unsigned n)
+test(SV sv, std::size_t pos, std::size_t n)
{
typedef typename S::traits_type T;
typedef typename S::allocator_type A;
+ typedef typename S::size_type Size;
if (pos <= sv.size())
{
- S s2(sv, pos, n);
+ S s2(sv, static_cast<Size>(pos), static_cast<Size>(n));
LIBCPP_ASSERT(s2.__invariants());
assert(pos <= sv.size());
- unsigned rlen = std::min<unsigned>(sv.size() - pos, n);
+ std::size_t rlen = std::min(sv.size() - pos, n);
assert(s2.size() == rlen);
assert(T::compare(s2.data(), sv.data() + pos, rlen) == 0);
assert(s2.get_allocator() == A());
@@ -47,7 +48,7 @@ test(SV sv, unsigned pos, unsigned n)
{
try
{
- S s2(sv, pos, n);
+ S s2(sv, static_cast<Size>(pos), static_cast<Size>(n));
assert(false);
}
catch (std::out_of_range&)
@@ -60,15 +61,16 @@ test(SV sv, unsigned pos, unsigned n)
template <class S, class SV>
void
-test(SV sv, unsigned pos, unsigned n, const typename S::allocator_type& a)
+test(SV sv, std::size_t pos, std::size_t n, const typename S::allocator_type& a)
{
typedef typename S::traits_type T;
+ typedef typename S::size_type Size;
if (pos <= sv.size())
{
- S s2(sv, pos, n, a);
+ S s2(sv, static_cast<Size>(pos), static_cast<Size>(n), a);
LIBCPP_ASSERT(s2.__invariants());
assert(pos <= sv.size());
- unsigned rlen = std::min<unsigned>(sv.size() - pos, n);
+ std::size_t rlen = std::min(sv.size() - pos, n);
assert(s2.size() == rlen);
assert(T::compare(s2.data(), sv.data() + pos, rlen) == 0);
assert(s2.get_allocator() == a);
@@ -79,7 +81,7 @@ test(SV sv, unsigned pos, unsigned n, const typename S::allocator_type& a)
{
try
{
- S s2(sv, pos, n, a);
+ S s2(sv, static_cast<Size>(pos), static_cast<Size>(n), a);
assert(false);
}
catch (std::out_of_range&)
diff --git a/test/std/strings/string.view/string.view.modifiers/clear.pass.cpp b/test/std/strings/string.view/string.view.modifiers/clear.pass.cpp
deleted file mode 100644
index c1137e80acaf..000000000000
--- a/test/std/strings/string.view/string.view.modifiers/clear.pass.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-
-// <string_view>
-
-// void clear() noexcept
-
-#include <string_view>
-#include <cassert>
-
-#include "test_macros.h"
-
-template<typename CharT>
-void test ( const CharT *s, size_t len ) {
- typedef std::basic_string_view<CharT> SV;
- {
- SV sv1 ( s );
- assert ( sv1.size() == len );
- assert ( sv1.data() == s );
-
- sv1.clear ();
- assert ( sv1.data() == nullptr );
- assert ( sv1.size() == 0 );
- assert ( sv1 == SV());
- }
-}
-
-#if TEST_STD_VER > 11
-constexpr size_t test_ce ( size_t n ) {
- typedef std::basic_string_view<char> SV;
- SV sv1{ "ABCDEFGHIJKL", n };
- sv1.clear();
- return sv1.size();
-}
-#endif
-
-int main () {
- test ( "ABCDE", 5 );
- test ( "a", 1 );
- test ( "", 0 );
-
- test ( L"ABCDE", 5 );
- test ( L"a", 1 );
- test ( L"", 0 );
-
-#if TEST_STD_VER >= 11
- test ( u"ABCDE", 5 );
- test ( u"a", 1 );
- test ( u"", 0 );
-
- test ( U"ABCDE", 5 );
- test ( U"a", 1 );
- test ( U"", 0 );
-#endif
-
-#if TEST_STD_VER > 11
- static_assert ( test_ce (5) == 0, "" );
-#endif
-
-}