[AT-SPI] Squashed implementation
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-PushButton.cpp
index a013d58..5913861 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -133,9 +133,9 @@ Dali::Integration::Point GetPointUpOutside()
 // Set up the position of the button for the default test events
 void SetupButtonForTestTouchEvents( ToolkitTestApplication& application, Button& button, bool useDefaultImages )
 {
-  button.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  button.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  button.SetPosition( BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
+  button.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  button.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  button.SetProperty( Actor::Property::POSITION, BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
   if ( useDefaultImages )
   {
     const Vector2 TEST_IMAGE_SIZE = Vector2( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
@@ -167,7 +167,7 @@ static std::string GetButtonText( Button button )
 
 int UtcDaliPushButtonConstructorP(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   PushButton button;
 
@@ -177,7 +177,7 @@ int UtcDaliPushButtonConstructorP(void)
 
 int UtcDaliPushButtonCopyConstructorP(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   // Initialize an object, ref count == 1
   PushButton button = PushButton::New();
@@ -187,9 +187,28 @@ int UtcDaliPushButtonCopyConstructorP(void)
   END_TEST;
 }
 
+int UtcDaliPushButtonMoveConstructor(void)
+{
+  ToolkitTestApplication application;
+
+  PushButton button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  PushButton moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliPushButtonAssignmentOperatorP(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   PushButton button = PushButton::New();
 
@@ -200,9 +219,29 @@ int UtcDaliPushButtonAssignmentOperatorP(void)
   END_TEST;
 }
 
+int UtcDaliPushButtonMoveAssignment(void)
+{
+  ToolkitTestApplication application;
+
+  PushButton button = PushButton::New();
+  DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), false , TEST_LOCATION );
+  button.SetProperty( Button::Property::TOGGLABLE, true );
+  DALI_TEST_EQUALS( button.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+
+  PushButton moved;
+  moved = std::move( button );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_EQUALS( moved.GetProperty<bool>( Button::Property::TOGGLABLE ), true , TEST_LOCATION );
+  DALI_TEST_CHECK( !button );
+
+  END_TEST;
+}
+
 int UtcDaliPushButtonNewP(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   PushButton button = PushButton::New();
 
@@ -212,7 +251,7 @@ int UtcDaliPushButtonNewP(void)
 
 int UtcDaliPushButtonDownCastP(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   PushButton button = PushButton::New();
 
@@ -228,7 +267,7 @@ int UtcDaliPushButtonDownCastP(void)
 
 int UtcDaliPushButtonDownCastN(void)
 {
-  TestApplication application;
+  ToolkitTestApplication application;
 
   BaseHandle unInitializedObject;
 
@@ -464,12 +503,12 @@ int UtcDaliPushButtonPressed(void)
   tet_infoline(" UtcDaliPushButtonPressed");
 
   PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
-  pushButton.SetSize( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::SIZE, BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   application.SendNotification();
   application.Render();
@@ -497,12 +536,12 @@ int UtcDaliPushButtonReleased(void)
   tet_infoline(" UtcDaliPushButtonReleased");
 
   PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
-  pushButton.SetSize( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::SIZE, BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   application.SendNotification();
   application.Render();
@@ -580,12 +619,12 @@ int UtcDaliPushButtonSelected(void)
   tet_infoline(" UtcDaliPushButtonSelected");
 
   PushButton pushButton = PushButton::New();
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
-  pushButton.SetSize( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::SIZE, BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   application.SendNotification();
   application.Render();
@@ -686,21 +725,6 @@ int UtcDaliPushButtonSelected(void)
   END_TEST;
 }
 
-int UtcDaliPushButtonPropertySetIconAlignment(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliPushButtonPropertySetIconAlignment");
-
-  PushButton pushButton = PushButton::New();
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "TOP" );
-  DALI_TEST_EQUALS( pushButton.GetProperty<std::string>( Toolkit::PushButton::Property::ICON_ALIGNMENT ), "TOP", TEST_LOCATION );
-
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "RIGHT" );
-  DALI_TEST_EQUALS( pushButton.GetProperty<std::string>( Toolkit::PushButton::Property::ICON_ALIGNMENT ), "RIGHT", TEST_LOCATION );
-
-  END_TEST;
-}
-
 int UtcDaliPushButtonPropertySetLabelPadding(void)
 {
   ToolkitTestApplication application;
@@ -747,12 +771,12 @@ int UtcDaliPushButtonPaddingLayout(void)
   ImageDimensions testImageSize = Dali::GetClosestImageSize( TEST_IMAGE_ONE );
   const Vector2 TEST_IMAGE_SIZE( testImageSize.GetWidth(), testImageSize.GetHeight() );
 
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 0.0f, 0.0f );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, Vector2( 0.0f, 0.0f ));
   pushButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   application.SendNotification();
   application.Render();
@@ -796,17 +820,17 @@ int UtcDaliPushButtonPaddingLayout(void)
   pushButton.Unparent();
   pushButton = PushButton::New();
 
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 0.0f, 0.0f );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, Vector2( 0.0f, 0.0f ));
   pushButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
 
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "RIGHT" );
-  pushButton.SetProperty( Toolkit::PushButton::Property::UNSELECTED_ICON, TEST_IMAGE_ONE );
-  pushButton.SetProperty( Toolkit::PushButton::Property::SELECTED_ICON, TEST_IMAGE_ONE );
+  pushButton.SetProperty( Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT, "BEGIN" );
+  pushButton.SetProperty( Toolkit::Button::Property::UNSELECTED_VISUAL, TEST_IMAGE_ONE );
+  pushButton.SetProperty( Toolkit::Button::Property::SELECTED_VISUAL, TEST_IMAGE_ONE );
 
   application.SendNotification();
   application.Render();
@@ -894,12 +918,12 @@ int UtcDaliPushButtonAlignmentLayout(void)
 
   PushButton pushButton = PushButton::New();
 
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
-  pushButton.SetPosition( 0.0f, 0.0f );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::POSITION, Vector2( 0.0f, 0.0f ));
   pushButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   // Add a label and get size of control
   pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Label" );
@@ -931,9 +955,9 @@ int UtcDaliPushButtonAlignmentLayout(void)
                                                      ( TEST_IMAGE_SIZE.height + TEST_ICON_PADDING.w + TEST_ICON_PADDING.z ) );
 
   // Add Icon and set its alignment
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "RIGHT" );
-  pushButton.SetProperty( Toolkit::PushButton::Property::UNSELECTED_ICON, TEST_IMAGE_ONE );
-  pushButton.SetProperty( Toolkit::PushButton::Property::SELECTED_ICON, TEST_IMAGE_ONE );
+  pushButton.SetProperty( Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT, "BEGIN" );
+  pushButton.SetProperty( Toolkit::Button::Property::UNSELECTED_VISUAL, TEST_IMAGE_ONE );
+  pushButton.SetProperty( Toolkit::Button::Property::SELECTED_VISUAL, TEST_IMAGE_ONE );
   pushButton.SetProperty( Toolkit::PushButton::Property::ICON_PADDING, TEST_ICON_PADDING );
 
   application.SendNotification();
@@ -960,7 +984,7 @@ int UtcDaliPushButtonAlignmentLayout(void)
   DALI_TEST_EQUALS( size.height, ( std::max( testImageWithPaddingSize.height, labelAndPaddingSize.height) ) , Math::MACHINE_EPSILON_1000, TEST_LOCATION );
 
   // Now test left alignment matches right for size.
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "LEFT" );
+  pushButton.SetProperty( Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT, "END" );
 
   application.SendNotification();
   application.Render();
@@ -1001,8 +1025,8 @@ int UtcDaliPushButtonAlignmentLayout(void)
    *
    */
 
-  tet_infoline("SetProperty on ICON_ALIGNMENT should relayout the Button");
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "TOP" );
+  tet_infoline("SetProperty on LABEL_RELATIVE_ALIGNMENT should relayout the Button");
+  pushButton.SetProperty( Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT, "BOTTOM" );
 
   application.SendNotification();
   application.Render();
