From 310a45a9b7c41a598378a6934bbf2658aafa5d1a Mon Sep 17 00:00:00 2001 From: Agnelo Vaz Date: Wed, 20 May 2015 14:14:07 +0100 Subject: [PATCH] TextField MaxLengthReachedSignal Tests added Change-Id: Ia673454cc352c8dee0bdfc891b0c36ea469750bd Signed-off-by: Agnelo Vaz --- .../src/dali-toolkit/utc-Dali-TextField.cpp | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) 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; +} -- 2.7.4