'wx(U)LongLong << variant' type safety improved (now works even if variant has plain long value). Added << operator and WXVARIANT template specialization for wx(U)LongLong_t as well. Changed WX_PG_DECLARE/IMPLEMENT_VARIANT_DATA so that classname << variant can be customized.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -755,7 +755,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
pgman->SetPropertyValue(wxT("FloatProperty"),1024.0000000001);
|
||||
pgman->SetPropertyValue(wxT("BoolProperty"),FALSE);
|
||||
pgman->SetPropertyValue(wxT("EnumProperty"),120);
|
||||
pgman->SetPropertyValue(wxT("Custom FlagsProperty"),FLAG_TEST_SET1);
|
||||
pgman->SetPropertyValue(wxT("ArrayStringProperty"),test_arrstr_1);
|
||||
wxColour emptyCol;
|
||||
pgman->SetPropertyValue(wxT("ColourProperty"),emptyCol);
|
||||
@@ -782,8 +781,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
RT_FAILURE();
|
||||
if ( pg->GetPropertyValueAsArrayString(wxT("ArrayStringProperty")) != test_arrstr_1 )
|
||||
RT_FAILURE();
|
||||
if ( pg->GetPropertyValueAsLong(wxT("Custom FlagsProperty")) != FLAG_TEST_SET1 )
|
||||
RT_FAILURE();
|
||||
wxColour col;
|
||||
col << pgman->GetPropertyValue(wxT("ColourProperty"));
|
||||
if ( col != *wxBLACK )
|
||||
@@ -809,7 +806,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
pg->SetPropertyValue(wxT("BoolProperty"),TRUE);
|
||||
pg->SetPropertyValue(wxT("EnumProperty"),80);
|
||||
pg->SetPropertyValue(wxT("ArrayStringProperty"),test_arrstr_2);
|
||||
pg->SetPropertyValue(wxT("Custom FlagsProperty"),FLAG_TEST_SET2);
|
||||
pg->SetPropertyValue(wxT("ColourProperty"),(wxObject*)wxWHITE);
|
||||
pg->SetPropertyValue(wxT("Size"),wxSize(300,300));
|
||||
pg->SetPropertyValue(wxT("Position"),wxPoint(300,300));
|
||||
@@ -834,8 +830,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
RT_FAILURE();
|
||||
if ( pgman->GetPropertyValueAsArrayString(wxT("ArrayStringProperty")) != test_arrstr_2 )
|
||||
RT_FAILURE();
|
||||
if ( pgman->GetPropertyValueAsLong(wxT("Custom FlagsProperty")) != FLAG_TEST_SET2 )
|
||||
RT_FAILURE();
|
||||
col << pgman->GetPropertyValue(wxT("ColourProperty"));
|
||||
if ( col != *wxWHITE )
|
||||
RT_FAILURE();
|
||||
@@ -854,6 +848,58 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
if ( pgman->GetPropertyValueAsLongLong(wxT("IntProperty")) != wxLL(-80000000000) )
|
||||
RT_FAILURE();
|
||||
|
||||
//
|
||||
// Flexible wx(U)LongLong << operator safety conformance tests
|
||||
wxPGProperty* prop;
|
||||
wxLongLong ll;
|
||||
wxULongLong ull;
|
||||
|
||||
prop = pgman->GetProperty(wxT("IntProperty"));
|
||||
prop->SetValue(128);
|
||||
ll << prop->GetValue();
|
||||
if ( ll != 128 )
|
||||
RT_FAILURE();
|
||||
|
||||
prop->SetValue(WXVARIANT(wxLL(68719476736)));
|
||||
ll << prop->GetValue();
|
||||
if ( ll.GetValue() != wxLL(68719476736) )
|
||||
RT_FAILURE();
|
||||
|
||||
#if wxUSE_LONGLONG_NATIVE
|
||||
wxLongLong_t ll_t;
|
||||
ll_t << prop->GetValue();
|
||||
if ( ll_t != wxLL(68719476736) )
|
||||
RT_FAILURE();
|
||||
#endif
|
||||
|
||||
prop->SetValue(256);
|
||||
ll << prop->GetValue();
|
||||
if ( ll != 256 )
|
||||
RT_FAILURE();
|
||||
|
||||
prop = pgman->GetProperty(wxT("UIntProperty"));
|
||||
prop->SetValue(128);
|
||||
ull << prop->GetValue();
|
||||
if ( ull != 128 )
|
||||
RT_FAILURE();
|
||||
|
||||
prop->SetValue(WXVARIANT(wxULL(68719476739)));
|
||||
ull << prop->GetValue();
|
||||
if ( ull.GetValue() != wxULL(68719476739) )
|
||||
RT_FAILURE();
|
||||
|
||||
#if wxUSE_LONGLONG_NATIVE
|
||||
wxULongLong_t ull_t;
|
||||
ull_t << prop->GetValue();
|
||||
if ( ull_t != wxLL(68719476739) )
|
||||
RT_FAILURE();
|
||||
#endif
|
||||
|
||||
prop->SetValue(256);
|
||||
ull << prop->GetValue();
|
||||
if ( ull != 256 )
|
||||
RT_FAILURE();
|
||||
|
||||
// Make sure children of composite parent get updated as well
|
||||
// Original string value: "Lamborghini Diablo SV; 5707; [300; 3.9; 8.6] 300000"
|
||||
|
||||
@@ -891,7 +937,6 @@ bool FormMain::RunTests( bool fullTest, bool interactive )
|
||||
pgman->SetPropertyValueUnspecified(wxT("BoolProperty"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("EnumProperty"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("ArrayStringProperty"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("Custom FlagsProperty"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("ColourProperty"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("Size"));
|
||||
pgman->SetPropertyValueUnspecified(wxT("Position"));
|
||||
|
Reference in New Issue
Block a user