X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TextField.cpp;h=d19b3a12cd997aa40cad05ac6287c2a7c15ff45a;hb=f2a9e28631d560e4821cc542cbc21a71d0a29f2f;hp=bf3111dc69656046c160383081815c0716f87f12;hpb=ebb05c83defab9c07a991ea2f102085ecea3709d;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index bf3111d..d19b3a1 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp @@ -17,8 +17,10 @@ #include #include +#include #include #include +#include using namespace Dali; using namespace Toolkit; @@ -53,6 +55,23 @@ 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 gTextChangedCallBackCalled; +static bool gMaxCharactersCallBackCalled; + +static void TestTextChangedCallback( TextField control ) +{ + tet_infoline(" TestTextChangedCallback"); + + gTextChangedCallBackCalled = true; +} + +static void TestMaxLengthReachedCallback( TextField control ) +{ + tet_infoline(" TestMaxLengthReachedCallback"); + + gMaxCharactersCallBackCalled = true; +} + } // namespace int UtcDaliToolkitTextFieldConstructorP(void) @@ -321,3 +340,125 @@ int utcDaliTextFieldAtlasRenderP(void) END_TEST; } +// Positive test for the text-changed signal. +int utcDaliTextFieldTextChangedP(void) +{ + ToolkitTestApplication application; + tet_infoline(" utcDaliTextFieldTextChangedP"); + TextField field = TextField::New(); + DALI_TEST_CHECK( field ); + + Stage::GetCurrent().Add(field); + + field.TextChangedSignal().Connect(&TestTextChangedCallback); + + gTextChangedCallBackCalled = false; + field.SetProperty( TextField::Property::TEXT, "ABC" ); + DALI_TEST_CHECK( gTextChangedCallBackCalled ); + + application.SendNotification(); + + field.SetKeyInputFocus(); + + Dali::Integration::KeyEvent keyevent; + keyevent.keyName = "D"; + keyevent.keyString = "D"; + keyevent.keyCode = 0; + keyevent.keyModifier = 0; + keyevent.time = 0; + keyevent.state = Integration::KeyEvent::Down; + + gTextChangedCallBackCalled = false; + application.ProcessEvent( keyevent ); + DALI_TEST_CHECK( gTextChangedCallBackCalled ); + + END_TEST; +} + +// Negative test for the text-changed signal. +int utcDaliTextFieldTextChangedN(void) +{ + ToolkitTestApplication application; + tet_infoline(" utcDaliTextFieldTextChangedN"); + TextField field = TextField::New(); + DALI_TEST_CHECK( field ); + + Stage::GetCurrent().Add(field); + + field.TextChangedSignal().Connect(&TestTextChangedCallback); + + gTextChangedCallBackCalled = false; + field.SetProperty( TextField::Property::PLACEHOLDER_TEXT, "ABC" ); // Setting placeholder, not TEXT + DALI_TEST_CHECK( ! gTextChangedCallBackCalled ); + + 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; +}