X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-internal%2Futc-Dali-Text-Controller.cpp;h=53b45f2c168bfc3f10a018a3901fbf9ed5d247d4;hp=e87c900096c8548e8d9d0cac00a47826e84043b6;hb=309be8bafca890aea5baad5c46679cf207adb497;hpb=4593cc619ab0739fc8586c0c752209c555b0c8e3 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 e87c900..53b45f2 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 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,12 @@ #include #include #include +#include #include -#include +#include +#include #include #include -#include using namespace Dali; using namespace Toolkit; @@ -58,12 +59,7 @@ Dali::KeyEvent GenerateKey( const std::string& keyName, unsigned long timeStamp, const Dali::KeyEvent::State& keyState ) { - return Dali::KeyEvent( keyName, - keyString, - keyCode, - keyModifier, - timeStamp, - keyState ); + return DevelKeyEvent::New( keyName, "", keyString, keyCode, keyModifier, timeStamp, keyState, "", "", Device::Class::NONE, Device::Subclass::NONE ); } } // namespace @@ -390,6 +386,50 @@ int UtcDaliTextControllerImfPreeditStyle(void) END_TEST; } +int UtcDaliTextControllerImfPreeditStyleReverse(void) +{ + tet_infoline(" UtcDaliTextControllerImfPreeditStyleReverse"); + 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 PRE_EDIT event + imfEvent = InputMethodContext::EventData(InputMethodContext::PRE_EDIT, "Reverse", 0, 7); + controller->OnInputMethodContextEvent(inputMethodContext, imfEvent); + + // For coverage, mEditableControlInterface is required. + // Creates a temporary text-field to use mEditableControlInterface. + TextField field = TextField::New(); + Toolkit::Internal::TextField& fieldImpl = GetImpl(field); + ControllerPtr fieldController = fieldImpl.GetTextController(); + Controller::Impl& fieldControllerImpl = Controller::Impl::GetImplementation(*fieldController.Get()); + Controller::Impl& controllerImpl = Controller::Impl::GetImplementation(*controller.Get()); + + // For coverage, mEditableControlInterface is required. + controllerImpl.mEditableControlInterface = fieldControllerImpl.mEditableControlInterface; + + // Set the preedit style as REVERSE + inputMethodContext.SetPreeditStyle(InputMethodContext::PreeditStyle::REVERSE); + controller->GetNaturalSize(); + + controller->GetText(text); + DALI_TEST_EQUALS("Reverse", text, TEST_LOCATION); + + tet_result(TET_PASS); + END_TEST; +} + int UtcDaliTextControllerTextPopupButtonTouched(void) { tet_infoline(" UtcDaliTextControllerTextPopupButtonTouched"); @@ -435,6 +475,9 @@ int UtcDaliTextControllerTextPopupButtonTouched(void) // Sets some text. controller->SetText( "Hello world" ); + // When the TextSelectionPopup is active, the controller has focus. + controller->KeyboardFocusGainEvent(); + // Select the whole text. button = PushButton::DownCast( textPopup.FindChildByName( OPTION_SELECT_ALL ) ); DALI_TEST_CHECK( button ); @@ -679,8 +722,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // single line, line spacing = 0px { const float EXPECTED_SPACING = 0.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 360.0f, 19.0f); - const Vector3 EXPECTED_NATURAL_SIZE( 360.0f, 20.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 349.0f, 19.0f); + const Vector3 EXPECTED_NATURAL_SIZE( 350.0f, 20.0f, 0.0f ); controller->SetText(textSingle); controller->Relayout(size); @@ -698,8 +741,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // single line, line spacing = 20px { const float EXPECTED_SPACING = 20.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 360.0f, 19.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 360.0f, 40.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 349.0f, 19.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 350.0f, 40.0f, 0.0f ); controller->SetText(textSingle); controller->Relayout(size); @@ -718,8 +761,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 0px { const float EXPECTED_SPACING = 0.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 350.0f, 39.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 124.0f, 58.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 339.0f, 39.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 122.0f, 58.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -738,8 +781,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 20px { const float EXPECTED_SPACING = 20.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 124.0f, 57.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 124.0f, 118.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 121.0f, 57.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 122.0f, 118.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -758,8 +801,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void) // multi-line, line spacing = 30px { const float EXPECTED_SPACING = 30.0f; - const Vector2 EXPECTED_LAYOUT_SIZE( 124.0f, 117.0f ); - const Vector3 EXPECTED_NATURAL_SIZE( 124.0f, 148.0f, 0.0f ); + const Vector2 EXPECTED_LAYOUT_SIZE( 121.0f, 117.0f ); + const Vector3 EXPECTED_NATURAL_SIZE( 122.0f, 148.0f, 0.0f ); controller->SetText(textMulti); controller->Relayout(size); @@ -844,7 +887,7 @@ int UtcDaliTextControllerCheckInputColorChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input color const Vector4 newInputColor( 1.0f, 0.0f, 0.0f, 1.0f ); @@ -893,7 +936,7 @@ int UtcDaliTextControllerCheckInputFontFamilyChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font family controller->SetInputFontFamily("SamsungOneUI_300"); @@ -942,7 +985,7 @@ int UtcDaliTextControllerCheckInputFontWeightChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font weight controller->SetInputFontWeight( TextAbstraction::FontWeight::BOLD ); @@ -991,7 +1034,7 @@ int UtcDaliTextControllerCheckInputFontWidthChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font width controller->SetInputFontWidth( TextAbstraction::FontWidth::EXPANDED ); @@ -1040,7 +1083,7 @@ int UtcDaliTextControllerCheckInputFontSlantChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font slant controller->SetInputFontSlant( TextAbstraction::FontSlant::ROMAN ); @@ -1089,7 +1132,7 @@ int UtcDaliTextControllerCheckInputFontPointSizeChanged(void) mImpl.mOperationsPending = Controller::NO_OPERATION; // simulate a key event. - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font point size controller->SetInputFontPointSize( 1.2f ); @@ -1180,7 +1223,7 @@ int UtcDaliTextControllerRemoveTextChangeEventData(void) controller->GetNaturalSize(); // Simulate a key event to delete text - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_BACKSPACE, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_BACKSPACE, 0, 0, Dali::KeyEvent::DOWN ) ); DALI_TEST_EQUALS( EventData::EDITING, mImpl.mEventData->mState, TEST_LOCATION ); @@ -1217,7 +1260,7 @@ int UtcDaliTextControllerCheckInputFontPointSizeUpdated(void) controller->Relayout(size); // simulate a key event. - controller->KeyEvent( GenerateKey( "a", "a", 38, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "a", "a", 38, 0, 0, Dali::KeyEvent::DOWN ) ); // change the input font point size controller->SetInputFontPointSize( 20.f ); @@ -1262,7 +1305,7 @@ int UtcDaliTextControllerDeleteSurroundings(void) controller->Relayout( size ); // Simulate a key event to delete one text - controller->KeyEvent( GenerateKey( "", "", DALI_KEY_BACKSPACE, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "", "", DALI_KEY_BACKSPACE, 0, 0, Dali::KeyEvent::DOWN ) ); // Send DELETE_SURROUNDING event (Delete All text) imfEvent = InputMethodContext::EventData( InputMethodContext::DELETE_SURROUNDING, "", -2, 2 ); @@ -1274,8 +1317,8 @@ int UtcDaliTextControllerDeleteSurroundings(void) controller->Relayout( size ); // simulate a key event to add text - controller->KeyEvent( GenerateKey( "ㅇ", "ㅇ", 238, 0, 0, Dali::KeyEvent::Down ) ); - controller->KeyEvent( GenerateKey( "ㅇ", "ㅇ", 238, 0, 0, Dali::KeyEvent::Down ) ); + controller->KeyEvent( GenerateKey( "ㅇ", "ㅇ", 238, 0, 0, Dali::KeyEvent::DOWN ) ); + controller->KeyEvent( GenerateKey( "ㅇ", "ㅇ", 238, 0, 0, Dali::KeyEvent::DOWN ) ); DALI_TEST_EQUALS( EventData::EDITING, mImpl.mEventData->mState, TEST_LOCATION );