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=21d7a3ad7d04338160f8cb3a3ee61c6362c4c684;hp=026a74458b47a734fe983d227c8afe40299338da;hb=36a298758d1b6244b7846a0102b528d76002dbda;hpb=f58b8383147de70affa1e3949cf1c6757d705d3c diff --git a/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp b/automated-tests/src/dali-toolkit/utc-Dali-TextField.cpp index 026a744..21d7a3a 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,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) @@ -137,33 +155,6 @@ int UtcDaliTextFieldNewP(void) END_TEST; } -int UtcDaliTextFieldGetPropertyN(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliToolkitTextFieldGetPropertyN"); - TextField field = TextField::New(); - DALI_TEST_CHECK( field ); - - bool assert = false; - try - { - Property::Value value = field.GetProperty( 0 ); - } - catch ( ... ) - { - assert = true; - } - if ( assert ) - { - tet_result(TET_PASS); - } - else - { - tet_result(TET_FAIL); - } - END_TEST; -} - // Positive test case for a method int UtcDaliTextFieldGetPropertyP(void) { @@ -245,34 +236,6 @@ int UtcDaliTextFieldSetPropertyP(void) END_TEST; } -// Negative test case for a method -int UtcDaliTextFieldSetPropertyN(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliToolkitTextFieldSetPropertyN"); - TextField field = TextField::New(); - DALI_TEST_CHECK( field ); - - bool assert = false; - try - { - field.SetProperty( 0, true ); - } - catch ( ... ) - { - assert = true; - } - if ( assert ) - { - tet_result(TET_PASS); - } - else - { - tet_result(TET_FAIL); - } - END_TEST; -} - // Positive Basic Text Renderer test int utcDaliTextFieldBasicRenderP(void) { @@ -322,3 +285,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; +}