X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-TextField.cpp;h=a8be49ebdce830ee55817f545b0c26f7568fa9ca;hp=bf3111dc69656046c160383081815c0716f87f12;hb=310a45a9b7c41a598378a6934bbf2658aafa5d1a;hpb=620ac79821b89142af1926f3577c7fa003f16ad3 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index bf3111d..a8be49e 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,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) @@ -321,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; +}