From: Agnelo Vaz Date: Wed, 20 May 2015 13:14:07 +0000 (+0100) Subject: TextField MaxLengthReachedSignal Tests added X-Git-Tag: accepted/tizen/common/20150529.134100~24 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=310a45a9b7c41a598378a6934bbf2658aafa5d1a TextField MaxLengthReachedSignal Tests added Change-Id: Ia673454cc352c8dee0bdfc891b0c36ea469750bd Signed-off-by: Agnelo Vaz --- diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index 026a744..a8be49e 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp @@ -17,6 +17,7 @@ #include #include +#include #include #include #include @@ -54,6 +55,15 @@ const char* const PROPERTY_NAME_DECORATION_BOUNDING_BOX = "decoration-bounding-b const char* const PROPERTY_NAME_HORIZONTAL_ALIGNMENT = "horizontal-alignment"; const char* const PROPERTY_NAME_VERTICAL_ALIGNMENT = "vertical-alignment"; +static bool gMaxCharactersCallBackCalled; + +static void TestMaxLengthReachedCallback( TextField control ) +{ + tet_infoline(" TestMaxLengthReachedCallbackCallback"); + + gMaxCharactersCallBackCalled = true; +} + } // namespace int UtcDaliToolkitTextFieldConstructorP(void) @@ -322,3 +332,71 @@ int utcDaliTextFieldAtlasRenderP(void) END_TEST; } +// Positive test for Max Characters reached signal. +int utcDaliTextFieldMaxCharactersReachedP(void) +{ + ToolkitTestApplication application; + tet_infoline(" utcDaliTextFieldMaxCharactersReachedP"); + TextField field = TextField::New(); + DALI_TEST_CHECK( field ); + + Stage::GetCurrent().Add(field); + + const int maxNumberOfCharacters = 1; + field.SetProperty( TextField::Property::MAX_LENGTH, maxNumberOfCharacters ); + + field.SetKeyInputFocus(); + + gMaxCharactersCallBackCalled = false; + field.MaxLengthReachedSignal().Connect(&TestMaxLengthReachedCallback); + + Dali::Integration::KeyEvent keyevent; + keyevent.keyName = "a"; + keyevent.keyString = "a"; + keyevent.keyCode = 0; + keyevent.keyModifier = 0; + keyevent.time = 0; + keyevent.state = Integration::KeyEvent::Down; + + application.ProcessEvent( keyevent ); + + application.ProcessEvent( keyevent ); + + DALI_TEST_CHECK( gMaxCharactersCallBackCalled ); + + END_TEST; +} + +// Negative test for Max Characters reached signal. +int utcDaliTextFieldMaxCharactersReachedN(void) +{ + ToolkitTestApplication application; + tet_infoline(" utcDaliTextFieldMaxCharactersReachedN"); + TextField field = TextField::New(); + DALI_TEST_CHECK( field ); + + Stage::GetCurrent().Add(field); + + const int maxNumberOfCharacters = 3; + field.SetProperty( TextField::Property::MAX_LENGTH, maxNumberOfCharacters ); + + field.SetKeyInputFocus(); + + gMaxCharactersCallBackCalled = false; + field.MaxLengthReachedSignal().Connect(&TestMaxLengthReachedCallback); + + Dali::Integration::KeyEvent keyevent; + keyevent.keyName = "a"; + keyevent.keyString = "a"; + keyevent.keyCode = 0; + keyevent.keyModifier = 0; + keyevent.time = 0; + keyevent.state = Integration::KeyEvent::Down; + + application.ProcessEvent( keyevent ); + application.ProcessEvent( keyevent ); + + DALI_TEST_CHECK( !gMaxCharactersCallBackCalled ); + + END_TEST; +}