diff options
Diffstat (limited to 'libcxx/test/strings/basic.string/string.cons')
20 files changed, 0 insertions, 1429 deletions
diff --git a/libcxx/test/strings/basic.string/string.cons/alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/alloc.pass.cpp deleted file mode 100644 index 512d1182755..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/alloc.pass.cpp +++ /dev/null @@ -1,74 +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> - -// explicit basic_string(const Allocator& a = Allocator()); - -#include <string> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test() -{ - { - S s; - assert(s.__invariants()); - assert(s.data()); - assert(s.size() == 0); - assert(s.capacity() >= s.size()); - assert(s.get_allocator() == typename S::allocator_type()); - } - { - S s(typename S::allocator_type(5)); - assert(s.__invariants()); - assert(s.data()); - assert(s.size() == 0); - assert(s.capacity() >= s.size()); - assert(s.get_allocator() == typename S::allocator_type(5)); - } -} - -#if __cplusplus >= 201103L - -template <class S> -void -test2() -{ - { - S s; - assert(s.__invariants()); - assert(s.data()); - assert(s.size() == 0); - assert(s.capacity() >= s.size()); - assert(s.get_allocator() == typename S::allocator_type()); - } - { - S s(typename S::allocator_type{}); - assert(s.__invariants()); - assert(s.data()); - assert(s.size() == 0); - assert(s.capacity() >= s.size()); - assert(s.get_allocator() == typename S::allocator_type()); - } -} - -#endif - -int main() -{ - test<std::basic_string<char, std::char_traits<char>, test_allocator<char> > >(); -#if __cplusplus >= 201103L - test2<std::basic_string<char, std::char_traits<char>, min_allocator<char> > >(); -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/char_assignment.pass.cpp b/libcxx/test/strings/basic.string/string.cons/char_assignment.pass.cpp deleted file mode 100644 index 1c582bc5163..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/char_assignment.pass.cpp +++ /dev/null @@ -1,49 +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> - -// basic_string<charT,traits,Allocator>& operator=(charT c); - -#include <string> -#include <cassert> - -#include "min_allocator.h" - -template <class S> -void -test(S s1, typename S::value_type s2) -{ - typedef typename S::traits_type T; - s1 = s2; - assert(s1.__invariants()); - assert(s1.size() == 1); - assert(T::eq(s1[0], s2)); - assert(s1.capacity() >= s1.size()); -} - -int main() -{ - { - typedef std::string S; - test(S(), 'a'); - test(S("1"), 'a'); - test(S("123456789"), 'a'); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), 'a'); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - test(S(), 'a'); - test(S("1"), 'a'); - test(S("123456789"), 'a'); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), 'a'); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/copy.pass.cpp b/libcxx/test/strings/basic.string/string.cons/copy.pass.cpp deleted file mode 100644 index 9c9fc323066..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/copy.pass.cpp +++ /dev/null @@ -1,49 +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> - -// basic_string(const basic_string<charT,traits,Allocator>& str); - -#include <string> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test(S s1) -{ - S s2 = s1; - assert(s2.__invariants()); - assert(s2 == s1); - assert(s2.capacity() >= s2.size()); - assert(s2.get_allocator() == s1.get_allocator()); -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(A(3))); - test(S("1", A(5))); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7))); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(A{})); - test(S("1", A())); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A())); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/copy_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/copy_alloc.pass.cpp deleted file mode 100644 index cf8021019a2..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/copy_alloc.pass.cpp +++ /dev/null @@ -1,49 +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> - -// basic_string(const basic_string& str, const Allocator& alloc); - -#include <string> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test(S s1, const typename S::allocator_type& a) -{ - S s2(s1, a); - assert(s2.__invariants()); - assert(s2 == s1); - assert(s2.capacity() >= s2.size()); - assert(s2.get_allocator() == a); -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(), A(3)); - test(S("1"), A(5)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), A(7)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(), A()); - test(S("1"), A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), A()); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/copy_assignment.pass.cpp b/libcxx/test/strings/basic.string/string.cons/copy_assignment.pass.cpp deleted file mode 100644 index ccb6c599974..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/copy_assignment.pass.cpp +++ /dev/null @@ -1,70 +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> - -// basic_string<charT,traits,Allocator>& -// operator=(const basic_string<charT,traits,Allocator>& str); - -#include <string> -#include <cassert> - -#include "min_allocator.h" - -template <class S> -void -test(S s1, const S& s2) -{ - s1 = s2; - assert(s1.__invariants()); - assert(s1 == s2); - assert(s1.capacity() >= s1.size()); -} - -int main() -{ - { - typedef std::string S; - test(S(), S()); - test(S("1"), S()); - test(S(), S("1")); - test(S("1"), S("2")); - test(S("1"), S("2")); - - test(S(), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("123456789"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - test(S(), S()); - test(S("1"), S()); - test(S(), S("1")); - test(S("1"), S("2")); - test(S("1"), S("2")); - - test(S(), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("123456789"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/default_noexcept.pass.cpp b/libcxx/test/strings/basic.string/string.cons/default_noexcept.pass.cpp deleted file mode 100644 index f935db83d73..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/default_noexcept.pass.cpp +++ /dev/null @@ -1,45 +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> - -// basic_string() -// noexcept(is_nothrow_default_constructible<allocator_type>::value); - -// This tests a conforming extension - -#include <string> -#include <cassert> - -#include "test_allocator.h" - -template <class T> -struct some_alloc -{ - typedef T value_type; - some_alloc(const some_alloc&); -}; - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::string C; - static_assert(std::is_nothrow_default_constructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, test_allocator<char>> C; - static_assert(std::is_nothrow_default_constructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, some_alloc<char>> C; - static_assert(!std::is_nothrow_default_constructible<C>::value, ""); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/dtor_noexcept.pass.cpp b/libcxx/test/strings/basic.string/string.cons/dtor_noexcept.pass.cpp deleted file mode 100644 index b3cc127fbc4..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/dtor_noexcept.pass.cpp +++ /dev/null @@ -1,47 +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> - -// ~basic_string() // implied noexcept; - -#include <string> -#include <cassert> - -#include "test_allocator.h" - -#if __has_feature(cxx_noexcept) - -template <class T> -struct some_alloc -{ - typedef T value_type; - some_alloc(const some_alloc&); - ~some_alloc() noexcept(false); -}; - -#endif - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::string C; - static_assert(std::is_nothrow_destructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, test_allocator<char>> C; - static_assert(std::is_nothrow_destructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, some_alloc<char>> C; - static_assert(!std::is_nothrow_destructible<C>::value, ""); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/initializer_list.pass.cpp b/libcxx/test/strings/basic.string/string.cons/initializer_list.pass.cpp deleted file mode 100644 index d6ff8504e9d..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/initializer_list.pass.cpp +++ /dev/null @@ -1,46 +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> - -// basic_string(initializer_list<charT> il, const Allocator& a = Allocator()); - -#include <string> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - { - std::string s = {'a', 'b', 'c'}; - assert(s == "abc"); - } - { - std::wstring s; - s = {L'a', L'b', L'c'}; - assert(s == L"abc"); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - S s = {'a', 'b', 'c'}; - assert(s == "abc"); - } - { - typedef std::basic_string<wchar_t, std::char_traits<wchar_t>, min_allocator<wchar_t>> S; - S s; - s = {L'a', L'b', L'c'}; - assert(s == L"abc"); - } -#endif -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -} diff --git a/libcxx/test/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp b/libcxx/test/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp deleted file mode 100644 index 75307689535..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp +++ /dev/null @@ -1,36 +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> - -// basic_string& operator=(initializer_list<charT> il); - -#include <string> -#include <cassert> - -#include "min_allocator.h" - -int main() -{ -#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS - { - std::string s; - s = {'a', 'b', 'c'}; - assert(s == "abc"); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - S s; - s = {'a', 'b', 'c'}; - assert(s == "abc"); - } -#endif -#endif // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS -} diff --git a/libcxx/test/strings/basic.string/string.cons/iter_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/iter_alloc.pass.cpp deleted file mode 100644 index 664cb80b10f..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/iter_alloc.pass.cpp +++ /dev/null @@ -1,119 +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> - -// template<class InputIterator> -// basic_string(InputIterator begin, InputIterator end, -// const Allocator& a = Allocator()); - -#include <string> -#include <iterator> -#include <cassert> - -#include "test_allocator.h" -#include "../input_iterator.h" -#include "min_allocator.h" - -template <class It> -void -test(It first, It last) -{ - typedef typename std::iterator_traits<It>::value_type charT; - typedef std::basic_string<charT, std::char_traits<charT>, test_allocator<charT> > S; - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - S s2(first, last); - assert(s2.__invariants()); - assert(s2.size() == std::distance(first, last)); - unsigned i = 0; - for (It it = first; it != last; ++it, ++i) - assert(s2[i] == *it); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); -} - -template <class It, class A> -void -test(It first, It last, const A& a) -{ - typedef typename std::iterator_traits<It>::value_type charT; - typedef std::basic_string<charT, std::char_traits<charT>, A> S; - typedef typename S::traits_type T; - S s2(first, last, a); - assert(s2.__invariants()); - assert(s2.size() == std::distance(first, last)); - unsigned i = 0; - for (It it = first; it != last; ++it, ++i) - assert(s2[i] == *it); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); -} - -int main() -{ - { - typedef test_allocator<char> A; - const char* s = "12345678901234567890123456789012345678901234567890"; - - test(s, s); - test(s, s, A(2)); - - test(s, s+1); - test(s, s+1, A(2)); - - test(s, s+10); - test(s, s+10, A(2)); - - test(s, s+50); - test(s, s+50, A(2)); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s), A(2)); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+1)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+1), A(2)); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+10)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+10), A(2)); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+50)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+50), A(2)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - const char* s = "12345678901234567890123456789012345678901234567890"; - - test(s, s); - test(s, s, A()); - - test(s, s+1); - test(s, s+1, A()); - - test(s, s+10); - test(s, s+10, A()); - - test(s, s+50); - test(s, s+50, A()); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s), A()); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+1)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+1), A()); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+10)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+10), A()); - - test(input_iterator<const char*>(s), input_iterator<const char*>(s+50)); - test(input_iterator<const char*>(s), input_iterator<const char*>(s+50), A()); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/move.pass.cpp b/libcxx/test/strings/basic.string/string.cons/move.pass.cpp deleted file mode 100644 index b94f189ecb4..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/move.pass.cpp +++ /dev/null @@ -1,57 +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> - -// basic_string(basic_string<charT,traits,Allocator>&& str); - -#include <string> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test(S s0) -{ - S s1 = s0; - S s2 = std::move(s0); - assert(s2.__invariants()); - assert(s0.__invariants()); - assert(s2 == s1); - assert(s2.capacity() >= s2.size()); - assert(s2.get_allocator() == s1.get_allocator()); -} - -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(A(3))); - test(S("1", A(5))); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7))); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(A{})); - test(S("1", A())); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A())); - } -#endif -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/strings/basic.string/string.cons/move_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/move_alloc.pass.cpp deleted file mode 100644 index 1f9631449ee..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/move_alloc.pass.cpp +++ /dev/null @@ -1,68 +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> - -// basic_string(basic_string&& str, const Allocator& alloc); - -#include <string> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - -#include "test_allocator.h" -#include "min_allocator.h" - - -template <class S> -void -test(S s0, const typename S::allocator_type& a) -{ - S s1 = s0; - S s2(std::move(s0), a); - assert(s2.__invariants()); - assert(s0.__invariants()); - assert(s2 == s1); - assert(s2.capacity() >= s2.size()); - assert(s2.get_allocator() == a); -} - -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(), A(3)); - test(S("1"), A(5)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), A(7)); - } - - int alloc_count = test_alloc_base::alloc_count; - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - S s1 ( "Twas brillig, and the slivy toves did gyre and gymbal in the wabe" ); - S s2 (std::move(s1), A(1)); - } - assert ( test_alloc_base::alloc_count == alloc_count ); - -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - test(S(), A()); - test(S("1"), A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), A()); - } -#endif -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp b/libcxx/test/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp deleted file mode 100644 index 32c9514a915..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp +++ /dev/null @@ -1,47 +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> - -// basic_string& operator=(basic_string&& c) -// noexcept( -// allocator_type::propagate_on_container_move_assignment::value && -// is_nothrow_move_assignable<allocator_type>::value); - -// This tests a conforming extension - -#include <string> -#include <cassert> - -#include "test_allocator.h" - -template <class T> -struct some_alloc -{ - typedef T value_type; - some_alloc(const some_alloc&); -}; - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::string C; - static_assert(std::is_nothrow_move_assignable<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, test_allocator<char>> C; - static_assert(!std::is_nothrow_move_assignable<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, some_alloc<char>> C; - static_assert(!std::is_nothrow_move_assignable<C>::value, ""); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/move_assignment.pass.cpp b/libcxx/test/strings/basic.string/string.cons/move_assignment.pass.cpp deleted file mode 100644 index 5bc1c8a9153..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/move_assignment.pass.cpp +++ /dev/null @@ -1,79 +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> - -// basic_string<charT,traits,Allocator>& -// operator=(basic_string<charT,traits,Allocator>&& str); - -#include <string> -#include <cassert> - -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test(S s1, S s2) -{ - S s0 = s2; - s1 = std::move(s2); - assert(s1.__invariants()); - assert(s2.__invariants()); - assert(s1 == s0); - assert(s1.capacity() >= s1.size()); -} - -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES - -int main() -{ -#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES - { - typedef std::string S; - test(S(), S()); - test(S("1"), S()); - test(S(), S("1")); - test(S("1"), S("2")); - test(S("1"), S("2")); - - test(S(), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("123456789"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - test(S(), S()); - test(S("1"), S()); - test(S(), S("1")); - test(S("1"), S("2")); - test(S("1"), S("2")); - - test(S(), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("123456789"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - S("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz")); - } -#endif -#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES -} diff --git a/libcxx/test/strings/basic.string/string.cons/move_noexcept.pass.cpp b/libcxx/test/strings/basic.string/string.cons/move_noexcept.pass.cpp deleted file mode 100644 index 556aabdc44a..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/move_noexcept.pass.cpp +++ /dev/null @@ -1,45 +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> - -// basic_string(basic_string&&) -// noexcept(is_nothrow_move_constructible<allocator_type>::value); - -// This tests a conforming extension - -#include <string> -#include <cassert> - -#include "test_allocator.h" - -template <class T> -struct some_alloc -{ - typedef T value_type; - some_alloc(const some_alloc&); -}; - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::string C; - static_assert(std::is_nothrow_move_constructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, test_allocator<char>> C; - static_assert(std::is_nothrow_move_constructible<C>::value, ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, some_alloc<char>> C; - static_assert(!std::is_nothrow_move_constructible<C>::value, ""); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/pointer_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/pointer_alloc.pass.cpp deleted file mode 100644 index f6e9e00e590..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/pointer_alloc.pass.cpp +++ /dev/null @@ -1,89 +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> - -// basic_string(const charT* s, const Allocator& a = Allocator()); - -#include <string> -#include <stdexcept> -#include <algorithm> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class charT> -void -test(const charT* s) -{ - typedef std::basic_string<charT, std::char_traits<charT>, test_allocator<charT> > S; - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - unsigned n = T::length(s); - S s2(s); - assert(s2.__invariants()); - assert(s2.size() == n); - assert(T::compare(s2.data(), s, n) == 0); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); -} - -template <class charT, class A> -void -test(const charT* s, const A& a) -{ - typedef std::basic_string<charT, std::char_traits<charT>, A> S; - typedef typename S::traits_type T; - unsigned n = T::length(s); - S s2(s, a); - assert(s2.__invariants()); - assert(s2.size() == n); - assert(T::compare(s2.data(), s, n) == 0); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(""); - test("", A(2)); - - test("1"); - test("1", A(2)); - - test("1234567980"); - test("1234567980", A(2)); - - test("123456798012345679801234567980123456798012345679801234567980"); - test("123456798012345679801234567980123456798012345679801234567980", A(2)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(""); - test("", A()); - - test("1"); - test("1", A()); - - test("1234567980"); - test("1234567980", A()); - - test("123456798012345679801234567980123456798012345679801234567980"); - test("123456798012345679801234567980123456798012345679801234567980", A()); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/pointer_assignment.pass.cpp b/libcxx/test/strings/basic.string/string.cons/pointer_assignment.pass.cpp deleted file mode 100644 index c691613379a..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/pointer_assignment.pass.cpp +++ /dev/null @@ -1,72 +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> - -// basic_string<charT,traits,Allocator>& -// operator=(const charT* s); - -#include <string> -#include <cassert> - -#include "min_allocator.h" - -template <class S> -void -test(S s1, const typename S::value_type* s2) -{ - typedef typename S::traits_type T; - s1 = s2; - assert(s1.__invariants()); - assert(s1.size() == T::length(s2)); - assert(T::compare(s1.data(), s2, s1.size()) == 0); - assert(s1.capacity() >= s1.size()); -} - -int main() -{ - { - typedef std::string S; - test(S(), ""); - test(S("1"), ""); - test(S(), "1"); - test(S("1"), "2"); - test(S("1"), "2"); - - test(S(), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("123456789"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - test(S(), ""); - test(S("1"), ""); - test(S(), "1"); - test(S("1"), "2"); - test(S("1"), "2"); - - test(S(), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("123456789"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890" - "1234567890123456789012345678901234567890123456789012345678901234567890"), - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp deleted file mode 100644 index f1f107af20b..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp +++ /dev/null @@ -1,87 +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> - -// basic_string(const charT* s, size_type n, const Allocator& a = Allocator()); - -#include <string> -#include <stdexcept> -#include <algorithm> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class charT> -void -test(const charT* s, unsigned n) -{ - typedef std::basic_string<charT, std::char_traits<charT>, test_allocator<charT> > S; - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - S s2(s, n); - assert(s2.__invariants()); - assert(s2.size() == n); - assert(T::compare(s2.data(), s, n) == 0); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); -} - -template <class charT, class A> -void -test(const charT* s, unsigned n, const A& a) -{ - typedef std::basic_string<charT, std::char_traits<charT>, A> S; - typedef typename S::traits_type T; - S s2(s, n, a); - assert(s2.__invariants()); - assert(s2.size() == n); - assert(T::compare(s2.data(), s, n) == 0); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test("", 0); - test("", 0, A(2)); - - test("1", 1); - test("1", 1, A(2)); - - test("1234567980", 10); - test("1234567980", 10, A(2)); - - test("123456798012345679801234567980123456798012345679801234567980", 60); - test("123456798012345679801234567980123456798012345679801234567980", 60, A(2)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test("", 0); - test("", 0, A()); - - test("1", 1); - test("1", 1, A()); - - test("1234567980", 10); - test("1234567980", 10, A()); - - test("123456798012345679801234567980123456798012345679801234567980", 60); - test("123456798012345679801234567980123456798012345679801234567980", 60, A()); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/size_char_alloc.pass.cpp b/libcxx/test/strings/basic.string/string.cons/size_char_alloc.pass.cpp deleted file mode 100644 index 4dfe9063a23..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/size_char_alloc.pass.cpp +++ /dev/null @@ -1,128 +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> - -// basic_string(size_type n, charT c, const Allocator& a = Allocator()); - -#include <string> -#include <stdexcept> -#include <algorithm> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class charT> -void -test(unsigned n, charT c) -{ - typedef std::basic_string<charT, std::char_traits<charT>, test_allocator<charT> > S; - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - S s2(n, c); - assert(s2.__invariants()); - assert(s2.size() == n); - for (unsigned i = 0; i < n; ++i) - assert(s2[i] == c); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); -} - -template <class charT, class A> -void -test(unsigned n, charT c, const A& a) -{ - typedef std::basic_string<charT, std::char_traits<charT>, A> S; - typedef typename S::traits_type T; - S s2(n, c, a); - assert(s2.__invariants()); - assert(s2.size() == n); - for (unsigned i = 0; i < n; ++i) - assert(s2[i] == c); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); -} - -template <class Tp> -void -test(Tp n, Tp c) -{ - typedef char charT; - typedef std::basic_string<charT, std::char_traits<charT>, test_allocator<charT> > S; - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - S s2(n, c); - assert(s2.__invariants()); - assert(s2.size() == n); - for (unsigned i = 0; i < n; ++i) - assert(s2[i] == c); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); -} - -template <class Tp, class A> -void -test(Tp n, Tp c, const A& a) -{ - typedef char charT; - typedef std::basic_string<charT, std::char_traits<charT>, A> S; - typedef typename S::traits_type T; - S s2(n, c, a); - assert(s2.__invariants()); - assert(s2.size() == n); - for (unsigned i = 0; i < n; ++i) - assert(s2[i] == c); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(0, 'a'); - test(0, 'a', A(2)); - - test(1, 'a'); - test(1, 'a', A(2)); - - test(10, 'a'); - test(10, 'a', A(2)); - - test(100, 'a'); - test(100, 'a', A(2)); - - test(100, 65); - test(100, 65, A(3)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(0, 'a'); - test(0, 'a', A()); - - test(1, 'a'); - test(1, 'a', A()); - - test(10, 'a'); - test(10, 'a', A()); - - test(100, 'a'); - test(100, 'a', A()); - - test(100, 65); - test(100, 65, A()); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.cons/substr.pass.cpp b/libcxx/test/strings/basic.string/string.cons/substr.pass.cpp deleted file mode 100644 index 2a9bf2ac88b..00000000000 --- a/libcxx/test/strings/basic.string/string.cons/substr.pass.cpp +++ /dev/null @@ -1,173 +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> - -// basic_string(const basic_string<charT,traits,Allocator>& str, -// size_type pos, size_type n = npos, -// const Allocator& a = Allocator()); - -#include <string> -#include <stdexcept> -#include <algorithm> -#include <cassert> - -#include "test_allocator.h" -#include "min_allocator.h" - -template <class S> -void -test(S str, unsigned pos) -{ - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - try - { - S s2(str, pos); - assert(s2.__invariants()); - assert(pos <= str.size()); - unsigned rlen = str.size() - pos; - assert(s2.size() == rlen); - assert(T::compare(s2.data(), str.data() + pos, rlen) == 0); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); - } - catch (std::out_of_range&) - { - assert(pos > str.size()); - } -} - -template <class S> -void -test(S str, unsigned pos, unsigned n) -{ - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - try - { - S s2(str, pos, n); - assert(s2.__invariants()); - assert(pos <= str.size()); - unsigned rlen = std::min<unsigned>(str.size() - pos, n); - assert(s2.size() == rlen); - assert(T::compare(s2.data(), str.data() + pos, rlen) == 0); - assert(s2.get_allocator() == A()); - assert(s2.capacity() >= s2.size()); - } - catch (std::out_of_range&) - { - assert(pos > str.size()); - } -} - -template <class S> -void -test(S str, unsigned pos, unsigned n, const typename S::allocator_type& a) -{ - typedef typename S::traits_type T; - typedef typename S::allocator_type A; - try - { - S s2(str, pos, n, a); - assert(s2.__invariants()); - assert(pos <= str.size()); - unsigned rlen = std::min<unsigned>(str.size() - pos, n); - assert(s2.size() == rlen); - assert(T::compare(s2.data(), str.data() + pos, rlen) == 0); - assert(s2.get_allocator() == a); - assert(s2.capacity() >= s2.size()); - } - catch (std::out_of_range&) - { - assert(pos > str.size()); - } -} - -int main() -{ - { - typedef test_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(S(A(3)), 0); - test(S(A(3)), 1); - test(S("1", A(5)), 0); - test(S("1", A(5)), 1); - test(S("1", A(5)), 2); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 0); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 5); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 500); - - test(S(A(3)), 0, 0); - test(S(A(3)), 0, 1); - test(S(A(3)), 1, 0); - test(S(A(3)), 1, 1); - test(S(A(3)), 1, 2); - test(S("1", A(5)), 0, 0); - test(S("1", A(5)), 0, 1); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 0); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 1); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 10); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 100); - - test(S(A(3)), 0, 0, A(4)); - test(S(A(3)), 0, 1, A(4)); - test(S(A(3)), 1, 0, A(4)); - test(S(A(3)), 1, 1, A(4)); - test(S(A(3)), 1, 2, A(4)); - test(S("1", A(5)), 0, 0, A(6)); - test(S("1", A(5)), 0, 1, A(6)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 0, A(8)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 1, A(8)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 10, A(8)); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A(7)), 50, 100, A(8)); - } -#if __cplusplus >= 201103L - { - typedef min_allocator<char> A; - typedef std::basic_string<char, std::char_traits<char>, A> S; - - test(S(A()), 0); - test(S(A()), 1); - test(S("1", A()), 0); - test(S("1", A()), 1); - test(S("1", A()), 2); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 0); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 5); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 500); - - test(S(A()), 0, 0); - test(S(A()), 0, 1); - test(S(A()), 1, 0); - test(S(A()), 1, 1); - test(S(A()), 1, 2); - test(S("1", A()), 0, 0); - test(S("1", A()), 0, 1); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 0); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 1); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 10); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 100); - - test(S(A()), 0, 0, A()); - test(S(A()), 0, 1, A()); - test(S(A()), 1, 0, A()); - test(S(A()), 1, 1, A()); - test(S(A()), 1, 2, A()); - test(S("1", A()), 0, 0, A()); - test(S("1", A()), 0, 1, A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 0, A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 1, A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 10, A()); - test(S("1234567890123456789012345678901234567890123456789012345678901234567890", A()), 50, 100, A()); - } -#endif -} |