Move test into test/std subdirectory.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224658 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2014-12-20 01:40:03 +00:00
parent 669a8a5a19
commit a90c6dd460
4817 changed files with 13 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static void assign(char_type& c1, const char_type& c2);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
char32_t c = U'\0';
std::char_traits<char32_t>::assign(c, U'a');
assert(c == U'a');
#endif
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,29 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static char_type* assign(char_type* s, size_t n, char_type a);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
char32_t s1[] = {1, 2, 3};
char32_t s2[3] = {0};
assert(std::char_traits<char32_t>::assign(s2, 3, char32_t(5)) == s2);
assert(s2[0] == char32_t(5));
assert(s2[1] == char32_t(5));
assert(s2[2] == char32_t(5));
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,44 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static int compare(const char_type* s1, const char_type* s2, size_t n);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert(std::char_traits<char32_t>::compare(U"", U"", 0) == 0);
assert(std::char_traits<char32_t>::compare(U"1", U"1", 1) == 0);
assert(std::char_traits<char32_t>::compare(U"1", U"2", 1) < 0);
assert(std::char_traits<char32_t>::compare(U"2", U"1", 1) > 0);
assert(std::char_traits<char32_t>::compare(U"12", U"12", 2) == 0);
assert(std::char_traits<char32_t>::compare(U"12", U"13", 2) < 0);
assert(std::char_traits<char32_t>::compare(U"12", U"22", 2) < 0);
assert(std::char_traits<char32_t>::compare(U"13", U"12", 2) > 0);
assert(std::char_traits<char32_t>::compare(U"22", U"12", 2) > 0);
assert(std::char_traits<char32_t>::compare(U"123", U"123", 3) == 0);
assert(std::char_traits<char32_t>::compare(U"123", U"223", 3) < 0);
assert(std::char_traits<char32_t>::compare(U"123", U"133", 3) < 0);
assert(std::char_traits<char32_t>::compare(U"123", U"124", 3) < 0);
assert(std::char_traits<char32_t>::compare(U"223", U"123", 3) > 0);
assert(std::char_traits<char32_t>::compare(U"133", U"123", 3) > 0);
assert(std::char_traits<char32_t>::compare(U"124", U"123", 3) > 0);
#endif
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,29 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static char_type* copy(char_type* s1, const char_type* s2, size_t n);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
char32_t s1[] = {1, 2, 3};
char32_t s2[3] = {0};
assert(std::char_traits<char32_t>::copy(s2, s1, 3) == s2);
assert(s2[0] == char32_t(1));
assert(s2[1] == char32_t(2));
assert(s2[2] == char32_t(3));
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,24 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr int_type eof();
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
std::char_traits<char32_t>::int_type i = std::char_traits<char32_t>::eof();
#endif
}

View File

@@ -0,0 +1,28 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr bool eq(char_type c1, char_type c2);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
char32_t c = U'\0';
assert(std::char_traits<char32_t>::eq(U'a', U'a'));
assert(!std::char_traits<char32_t>::eq(U'a', U'A'));
#endif
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,30 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr bool eq_int_type(int_type c1, int_type c2);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert( std::char_traits<char32_t>::eq_int_type(U'a', U'a'));
assert(!std::char_traits<char32_t>::eq_int_type(U'a', U'A'));
assert(!std::char_traits<char32_t>::eq_int_type(std::char_traits<char32_t>::eof(), U'A'));
#endif
assert( std::char_traits<char32_t>::eq_int_type(std::char_traits<char32_t>::eof(),
std::char_traits<char32_t>::eof()));
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,29 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static const char_type* find(const char_type* s, size_t n, const char_type& a);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
char32_t s1[] = {1, 2, 3};
assert(std::char_traits<char32_t>::find(s1, 3, char32_t(1)) == s1);
assert(std::char_traits<char32_t>::find(s1, 3, char32_t(2)) == s1+1);
assert(std::char_traits<char32_t>::find(s1, 3, char32_t(3)) == s1+2);
assert(std::char_traits<char32_t>::find(s1, 3, char32_t(4)) == 0);
assert(std::char_traits<char32_t>::find(s1, 3, char32_t(0)) == 0);
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,30 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static size_t length(const char_type* s);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert(std::char_traits<char32_t>::length(U"") == 0);
assert(std::char_traits<char32_t>::length(U"a") == 1);
assert(std::char_traits<char32_t>::length(U"aa") == 2);
assert(std::char_traits<char32_t>::length(U"aaa") == 3);
assert(std::char_traits<char32_t>::length(U"aaaa") == 4);
#endif
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,28 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr bool lt(char_type c1, char_type c2);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
char32_t c = U'\0';
assert(!std::char_traits<char32_t>::lt(U'a', U'a'));
assert( std::char_traits<char32_t>::lt(U'A', U'a'));
#endif
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,33 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static char_type* move(char_type* s1, const char_type* s2, size_t n);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
char32_t s1[] = {1, 2, 3};
assert(std::char_traits<char32_t>::move(s1, s1+1, 2) == s1);
assert(s1[0] == char32_t(2));
assert(s1[1] == char32_t(3));
assert(s1[2] == char32_t(3));
s1[2] = char32_t(0);
assert(std::char_traits<char32_t>::move(s1+1, s1, 2) == s1+1);
assert(s1[0] == char32_t(2));
assert(s1[1] == char32_t(2));
assert(s1[2] == char32_t(3));
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,30 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr int_type not_eof(int_type c);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert(std::char_traits<char32_t>::not_eof(U'a') == U'a');
assert(std::char_traits<char32_t>::not_eof(U'A') == U'A');
#endif
assert(std::char_traits<char32_t>::not_eof(0) == 0);
assert(std::char_traits<char32_t>::not_eof(std::char_traits<char32_t>::eof()) !=
std::char_traits<char32_t>::eof());
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,28 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr char_type to_char_type(int_type c);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert(std::char_traits<char32_t>::to_char_type(U'a') == U'a');
assert(std::char_traits<char32_t>::to_char_type(U'A') == U'A');
#endif
assert(std::char_traits<char32_t>::to_char_type(0) == 0);
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,28 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// static constexpr int_type to_int_type(char_type c);
#include <string>
#include <cassert>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
#if __cplusplus >= 201103L
assert(std::char_traits<char32_t>::to_int_type(U'a') == U'a');
assert(std::char_traits<char32_t>::to_int_type(U'A') == U'A');
#endif
assert(std::char_traits<char32_t>::to_int_type(0) == 0);
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}

View File

@@ -0,0 +1,33 @@
//===----------------------------------------------------------------------===//
//
// 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<> struct char_traits<char32_t>
// typedef char32_t char_type;
// typedef uint_least32_t int_type;
// typedef streamoff off_type;
// typedef u32streampos pos_type;
// typedef mbstate_t state_type;
#include <string>
#include <type_traits>
#include <cstdint>
int main()
{
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
static_assert((std::is_same<std::char_traits<char32_t>::char_type, char32_t>::value), "");
static_assert((std::is_same<std::char_traits<char32_t>::int_type, std::uint_least32_t>::value), "");
static_assert((std::is_same<std::char_traits<char32_t>::off_type, std::streamoff>::value), "");
static_assert((std::is_same<std::char_traits<char32_t>::pos_type, std::u32streampos>::value), "");
static_assert((std::is_same<std::char_traits<char32_t>::state_type, std::mbstate_t>::value), "");
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
}