@@ -1037,7 +1061,7 @@ int UtcDaliPushButtonAlignmentLayout(void)
    *  +---------+
    */
   tet_infoline(" Test Icon BOTTOM alignment - Width grows to largest of Icon or label (plus padding)");
-  pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "BOTTOM" );
+  pushButton.SetProperty( Toolkit::DevelButton::Property::LABEL_RELATIVE_ALIGNMENT, "TOP" );
 
   application.SendNotification();
   application.Render();
@@ -1057,9 +1081,9 @@ int UtcDaliPushButtonSetUnSelectedVisual01P(void)
   ToolkitTestApplication application;
 
   PushButton pushButton = PushButton::New();
-  pushButton.SetSize( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS );
+  pushButton.SetProperty( Actor::Property::SIZE, Vector2( BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS ) );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
   Property::Map propertyMap;
   propertyMap.Insert(Visual::Property::TYPE,  Visual::COLOR);
@@ -1079,7 +1103,7 @@ int UtcDaliPushButtonSetUnSelectedVisual01P(void)
 
   tet_printf("Remove button from stage\n" );
 
-  Stage::GetCurrent().Remove( pushButton );
+  application.GetScene().Remove( pushButton );
 
   rendererCount = pushButton.GetRendererCount();
   tet_printf("After removing pushbutton from stage the renderer count is(%d)\n ", rendererCount );
