Merge "(Automated Tests) All tests passing on Ubuntu 16.04" into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / utc-Dali-Text-Controller.cpp
old mode 100644 (file)
new mode 100755 (executable)
index ad36607..4edcaad
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -35,7 +35,6 @@ using namespace Text;
 namespace
 {
 
-const char* const OPTION_SELECT_WORD("option-select_word"); // "Select Word" popup option.
 const char* const OPTION_SELECT_ALL("option-select_all");   // "Select All" popup option.
 const char* const OPTION_CUT("optionCut");                  // "Cut" popup option.
 const char* const OPTION_COPY("optionCopy");                // "Copy" popup option.
@@ -146,9 +145,9 @@ int UtcDaliTextControllerEnableCursorBlinking(void)
   // Creates a decorator.
   Text::DecoratorPtr decorator = Text::Decorator::New( *controller,
                                                        *controller );
-
+  InputMethodContext inputMethodContext = InputMethodContext::New();
   // Enables the text input.
-  controller->EnableTextInput( decorator );
+  controller->EnableTextInput( decorator, inputMethodContext );
 
   // Enables the cursor blink.
   controller->SetEnableCursorBlink( true );
@@ -173,7 +172,7 @@ int UtcDaliTextControllerImfEvent(void)
   ControllerPtr controller = Controller::New();
 
   std::string text;
-  ImfManager::ImfEventData imfEvent;
+  InputMethodContext::EventData imfEvent;
 
   DALI_TEST_CHECK( controller );
 
@@ -182,41 +181,39 @@ int UtcDaliTextControllerImfEvent(void)
   Text::DecoratorPtr decorator = Text::Decorator::New( *controller,
                                                        *controller );
 
+  InputMethodContext inputMethodContext = InputMethodContext::New();
   // Enables the text input.
-  controller->EnableTextInput( decorator );
+  controller->EnableTextInput( decorator, inputMethodContext );
 
   // Set the placeholder text.
   controller->SetPlaceholderText( Controller::PLACEHOLDER_TYPE_INACTIVE, "Hello Dali" );
 
-  // Creates an ImfManager.
-  ImfManager imfManager = ImfManager::Get();
-
   // For coverage.
-  imfEvent = ImfManager::ImfEventData( ImfManager::GETSURROUNDING, "", 0, 0 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  imfEvent = InputMethodContext::EventData( InputMethodContext::GET_SURROUNDING, "", 0, 0 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   // Send VOID event.
-  imfEvent = ImfManager::ImfEventData( ImfManager::VOID, "", 0, 0 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  imfEvent = InputMethodContext::EventData( InputMethodContext::VOID, "", 0, 0 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   controller->GetText( text );
   DALI_TEST_CHECK( text.empty() );
 
-  imfEvent = ImfManager::ImfEventData( ImfManager::COMMIT, "Hello ", 0, 6 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  imfEvent = InputMethodContext::EventData( InputMethodContext::COMMIT, "Hello ", 0, 6 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
   controller->GetNaturalSize();
 
   // Check 'Delete All' key which means the input panel send a big range
-  imfEvent = ImfManager::ImfEventData( ImfManager::DELETESURROUNDING, "", -100, 100 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  imfEvent = InputMethodContext::EventData( InputMethodContext::DELETE_SURROUNDING, "", -100, 100 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
   controller->GetNaturalSize();
 
   controller->GetText( text );
   DALI_TEST_EQUALS( "", text, TEST_LOCATION );
 
   // Send COMMIT event.
-  imfEvent = ImfManager::ImfEventData( ImfManager::COMMIT, "Hello ", 0, 6 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  imfEvent = InputMethodContext::EventData( InputMethodContext::COMMIT, "Hello ", 0, 6 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   // Force to update the model.
   controller->GetNaturalSize();
@@ -224,9 +221,9 @@ int UtcDaliTextControllerImfEvent(void)
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello ", text, TEST_LOCATION );
 
-  // Send PREEDIT event
-  imfEvent = ImfManager::ImfEventData( ImfManager::PREEDIT, "w", 6, 1 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  // Send PRE_EDIT event
+  imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "w", 6, 1 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   // Force to update the model.
   controller->GetNaturalSize();
@@ -234,9 +231,9 @@ int UtcDaliTextControllerImfEvent(void)
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello w", text, TEST_LOCATION );
 
-  // Send DELETESURROUNDING event
-  imfEvent = ImfManager::ImfEventData( ImfManager::DELETESURROUNDING, "", -1, 1 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  // Send DELETE_SURROUNDING event
+  imfEvent = InputMethodContext::EventData( InputMethodContext::DELETE_SURROUNDING, "", -1, 1 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   // Force to update the model.
   controller->GetNaturalSize();
@@ -244,9 +241,9 @@ int UtcDaliTextControllerImfEvent(void)
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello ", text, TEST_LOCATION );
 
-  // Send PREEDIT event
-  imfEvent = ImfManager::ImfEventData( ImfManager::PREEDIT, "wo", 6, 2 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  // Send PRE_EDIT event
+  imfEvent = InputMethodContext::EventData( InputMethodContext::PRE_EDIT, "wo", 6, 2 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   // Force to update the model.
   controller->GetNaturalSize();
@@ -254,16 +251,16 @@ int UtcDaliTextControllerImfEvent(void)
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello wo", text, TEST_LOCATION );
 
-  // Send GETSURROUNDING event
-  imfEvent = ImfManager::ImfEventData( ImfManager::GETSURROUNDING, "", 0, 0 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  // Send GET_SURROUNDING event
+  imfEvent = InputMethodContext::EventData( InputMethodContext::GET_SURROUNDING, "", 0, 0 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello wo", text, TEST_LOCATION );
 
-  // Send PRIVATECOMMAND event
-  imfEvent = ImfManager::ImfEventData( ImfManager::PRIVATECOMMAND, "", 0, 0 );
-  controller->OnImfEvent( imfManager, imfEvent );
+  // Send PRIVATE_COMMAND event
+  imfEvent = InputMethodContext::EventData( InputMethodContext::PRIVATE_COMMAND, "", 0, 0 );
+  controller->OnInputMethodContextEvent( inputMethodContext, imfEvent );
 
   controller->GetText( text );
   DALI_TEST_EQUALS( "Hello wo", text, TEST_LOCATION );
@@ -291,8 +288,9 @@ int UtcDaliTextControllerTextPopupButtonTouched(void)
   Text::DecoratorPtr decorator = Text::Decorator::New( *controller,
                                                        *controller );
 
+  InputMethodContext inputMethodContext = InputMethodContext::New();
   // Enables the text input.
-  controller->EnableTextInput( decorator );
+  controller->EnableTextInput( decorator, inputMethodContext );
 
   // Creates the text's popup.
   TextSelectionPopupCallbackInterface& callbackInterface = *controller;
@@ -479,8 +477,9 @@ int UtcDaliTextControllerSetGetCheckProperty(void)
   // Creates a decorator.
   Text::DecoratorPtr decorator = Text::Decorator::New( *controller, *controller );
 
+  InputMethodContext inputMethodContext = InputMethodContext::New();
   // Enables the text input.
-  controller->EnableTextInput( decorator );
+  controller->EnableTextInput( decorator, inputMethodContext );
 
   DALI_TEST_CHECK( !controller->IsInputModePassword() );
 
@@ -523,8 +522,9 @@ int UtcDaliTextControllerSetGetTapLongPressAction(void)
   // Creates a decorator.
   Text::DecoratorPtr decorator = Text::Decorator::New( *controller, *controller );
 
+  InputMethodContext inputMethodContext = InputMethodContext::New();
   // Enables the text input.
-  controller->EnableTextInput( decorator );
+  controller->EnableTextInput( decorator, inputMethodContext );
 
   DALI_TEST_EQUALS( Controller::NoTextTap::NO_ACTION, controller->GetNoTextDoubleTapAction(), TEST_LOCATION );
   controller->SetNoTextDoubleTapAction( Controller::NoTextTap::HIGHLIGHT );
@@ -558,8 +558,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // single line, line spacing = 0px
   {
     const float EXPECTED_SPACING = 0.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE( 326.0f, 19.0f);
-    const Vector3 EXPECTED_NATURAL_SIZE( 326.0f, 20.0f, 0.0f );
+    const Vector2 EXPECTED_LAYOUT_SIZE( 343.0f, 19.0f);
+    const Vector3 EXPECTED_NATURAL_SIZE( 344.0f, 20.0f, 0.0f );
 
     controller->SetText(textSingle);
     controller->Relayout(size);
@@ -577,8 +577,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // single line, line spacing = 20px
   {
     const float EXPECTED_SPACING = 20.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE( 326.0f, 19.0f );
-    const Vector3 EXPECTED_NATURAL_SIZE( 326.0f, 40.0f, 0.0f );
+    const Vector2 EXPECTED_LAYOUT_SIZE( 343.0f, 19.0f );
+    const Vector3 EXPECTED_NATURAL_SIZE( 344.0f, 40.0f, 0.0f );
 
     controller->SetText(textSingle);
     controller->Relayout(size);
@@ -597,8 +597,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // multi-line, line spacing = 0px
   {
     const float EXPECTED_SPACING = 0.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE( 318.0f, 39.0f );
-    const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 58.0f, 0.0f );
+    const Vector2 EXPECTED_LAYOUT_SIZE( 333.0f, 39.0f );
+    const Vector3 EXPECTED_NATURAL_SIZE( 120.0f, 58.0f, 0.0f );
 
     controller->SetText(textMulti);
     controller->Relayout(size);
@@ -617,8 +617,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // multi-line, line spacing = 20px
   {
     const float EXPECTED_SPACING = 20.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE( 115.0f, 57.0f );
-    const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 118.0f, 0.0f );
+    const Vector2 EXPECTED_LAYOUT_SIZE( 119.0f, 57.0f );
+    const Vector3 EXPECTED_NATURAL_SIZE( 120.0f, 118.0f, 0.0f );
 
     controller->SetText(textMulti);
     controller->Relayout(size);
@@ -637,8 +637,8 @@ int UtcDaliTextControllerSetGetLineSpacingProperty(void)
   // multi-line, line spacing = 30px
   {
     const float EXPECTED_SPACING = 30.0f;
-    const Vector2 EXPECTED_LAYOUT_SIZE( 115.0f, 117.0f );
-    const Vector3 EXPECTED_NATURAL_SIZE( 116.0f, 148.0f, 0.0f );
+    const Vector2 EXPECTED_LAYOUT_SIZE( 119.0f, 117.0f );
+    const Vector3 EXPECTED_NATURAL_SIZE( 120.0f, 148.0f, 0.0f );
 
     controller->SetText(textMulti);
     controller->Relayout(size);