]> git.saurik.com Git - wxWidgets.git/commitdiff
Improve wxAny<->wxVariant conversion 64-bit integer tests
authorJaakko Salli <jaakko.salli@dnainternet.net>
Mon, 19 Apr 2010 14:23:49 +0000 (14:23 +0000)
committerJaakko Salli <jaakko.salli@dnainternet.net>
Mon, 19 Apr 2010 14:23:49 +0000 (14:23 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/any/anytest.cpp

index 35e585224c84352373cd006b90aa8acfc555304e..d405b5cf2fbd576083f0456f091c4086aaa61338 100644 (file)
@@ -447,7 +447,7 @@ void wxAnyTestCase::wxVariantConversions()
     wxVariant vBool((bool)true);
     wxVariant vChar('A');
 #ifdef wxLongLong_t
-    wxVariant vLongLong(wxLongLong(wxLL(0xFFFFFFFFFF)));
+    wxVariant vLongLong(wxLongLong(wxLL(0xAABBBBCCCC)));
     wxVariant vULongLong(wxULongLong(wxULL(123456)));
 #endif
     wxArrayString arrstr;
@@ -514,16 +514,25 @@ void wxAnyTestCase::wxVariantConversions()
 
 #ifdef wxLongLong_t
     any = wxAny(vLongLong);
-    CPPUNIT_ASSERT(any == wxLL(0xFFFFFFFFFF));
+    CPPUNIT_ASSERT(any == wxLL(0xAABBBBCCCC));
     res = any.GetAs(&variant);
     CPPUNIT_ASSERT(res);
-    CPPUNIT_ASSERT(variant.GetLongLong() == wxLongLong(wxLL(0xFFFFFFFFFF)));
     CPPUNIT_ASSERT(variant.GetType() == "longlong");
+    CPPUNIT_ASSERT(variant.GetLongLong() == wxLongLong(wxLL(0xAABBBBCCCC)));
+
+#if LONG_MAX == wxINT64_MAX
+    // As a sanity check, test that wxVariant of type 'long' converts
+    // seamlessly to 'longlong' (on some 64-bit systems)
+    any = 0xAABBBBCCCCL;
+    res = any.GetAs(&variant);
+    CPPUNIT_ASSERT(variant.GetLongLong() == wxLongLong(wxLL(0xAABBBBCCCC)));
+#endif
 
     any = wxAny(vULongLong);
     CPPUNIT_ASSERT(any == wxLL(123456));
     res = any.GetAs(&variant);
     CPPUNIT_ASSERT(res);
+    CPPUNIT_ASSERT(variant.GetType() == "ulonglong");
     CPPUNIT_ASSERT(variant.GetULongLong() == wxULongLong(wxULL(123456)));
 #endif