From c8bed6b8cc96e95ffde950ecfc080297f1be5c37 Mon Sep 17 00:00:00 2001 From: Milo Yip Date: Sun, 23 Nov 2014 08:38:48 +0800 Subject: [PATCH] Fix compilation errors in unit tests for VC --- test/unittest/documenttest.cpp | 42 ++++++++++++++++++----------- test/unittest/valuetest.cpp | 48 ++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/test/unittest/documenttest.cpp b/test/unittest/documenttest.cpp index 250d67b..a8467e3 100644 --- a/test/unittest/documenttest.cpp +++ b/test/unittest/documenttest.cpp @@ -232,26 +232,38 @@ TEST(Document, UTF16_Document) { #include TEST(Document, Traits) { - static_assert( std::is_constructible::value, ""); - static_assert( std::is_default_constructible::value, ""); - static_assert(!std::is_copy_constructible::value, ""); - static_assert( std::is_move_constructible::value, ""); + static_assert(std::is_constructible::value, ""); + static_assert(std::is_default_constructible::value, ""); +#ifndef _MSC_VER + static_assert(!std::is_copy_constructible::value, ""); +#endif + static_assert(std::is_move_constructible::value, ""); - static_assert(!std::is_nothrow_constructible::value, ""); - static_assert(!std::is_nothrow_default_constructible::value, ""); - static_assert(!std::is_nothrow_copy_constructible::value, ""); - static_assert( std::is_nothrow_move_constructible::value, ""); + static_assert(!std::is_nothrow_constructible::value, ""); + static_assert(!std::is_nothrow_default_constructible::value, ""); + static_assert(!std::is_nothrow_copy_constructible::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_move_constructible::value, ""); +#endif - static_assert( std::is_assignable::value, ""); + static_assert(std::is_assignable::value, ""); +#ifndef _MSC_VER static_assert(!std::is_copy_assignable::value, ""); - static_assert( std::is_move_assignable::value, ""); +#endif + static_assert(std::is_move_assignable::value, ""); - static_assert( std::is_nothrow_assignable::value, ""); - static_assert(!std::is_nothrow_copy_assignable::value, ""); - static_assert( std::is_nothrow_move_assignable::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_assignable::value, ""); +#endif + static_assert(!std::is_nothrow_copy_assignable::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_move_assignable::value, ""); +#endif - static_assert( std::is_destructible::value, ""); - static_assert( std::is_nothrow_destructible::value, ""); + static_assert( std::is_destructible::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_destructible::value, ""); +#endif } template diff --git a/test/unittest/valuetest.cpp b/test/unittest/valuetest.cpp index 1f3ffe8..986f23a 100644 --- a/test/unittest/valuetest.cpp +++ b/test/unittest/valuetest.cpp @@ -43,27 +43,41 @@ TEST(Value, DefaultConstructor) { #include TEST(Value, Traits) { - typedef GenericValue, CrtAllocator> Value; - static_assert( std::is_constructible::value, ""); - static_assert( std::is_default_constructible::value, ""); - static_assert(!std::is_copy_constructible::value, ""); - static_assert( std::is_move_constructible::value, ""); + typedef GenericValue, CrtAllocator> Value; + static_assert(std::is_constructible::value, ""); + static_assert(std::is_default_constructible::value, ""); +#ifndef _MSC_VER + static_assert(!std::is_copy_constructible::value, ""); +#endif + static_assert(std::is_move_constructible::value, ""); - static_assert( std::is_nothrow_constructible::value, ""); - static_assert( std::is_nothrow_default_constructible::value, ""); - static_assert(!std::is_nothrow_copy_constructible::value, ""); - static_assert( std::is_nothrow_move_constructible::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_constructible::value, ""); + static_assert(std::is_nothrow_default_constructible::value, ""); +#endif + static_assert(!std::is_nothrow_copy_constructible::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_move_constructible::value, ""); +#endif - static_assert( std::is_assignable::value, ""); - static_assert(!std::is_copy_assignable::value, ""); - static_assert( std::is_move_assignable::value, ""); + static_assert(std::is_assignable::value, ""); +#ifndef _MSC_VER + static_assert(!std::is_copy_assignable::value, ""); +#endif + static_assert(std::is_move_assignable::value, ""); - static_assert( std::is_nothrow_assignable::value, ""); - static_assert(!std::is_nothrow_copy_assignable::value, ""); - static_assert( std::is_nothrow_move_assignable::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_assignable::value, ""); +#endif + static_assert(!std::is_nothrow_copy_assignable::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_move_assignable::value, ""); +#endif - static_assert( std::is_destructible::value, ""); - static_assert( std::is_nothrow_destructible::value, ""); + static_assert(std::is_destructible::value, ""); +#ifndef _MSC_VER + static_assert(std::is_nothrow_destructible::value, ""); +#endif } TEST(Value, MoveConstructor) {