]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/propgrid/tests.cpp
Adapted wxPropertyGrid documentation, samples, tests, and wxVariantData-macros to...
[wxWidgets.git] / samples / propgrid / tests.cpp
index ebd8e88c0011bd3fd226536570927d38be1bcb8c..6387b62ba358fa784c1dbad40a9ac60dfae97bec 100644 (file)
@@ -501,6 +501,59 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
         pgman = m_pPropGridManager;
     }
 
+    {
+        //
+        // Test wxAny<->wxVariant conversion
+        RT_START_TEST(WXVARIANT_TO_WXANY_CONVERSION)
+
+        wxPGProperty* prop;
+        wxAny any;
+
+#if wxUSE_DATETIME
+        prop = pgman->GetProperty("DateProperty");
+        wxDateTime testTime = wxDateTime::Now();
+        any = testTime;
+        prop->SetValue(any);
+        if ( prop->GetValue().GetAny().As<wxDateTime>() != testTime )
+            RT_FAILURE();
+#endif
+
+        prop = pgman->GetProperty("IntProperty");
+        int testInt = 25537983;
+        any = testInt;
+        prop->SetValue(any);
+        if ( prop->GetValue().GetAny().As<int>() != testInt )
+            RT_FAILURE();
+#ifdef wxLongLong_t
+        if ( prop->GetValue().GetAny().As<wxLongLong_t>() != testInt )
+            RT_FAILURE();
+#endif
+
+        prop = pgman->GetProperty("StringProperty");
+        wxString testString = "asd934jfyn3";
+        any = testString;
+        prop->SetValue(any);
+        if ( prop->GetValue().GetAny().As<wxString>() != testString )
+            RT_FAILURE();
+
+        // Test with a type generated with IMPLEMENT_VARIANT_OBJECT()
+        prop = pgman->GetProperty("ColourProperty");
+        wxColour testCol = *wxCYAN;
+        any = testCol;
+        prop->SetValue(any);
+        if ( prop->GetValue().GetAny().As<wxColour>() != testCol )
+            RT_FAILURE();
+
+        // Test with a type with custom wxVariantData defined by
+        // wxPG headers.
+        prop = pgman->GetProperty("Position");
+        wxPoint testPoint(199, 199);
+        any = testPoint;
+        prop->SetValue(any);
+        if ( prop->GetValue().GetAny().As<wxPoint>() != testPoint )
+            RT_FAILURE();
+    }
+
     {
         RT_START_TEST(GetPropertyValues)