Add wxIntegerValidatorctor ctor taking minimum and maximum value
Using this ctor is more convenient than using the default ctor and then calling SetMin() and SetMax(). Document the new ctor and add tests showing that minimum and maximum values are actually respected. Closes https://github.com/wxWidgets/wxWidgets/pull/2610
This commit is contained in:
parent
a2389fc512
commit
0fc936ca41
3 changed files with 66 additions and 0 deletions
|
|
@ -114,6 +114,40 @@ TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferUnsigned", "[valnum]")
|
|||
CHECK( !valUnsigned.TransferFromWindow() );
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferUnsignedRange", "[valnum]")
|
||||
{
|
||||
unsigned value = 1;
|
||||
wxIntegerValidator<unsigned> valUnsigned(&value, 1, 20);
|
||||
valUnsigned.SetWindow(m_text);
|
||||
|
||||
CHECK( valUnsigned.TransferToWindow() );
|
||||
CHECK( m_text->GetValue() == "1" );
|
||||
|
||||
value = 17;
|
||||
CHECK( valUnsigned.TransferToWindow() );
|
||||
CHECK( m_text->GetValue() == "17" );
|
||||
|
||||
m_text->ChangeValue("foobar");
|
||||
CHECK( !valUnsigned.TransferFromWindow() );
|
||||
|
||||
m_text->ChangeValue("0");
|
||||
CHECK( !valUnsigned.TransferFromWindow() );
|
||||
|
||||
m_text->ChangeValue("1");
|
||||
CHECK( valUnsigned.TransferFromWindow() );
|
||||
CHECK( value == 1);
|
||||
|
||||
m_text->ChangeValue("20");
|
||||
CHECK( valUnsigned.TransferFromWindow() );
|
||||
CHECK( value == 20);
|
||||
|
||||
m_text->ChangeValue("21");
|
||||
CHECK( !valUnsigned.TransferFromWindow() );
|
||||
|
||||
m_text->Clear();
|
||||
CHECK( !valUnsigned.TransferFromWindow() );
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(NumValidatorTestCase, "ValNum::TransferULL", "[valnum]")
|
||||
{
|
||||
unsigned long long value = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue