Fix compilation errors in unit tests for VC

This commit is contained in:
Milo Yip 2014-11-23 08:38:48 +08:00
parent 52bf43df08
commit c8bed6b8cc
2 changed files with 58 additions and 32 deletions

View File

@ -232,26 +232,38 @@ TEST(Document, UTF16_Document) {
#include <type_traits> #include <type_traits>
TEST(Document, Traits) { TEST(Document, Traits) {
static_assert( std::is_constructible<Document>::value, ""); static_assert(std::is_constructible<Document>::value, "");
static_assert( std::is_default_constructible<Document>::value, ""); static_assert(std::is_default_constructible<Document>::value, "");
static_assert(!std::is_copy_constructible<Document>::value, ""); #ifndef _MSC_VER
static_assert( std::is_move_constructible<Document>::value, ""); static_assert(!std::is_copy_constructible<Document>::value, "");
#endif
static_assert(std::is_move_constructible<Document>::value, "");
static_assert(!std::is_nothrow_constructible<Document>::value, ""); static_assert(!std::is_nothrow_constructible<Document>::value, "");
static_assert(!std::is_nothrow_default_constructible<Document>::value, ""); static_assert(!std::is_nothrow_default_constructible<Document>::value, "");
static_assert(!std::is_nothrow_copy_constructible<Document>::value, ""); static_assert(!std::is_nothrow_copy_constructible<Document>::value, "");
static_assert( std::is_nothrow_move_constructible<Document>::value, ""); #ifndef _MSC_VER
static_assert(std::is_nothrow_move_constructible<Document>::value, "");
#endif
static_assert( std::is_assignable<Document,Document>::value, ""); static_assert(std::is_assignable<Document,Document>::value, "");
#ifndef _MSC_VER
static_assert(!std::is_copy_assignable<Document>::value, ""); static_assert(!std::is_copy_assignable<Document>::value, "");
static_assert( std::is_move_assignable<Document>::value, ""); #endif
static_assert(std::is_move_assignable<Document>::value, "");
static_assert( std::is_nothrow_assignable<Document,Document>::value, ""); #ifndef _MSC_VER
static_assert(!std::is_nothrow_copy_assignable<Document>::value, ""); static_assert(std::is_nothrow_assignable<Document, Document>::value, "");
static_assert( std::is_nothrow_move_assignable<Document>::value, ""); #endif
static_assert(!std::is_nothrow_copy_assignable<Document>::value, "");
#ifndef _MSC_VER
static_assert(std::is_nothrow_move_assignable<Document>::value, "");
#endif
static_assert( std::is_destructible<Document>::value, ""); static_assert( std::is_destructible<Document>::value, "");
static_assert( std::is_nothrow_destructible<Document>::value, ""); #ifndef _MSC_VER
static_assert(std::is_nothrow_destructible<Document>::value, "");
#endif
} }
template <typename Allocator> template <typename Allocator>

View File

@ -43,27 +43,41 @@ TEST(Value, DefaultConstructor) {
#include <type_traits> #include <type_traits>
TEST(Value, Traits) { TEST(Value, Traits) {
typedef GenericValue<UTF8<>, CrtAllocator> Value; typedef GenericValue<UTF8<>, CrtAllocator> Value;
static_assert( std::is_constructible<Value>::value, ""); static_assert(std::is_constructible<Value>::value, "");
static_assert( std::is_default_constructible<Value>::value, ""); static_assert(std::is_default_constructible<Value>::value, "");
static_assert(!std::is_copy_constructible<Value>::value, ""); #ifndef _MSC_VER
static_assert( std::is_move_constructible<Value>::value, ""); static_assert(!std::is_copy_constructible<Value>::value, "");
#endif
static_assert(std::is_move_constructible<Value>::value, "");
static_assert( std::is_nothrow_constructible<Value>::value, ""); #ifndef _MSC_VER
static_assert( std::is_nothrow_default_constructible<Value>::value, ""); static_assert(std::is_nothrow_constructible<Value>::value, "");
static_assert(!std::is_nothrow_copy_constructible<Value>::value, ""); static_assert(std::is_nothrow_default_constructible<Value>::value, "");
static_assert( std::is_nothrow_move_constructible<Value>::value, ""); #endif
static_assert(!std::is_nothrow_copy_constructible<Value>::value, "");
#ifndef _MSC_VER
static_assert(std::is_nothrow_move_constructible<Value>::value, "");
#endif
static_assert( std::is_assignable<Value,Value>::value, ""); static_assert(std::is_assignable<Value,Value>::value, "");
static_assert(!std::is_copy_assignable<Value>::value, ""); #ifndef _MSC_VER
static_assert( std::is_move_assignable<Value>::value, ""); static_assert(!std::is_copy_assignable<Value>::value, "");
#endif
static_assert(std::is_move_assignable<Value>::value, "");
static_assert( std::is_nothrow_assignable<Value,Value>::value, ""); #ifndef _MSC_VER
static_assert(!std::is_nothrow_copy_assignable<Value>::value, ""); static_assert(std::is_nothrow_assignable<Value, Value>::value, "");
static_assert( std::is_nothrow_move_assignable<Value>::value, ""); #endif
static_assert(!std::is_nothrow_copy_assignable<Value>::value, "");
#ifndef _MSC_VER
static_assert(std::is_nothrow_move_assignable<Value>::value, "");
#endif
static_assert( std::is_destructible<Value>::value, ""); static_assert(std::is_destructible<Value>::value, "");
static_assert( std::is_nothrow_destructible<Value>::value, ""); #ifndef _MSC_VER
static_assert(std::is_nothrow_destructible<Value>::value, "");
#endif
} }
TEST(Value, MoveConstructor) { TEST(Value, MoveConstructor) {