Add move semantics to common and base Toolkit classes
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-TextField.cpp
old mode 100755 (executable)
new mode 100644 (file)
index b83c5e5..d7ca31f
@@ -387,6 +387,23 @@ int UtcDaliToolkitTextFieldCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliTextFieldMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  TextField textField = TextField::New();
+  textField.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textField.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+
+  TextField moved = std::move( textField );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textField );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitTextFieldAssignmentOperatorP(void)
 {
   ToolkitTestApplication application;
@@ -400,6 +417,24 @@ int UtcDaliToolkitTextFieldAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliTextFieldMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  TextField textField = TextField::New();
+  textField.SetProperty( TextEditor::Property::TEXT, "Test" );
+  DALI_TEST_CHECK( textField.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+
+  TextField moved;
+  moved = std::move( textField );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetProperty<std::string>( TextField::Property::TEXT ) == "Test" );
+  DALI_TEST_CHECK( !textField );
+
+  END_TEST;
+}
+
 int UtcDaliTextFieldNewP(void)
 {
   ToolkitTestApplication application;
@@ -502,7 +537,7 @@ int UtcDaliTextFieldSetPropertyP(void)
   tet_infoline(" UtcDaliToolkitTextFieldSetPropertyP");
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // Note - we can't check the defaults since the stylesheets are platform-specific
 
@@ -959,7 +994,7 @@ int utcDaliTextFieldAtlasRenderP(void)
 
   application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   try
   {
@@ -983,7 +1018,7 @@ int utcDaliTextFieldTextChangedP(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // connect to the text changed signal.
   ConnectionTracker* testTracker = new ConnectionTracker();
@@ -1015,7 +1050,7 @@ int utcDaliTextFieldTextChangedN(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // connect to the text changed signal.
   ConnectionTracker* testTracker = new ConnectionTracker();
@@ -1039,7 +1074,7 @@ int utcDaliTextFieldMaxCharactersReachedP(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   const int maxNumberOfCharacters = 1;
   field.SetProperty( TextField::Property::MAX_LENGTH, maxNumberOfCharacters );
@@ -1071,7 +1106,7 @@ int utcDaliTextFieldMaxCharactersReachedN(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   const int maxNumberOfCharacters = 3;
   field.SetProperty( TextField::Property::MAX_LENGTH, maxNumberOfCharacters );
@@ -1139,7 +1174,7 @@ int utcDaliTextFieldInputStyleChanged01(void)
   bool inputStyleChangedSignal = false;
   field.ConnectSignal( testTracker, "inputStyleChanged",   CallbackFunctor(&inputStyleChangedSignal) );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // Render and notify
   application.SendNotification();
@@ -1347,7 +1382,7 @@ int utcDaliTextFieldInputStyleChanged02(void)
   bool inputStyleChangedSignal = false;
   field.ConnectSignal( testTracker, "inputStyleChanged",   CallbackFunctor(&inputStyleChangedSignal) );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // Render and notify
   application.SendNotification();
@@ -1528,7 +1563,7 @@ int utcDaliTextFieldEvent01(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
@@ -1585,7 +1620,7 @@ int utcDaliTextFieldEvent01(void)
   field2.SetProperty( Actor::Property::SIZE, Vector2( 100.f, 100.f ) );
   field2.SetProperty( Actor::Property::POSITION, Vector2( 100.0f, 100.0f ));
 
-  Stage::GetCurrent().Add( field2 );
+  application.GetScene().Add( field2 );
 
   // Render and notify
   application.SendNotification();
@@ -1624,7 +1659,7 @@ int utcDaliTextFieldEvent02(void)
   DALI_TEST_CHECK( field );
   LoadMarkerImages(application, field);
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
@@ -1775,7 +1810,7 @@ int utcDaliTextFieldEvent03(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   field.SetProperty( TextField::Property::TEXT, "This is a long text for the size of the text-field." );
   field.SetProperty( TextField::Property::POINT_SIZE, 10.f );
@@ -1832,7 +1867,7 @@ int utcDaliTextFieldEvent04(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -1885,7 +1920,7 @@ int utcDaliTextFieldEvent05(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -1936,7 +1971,7 @@ int utcDaliTextFieldEvent06(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -1987,7 +2022,7 @@ int utcDaliTextFieldEvent07(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -2030,7 +2065,7 @@ int utcDaliTextFieldEvent08(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -2067,7 +2102,7 @@ int utcDaliTextFieldEvent08(void)
 
   Wait(application, 500);
 
-  Stage stage = Stage::GetCurrent();
+  Integration::Scene stage = application.GetScene();
   Layer layer = stage.GetRootLayer();
   Actor actor = layer.FindChildByName("optionPaste");
 
@@ -2098,7 +2133,7 @@ int utcDaliTextFieldEvent09(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -2185,7 +2220,7 @@ int utcDaliTextFieldStyleWhilstSelected(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -2293,7 +2328,7 @@ int utcDaliTextFieldEscKeyLoseFocus(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
@@ -2367,7 +2402,7 @@ int utcDaliTextFieldSomeSpecialKeys(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
   LoadMarkerImages(application, field);
   // Render and notify
   application.SendNotification();
@@ -2446,7 +2481,7 @@ int utcDaliTextFieldSizeUpdate(void)
   // Checks some special keys when the text is selected.
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   float previousHeight = 0.0f;
   float currentHeight = 0.0f;
@@ -2496,7 +2531,7 @@ int utcDaliTextFieldExtremlyLargePointSize(void)
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   try
   {
@@ -2517,7 +2552,7 @@ int UtcDaliTextFieldDefaultFontStylePropertyCoverage(void)
   tet_infoline("UtcDaliTextFieldFontStylePorpertyCoverage");
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   Property::Map fontStyleMapGet;
 
@@ -2543,7 +2578,7 @@ int UtcDaliTextFieldSettingPlaceholder(void)
 
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   // Check the placeholder property with pixel size
   Property::Map placeholderPixelSizeMapSet;
@@ -2626,7 +2661,7 @@ int UtcDaliTextFieldSetPaddingProperty(void)
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   application.SendNotification();
   application.Render();
@@ -2659,7 +2694,7 @@ int UtcDaliTextFieldEnableShiftSelectionProperty(void)
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   application.SendNotification();
   application.Render();
@@ -2687,7 +2722,7 @@ int UtcDaliTextFieldEnableGrabHandleProperty(void)
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   application.SendNotification();
   application.Render();
@@ -2715,7 +2750,7 @@ int UtcDaliTextFieldMatchSystemLanguageDirectionProperty(void)
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   field.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   application.SendNotification();
   application.Render();
@@ -2743,7 +2778,7 @@ int utcDaliTextFieldLayoutDirectionCoverage(void)
   TextField field = TextField::New();
   DALI_TEST_CHECK( field );
 
-  Stage::GetCurrent().Add( field );
+  application.GetScene().Add( field );
 
   field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
@@ -2832,7 +2867,7 @@ int UtcDaliTextFieldSelectWholeText(void)
 
   TextField textField = TextField::New();
 
-  Stage::GetCurrent().Add( textField );
+  application.GetScene().Add( textField );
 
   textField.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   textField.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
@@ -2884,7 +2919,7 @@ int UtcDaliTextFieldSelectNone(void)
 
   TextField textField = TextField::New();
 
-  Stage::GetCurrent().Add( textField );
+  application.GetScene().Add( textField );
 
   textField.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 50.f ) );
   textField.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );