X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-Controller.cpp;h=5db928d03ace1fd359b088808e1883a74b2fa51b;hb=e42eae056cc228f9349b7ba3c8353e9c8c721632;hp=d37a1dbcb295ae59ea1ea54c9550665fd9fe5d85;hpb=60adf82ffbedaf4f10b55cb5f5aac1cb7d514b16;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp index d37a1db..5db928d 100755 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-Text-Controller.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -257,6 +258,9 @@ int UtcDaliTextControllerImfEvent(void) controller->GetText( text ); DALI_TEST_EQUALS( "Hello ", text, TEST_LOCATION ); + // for coverage + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::UNDERLINE ); + // Send PRE_EDIT event imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "wo", 6, 2 ); controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); @@ -285,6 +289,107 @@ int UtcDaliTextControllerImfEvent(void) END_TEST; } +int UtcDaliTextControllerImfPreeditStyle(void) +{ + tet_infoline(" UtcDaliTextControllerImfPreeditStyle"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + std::string text; + InputMethodContext::EventData imfEvent; + + DALI_TEST_CHECK( controller ); + + // Configures the text controller similarly to the text-field. + ConfigureTextField( controller ); + + InputMethodContext inputMethodContext = InputMethodContext::New(); + + // Send COMMIT event. + imfEvent = InputMethodContext::EventData( InputMethodContext::COMMIT, "Hello ", 0, 6 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Force to update the model. + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello ", text, TEST_LOCATION ); + + // Send PRE_EDIT event + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::NONE ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as REVERSE + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::REVERSE ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as HIGHLIGHT + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::HIGHLIGHT ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as CUSTOM_PLATFORM_STYLE_1 + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::CUSTOM_PLATFORM_STYLE_1 ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as CUSTOM_PLATFORM_STYLE_2 + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::CUSTOM_PLATFORM_STYLE_2 ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as CUSTOM_PLATFORM_STYLE_3 + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::CUSTOM_PLATFORM_STYLE_3 ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 ); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Set the preedit style as CUSTOM_PLATFORM_STYLE_4 + inputMethodContext.SetPreeditStyle( InputMethodContext::PreeditStyle::CUSTOM_PLATFORM_STYLE_4 ); + controller->GetNaturalSize(); + + controller->GetText( text ); + DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION ); + + tet_result(TET_PASS); + END_TEST; +} + int UtcDaliTextControllerTextPopupButtonTouched(void) { tet_infoline(" UtcDaliTextControllerTextPopupButtonTouched"); @@ -1002,3 +1107,128 @@ int UtcDaliTextControllerCheckInputFontPointSizeChanged(void) END_TEST; } + +int UtcDaliTextControllerSelectEvent(void) +{ + tet_infoline(" UtcDaliTextControllerSelectEvent"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + // Configures the text controller similarly to the text-field. + ConfigureTextField( controller ); + + // Set the text + const std::string text("Hello World!"); + controller->SetText( text ); + + // Select the whole text. + controller->SelectEvent( 0.f, 0.f, SelectionType::INTERACTIVE ); + + // Perform a relayout + const Size size( Dali::Stage::GetCurrent().GetSize() ); + controller->Relayout(size); + + // Get the implementation of the text controller + Controller::Impl& mImpl = Controller::Impl::GetImplementation( *controller.Get() ); + + // Check if the whole text is selected or not. + std::string retrieved_text; + mImpl.RetrieveSelection( retrieved_text, false ); + DALI_TEST_EQUALS( "Hello", retrieved_text, TEST_LOCATION ); + + // Select the whole text. + controller->SelectEvent( 0.f, 0.f, SelectionType::ALL ); + + // Perform a relayout + controller->Relayout( size ); + + mImpl.RetrieveSelection( retrieved_text, false ); + DALI_TEST_EQUALS( text, retrieved_text, TEST_LOCATION ); + + END_TEST; +} + + +int UtcDaliTextControllerRemoveTextChangeEventData(void) +{ + tet_infoline(" UtcDaliTextControllerRemoveTextChangeEventData"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + ConfigureTextField( controller ); + + // Set the text + const std::string text( "Hello World!" ); + controller->SetText( text ); + controller->SetInputFontPointSize( 1.0f ); + + // Get the implementation of the text controller + Controller::Impl& mImpl = Controller::Impl::GetImplementation( *controller.Get() ); + + DALI_TEST_EQUALS( EventData::INACTIVE, mImpl.mEventData->mState, TEST_LOCATION ); + + // Send DELETE_SURROUNDING event + InputMethodContext::EventData imfEvent = InputMethodContext::EventData( InputMethodContext::DELETE_SURROUNDING, "", -1, 1 ); + InputMethodContext inputMethodContext = InputMethodContext::New(); + controller->OnInputMethodContextEvent( inputMethodContext, imfEvent ); + + // Force to update the model. + controller->GetNaturalSize(); + + // Simulate a key event to delete text + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_BACKSPACE, 0, 0, Dali::KeyEvent::Down ) ); + + DALI_TEST_EQUALS( EventData::EDITING, mImpl.mEventData->mState, TEST_LOCATION ); + + // Perform a relayout + const Size size( Dali::Stage::GetCurrent().GetSize() ); + controller->Relayout( size ); + + tet_result(TET_PASS); + + END_TEST; +} + +int UtcDaliTextControllerCheckInputFontPointSizeUpdated(void) +{ + tet_infoline(" UtcDaliTextControllerCheckInputFontPointSizeUpdated"); + ToolkitTestApplication application; + + // Creates a text controller. + ControllerPtr controller = Controller::New(); + + ConfigureTextField(controller); + + // Set the text + const std::string text("Hello World!"); + controller->SetText( text ); + controller->SetInputFontPointSize( 1.0f ); + controller->KeyboardFocusGainEvent(); + + application.SendNotification(); + application.Render(); + + // Perform a relayout + const Size size( Dali::Stage::GetCurrent().GetSize() ); + controller->Relayout(size); + + // simulate a key event. + controller->KeyEvent( GenerateKey( "a", "a", 38, 0, 0, Dali::KeyEvent::Down ) ); + + // change the input font point size + controller->SetInputFontPointSize( 20.f ); + + application.SendNotification(); + application.Render(); + + // Perform a relayout + controller->Relayout(size); + + tet_result(TET_PASS); + + END_TEST; +}