Fixed size-related popup test case
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-Popup.cpp
index f9fd513..cd38bc3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -55,8 +55,22 @@ const int RENDER_FRAME_INTERVAL = 10;                          ///< Duration of
 const int RENDER_ANIMATION_TEST_DURATION_MS = 2000;            ///< 2000ms to test animation.
 const int RENDER_ANIMATION_TEST_DURATION_FRAMES = RENDER_ANIMATION_TEST_DURATION_MS / RENDER_FRAME_INTERVAL; ///< equivalent frames.
 const Vector3 DEFAULT_BUTTON_SIZE(100.0f, 50.0f, 0.0f);
-const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10.0f, 10.0f );
-const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10.0f, 10.0f );
+
+Dali::Integration::Point GetPointDown()
+{
+  Dali::Integration::Point point;
+  point.SetState( PointState::DOWN );
+  point.SetScreenPosition( Vector2( 10, 10 ) );
+  return point;
+}
+
+Dali::Integration::Point GetPointUp()
+{
+  Dali::Integration::Point point;
+  point.SetState( PointState::UP );
+  point.SetScreenPosition( Vector2( 10, 10 ) );
+  return point;
+}
 
 /**
  * Counts how many descendants root Actor has, including
@@ -627,14 +641,14 @@ int UtcDaliPopupOnTouchedOutsideSignal(void)
   Dali::Integration::TouchEvent event;
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
+  event.AddPoint( GetPointDown() );
   application.ProcessEvent( event );
 
   application.SendNotification();
   application.Render();
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
+  event.AddPoint( GetPointUp() );
   application.ProcessEvent( event );
 
   application.SendNotification();
@@ -645,14 +659,14 @@ int UtcDaliPopupOnTouchedOutsideSignal(void)
   popup.SetProperty( Popup::Property::TOUCH_TRANSPARENT, true );
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDownOutside );
+  event.AddPoint( GetPointDown() );
   application.ProcessEvent( event );
 
   application.SendNotification();
   application.Render();
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUpOutside );
+  event.AddPoint( GetPointUp() );
   application.ProcessEvent( event );
 
   application.SendNotification();
@@ -902,11 +916,11 @@ int UtcDaliPopupPropertyContextualMode(void)
   // Test all contextual modes.
   const char* mode[5] = { "NON_CONTEXTUAL", "ABOVE", "RIGHT", "BELOW", "LEFT" };
   Vector2 offsetValues[5];
-  offsetValues[0] = Vector2( 0.0f, 0.0f );
-  offsetValues[1] = Vector2( 0.0f, -10.0f );
-  offsetValues[2] = Vector2( 10.0f, 0.0f );
-  offsetValues[3] = Vector2( 0.0f, 10.0f );
-  offsetValues[4] = Vector2( -10.0f, 0.0f );
+  offsetValues[0] = Vector2( 0.375f, 0.0f );
+  offsetValues[1] = Vector2( -0.125f, -10.5f );
+  offsetValues[2] = Vector2( 10.875f, -0.5f );
+  offsetValues[3] = Vector2( -0.125f, 10.5f );
+  offsetValues[4] = Vector2( -10.875f, -0.5f );
 
   for( int i = 0; i < 5; ++i )
   {
@@ -1000,11 +1014,11 @@ int UtcDaliPopupPropertyBackgroundImage(void)
   Popup popup = Popup::New();
   Stage::GetCurrent().Add( popup );
 
-  // Check setting an invalid image.
+  // Check setting an image
   popup.SetProperty( Toolkit::Popup::Property::POPUP_BACKGROUND_IMAGE, "invalid-image.png" );
   std::string resultString;
   popup.GetProperty( Toolkit::Popup::Property::POPUP_BACKGROUND_IMAGE ).Get( resultString );
-  DALI_TEST_EQUALS( resultString, std::string(""), TEST_LOCATION );
+  DALI_TEST_EQUALS( resultString, "invalid-image.png", TEST_LOCATION );
 
   END_TEST;
 }
@@ -1057,9 +1071,9 @@ int UtcDaliPopupPropertyCustomAnimation(void)
 
   Property::Map resultMap;
   DALI_TEST_CHECK( popup.GetProperty( Toolkit::Popup::Property::ENTRY_ANIMATION ).Get( resultMap ) );
-  DALI_TEST_EQUALS( resultMap.Count(), 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( resultMap.Count(), 0u, TEST_LOCATION );
   DALI_TEST_CHECK( popup.GetProperty( Toolkit::Popup::Property::EXIT_ANIMATION ).Get( resultMap ) );
-  DALI_TEST_EQUALS( resultMap.Count(), 0, TEST_LOCATION );
+  DALI_TEST_EQUALS( resultMap.Count(), 0u, TEST_LOCATION );
 
   Stage::GetCurrent().Add( popup );
   popup.SetDisplayState( Popup::SHOWN );
@@ -1127,18 +1141,16 @@ int UtcDaliPopupPropertyTouchTransparent(void)
 
   gPushButtonClicked = false;
   Dali::Integration::TouchEvent event;
-  const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 10.0f );
-  const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 10.0f, 10.0f );
 
   // Perform a click, the popup should block the click from hitting the button.
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDown );
+  event.AddPoint( GetPointDown() );
   application.ProcessEvent( event );
   application.SendNotification();
   application.Render();
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUp );
+  event.AddPoint( GetPointUp() );
   application.ProcessEvent( event );
   application.SendNotification();
   application.Render();
@@ -1153,13 +1165,13 @@ int UtcDaliPopupPropertyTouchTransparent(void)
 
   // Perform a click, the popup should allow the click to travel through to the button.
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointDown );
+  event.AddPoint( GetPointDown() );
   application.ProcessEvent( event );
   application.SendNotification();
   application.Render();
 
   event = Dali::Integration::TouchEvent();
-  event.AddPoint( pointUp );
+  event.AddPoint( GetPointUp() );
   application.ProcessEvent( event );
   application.SendNotification();
   application.Render();
@@ -1421,3 +1433,26 @@ int UtcDaliPopupOnKeyEvent(void)
 
   END_TEST;
 }
+
+int UtcDaliPopupSetPopupBackgroundBorderProperty(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline( "Set the background border property of a popup & retrieve it" );
+  Popup popup = Popup::New();
+
+  Rect< int > rect( 40, 30, 20, 10 );
+  tet_infoline( "Ensure value we want to set is different from what is already set" );
+  DALI_TEST_CHECK( rect != popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >() );
+
+  tet_infoline( "Set the property and retrieve it to make sure it's the value we set" );
+  popup.SetProperty( Popup::Property::POPUP_BACKGROUND_BORDER, rect );
+  DALI_TEST_EQUALS( rect, popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >(), TEST_LOCATION );
+
+  tet_infoline( "Set a vector4 as well which should also work" );
+  Vector4 vectorValue( 10.0f, 20.0f, 30.0f, 40.0f );
+  popup.SetProperty( Popup::Property::POPUP_BACKGROUND_BORDER, vectorValue );
+  DALI_TEST_EQUALS( Rect< int >( 10, 20, 30, 40 ), popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >(), TEST_LOCATION );
+
+  END_TEST;
+}