@@ -1095,9 +1119,9 @@ int UtcDaliPushButtonSetUnSelectedVisual01P(void)
 
   tet_printf("Added UNSELECTED_VISUAL and add button back to Stage\n");
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
 
-  tet_printf("With UNSELECTED_BACKGROUND_VISUAL and UNSELECTED_ICON the renderer count is(%d)\n", pushButton.GetRendererCount() );
+  tet_printf("With UNSELECTED_BACKGROUND_VISUAL and UNSELECTED_VISUAL the renderer count is(%d)\n", pushButton.GetRendererCount() );
 
   DALI_TEST_EQUALS( pushButton.GetRendererCount(), 2, TEST_LOCATION );
 
@@ -1112,11 +1136,11 @@ int UtcDaliPushButtonSetSelectedVisualN(void)
 
   PushButton pushButton = PushButton::New();
 
-  pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
-  pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT );
+  pushButton.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT );
   pushButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
   application.SendNotification();
   application.Render(0);
 
@@ -1124,7 +1148,7 @@ int UtcDaliPushButtonSetSelectedVisualN(void)
   tet_printf("RendererCount prior to adding visual(%d)\n",preRendererCount);
   DALI_TEST_EQUALS( preRendererCount, 0, TEST_LOCATION );
 
-  Stage::GetCurrent().Remove( pushButton );
+  application.GetScene().Remove( pushButton );
   application.SendNotification();
   application.Render(0);
 
@@ -1136,7 +1160,7 @@ int UtcDaliPushButtonSetSelectedVisualN(void)
   colorMap.Insert(BorderVisual::Property::SIZE,  5.f);
   pushButton.SetProperty( Toolkit::Button::Property::UNSELECTED_VISUAL, colorMap );
 
-  Stage::GetCurrent().Add( pushButton );
+  application.GetScene().Add( pushButton );
   application.SendNotification();
   application.Render(0);
 
@@ -1157,7 +1181,7 @@ int UtcDaliPushButtonToggleSignalP(void)
 
   SetupButtonForTestTouchEvents( application, button, true );
 
-  Stage::GetCurrent().Add( button );
+  application.GetScene().Add( button );
 
   application.SendNotification();
   application.Render();
@@ -1384,4 +1408,4 @@ int UtcDaliPushButtonSetLabelText(void)
   DALI_TEST_EQUALS(GetButtonText( pushButton ), STR, TEST_LOCATION);
 
   END_TEST;
-}
\ No newline at end of file
+}