Merge "Dali-Text: Keyboard Shortcuts" into devel/master
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ScrollViewEffect.cpp
index a76c39d..fa26940 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 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.
@@ -25,7 +25,6 @@
 #include <dali.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali/integration-api/events/touch-event-integ.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
 
 using namespace Dali;
 using namespace Toolkit;
@@ -43,10 +42,7 @@ void utc_dali_toolkit_scroll_view_effect_cleanup(void)
 namespace
 {
 
-const int MILLISECONDS_PER_SECOND = 1000;
 const int RENDER_FRAME_INTERVAL = 16;                           ///< Duration of each frame in ms. (at approx 60FPS)
-const int RENDER_ANIMATION_TEST_DURATION_MS = 1000;             ///< 1000ms to test animation
-const int RENDER_DELAY_SCROLL = 1000;                           ///< duration to wait for any scroll to complete.
 
 /*
  * Simulate time passed by.
@@ -136,14 +132,14 @@ static void OnScrollComplete( const Vector2& position )
   gOnScrollCompleteCalled = true;
 }
 
-ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
+ScrollView SetupTestScrollView(Integration::Scene scene, int rows, int columns, Vector2 size)
 {
   Constraint constraint;
 
   ScrollView scrollView = ScrollView::New();
-  scrollView.SetSize(size);
-  scrollView.SetAnchorPoint(AnchorPoint::CENTER);
-  scrollView.SetParentOrigin(ParentOrigin::CENTER);
+  scrollView.SetProperty( Actor::Property::SIZE, size);
+  scrollView.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER);
+  scrollView.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
 
   constraint = Constraint::New<Dali::Vector3>( scrollView, Dali::Actor::Property::SIZE, Dali::EqualToConstraint() );
   constraint.AddSource( Dali::ParentSource( Dali::Actor::Property::SIZE ) );
@@ -153,7 +149,7 @@ ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
   scrollView.ScrollStartedSignal().Connect( &OnScrollStart );
   scrollView.ScrollUpdatedSignal().Connect( &OnScrollUpdate );
   scrollView.ScrollCompletedSignal().Connect( &OnScrollComplete );
-  Stage::GetCurrent().Add( scrollView );
+  scene.Add( scrollView );
   RulerPtr rulerX = CreateRuler(size.width);
   RulerPtr rulerY = CreateRuler(size.height);
   if(columns > 1)
@@ -175,12 +171,12 @@ ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
 
   scrollView.SetRulerX( rulerX );
   scrollView.SetRulerY( rulerY );
-  Stage::GetCurrent().Add( scrollView );
+  scene.Add( scrollView );
 
   Actor container = Actor::New();
-  container.SetParentOrigin(ParentOrigin::CENTER);
-  container.SetAnchorPoint(AnchorPoint::CENTER);
-  container.SetSize( size );
+  container.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
+  container.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::CENTER);
+  container.SetProperty( Actor::Property::SIZE, size );
   scrollView.Add( container );
 
   constraint = Constraint::New<Vector3>( container, Actor::Property::SIZE, EqualToConstraint() );
@@ -197,9 +193,9 @@ ScrollView SetupTestScrollView(int rows, int columns, Vector2 size)
       constraint = Constraint::New<Vector3>( page, Actor::Property::SIZE, EqualToConstraint() );
       constraint.AddSource( Dali::ParentSource( Dali::Actor::Property::SIZE ) );
       constraint.Apply();
-      page.SetParentOrigin( ParentOrigin::CENTER );
-      page.SetAnchorPoint( AnchorPoint::CENTER );
-      page.SetPosition( column * size.x, row * size.y );
+      page.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+      page.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
+      page.SetProperty( Actor::Property::POSITION, Vector2( column * size.x, row * size.y ));
       container.Add(page);
 
       gPages.push_back(page);
@@ -216,198 +212,11 @@ void CleanupTest()
   ResetScrollCallbackResults();
 }
 
-Actor AddActorToPage(Actor page, float x, float y, float cols, float rows)
-{
-  Stage stage = Stage::GetCurrent();
-  Vector2 stageSize = stage.GetSize();
-
-  const float margin = 10.0f;
-  const Vector2 actorSize((stageSize.x / cols) - margin, (stageSize.y / rows) - margin);
-
-  Actor actor = Actor::New();
-  actor.SetParentOrigin( ParentOrigin::CENTER );
-  actor.SetAnchorPoint( AnchorPoint::CENTER );
-
-  Vector3 position( margin * 0.5f + (actorSize.x + margin) * x - stageSize.width * 0.5f,
-                    margin * 0.5f + (actorSize.y + margin) * y - stageSize.height * 0.5f,
-                    0.0f);
-  Vector3 positionEnd( margin * 0.5f + (actorSize.x + margin) * (x + cols) - stageSize.width * 0.5f - margin,
-                       margin * 0.5f + (actorSize.y + margin) * (y + rows) - stageSize.height * 0.5f - margin,
-                       0.0f);
-  Vector3 size(positionEnd - position);
-  actor.SetPosition( position + size * 0.5f);
-  actor.SetSize( positionEnd - position );
-  page.Add(actor);
-  return actor;
-}
-
 } // unnamed namespace
 
-
-int UtcDaliScrollViewCubeEffectSetup(void)
-{
-  tet_infoline(" UtcDaliScrollViewCubeEffectSetup");
-
-  ScrollViewCubeEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewCubeEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewCubeEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-  END_TEST;
-}
-
-int UtcDaliScrollViewCubeEffectTest(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewCubeEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor page = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewCubeEffect effect = ScrollViewCubeEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(page, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor(actor, page, Vector3(-105.0f, 30.0f, -240.0f), Vector2(Math::PI * 0.5f, Math::PI * 0.5f), Vector2(0.25f, 0.25f) * size);
-
-  Actor actor2 = AddActorToPage(page, 0.5f, 0.5f, 3, 3);
-  effect.ApplyToActor(actor2, Vector3(-105.0f, 30.0f, -240.0f), Vector2(Math::PI * 0.5f, Math::PI * 0.5f), Vector2(0.25f, 0.25f) * size);
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-  END_TEST;
-}
-
-int UtcDaliScrollViewCarouselEffectSetup(void)
-{
-  tet_infoline(" UtcDaliScrollViewCarouselEffectSetup");
-
-  ScrollViewCarouselEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewCarouselEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewCarouselEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-  END_TEST;
-}
-
-int UtcDaliScrollViewCarouselEffectTest(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewCarouselEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewCarouselEffect effect = ScrollViewCarouselEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  effect.ApplyToActor( actor, Vector2(1.2f, 1.2f) );
-
-  scrollView.ScrollTo(Vector2(size.x, 0.0f), 0.5f, DirectionBiasNone, DirectionBiasNone);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-  END_TEST;
-}
-
-int UtcDaliScrollViewDepthEffectSetup(void)
-{
-  tet_infoline(" UtcDaliScrollViewDepthEffectSetup");
-
-  ScrollViewDepthEffect effect;
-
-  DALI_TEST_CHECK( !effect );
-
-  BaseHandle handle = ScrollViewDepthEffect::New();
-
-  DALI_TEST_CHECK( handle );
-
-  effect = ScrollViewDepthEffect::DownCast(handle);
-
-  DALI_TEST_CHECK( effect );
-  END_TEST;
-}
-
-int UtcDaliScrollViewDepthEffectTest(void)
-{
-  ToolkitTestApplication application;
-  tet_infoline(" UtcDaliScrollViewDepthEffectTest");
-
-  Vector2 size = Stage::GetCurrent().GetSize();
-
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
-  Actor testPage = gPages[1];
-  Wait(application, 500);
-
-  ScrollViewDepthEffect effect = ScrollViewDepthEffect::New();
-  scrollView.ApplyEffect(effect);
-
-  Actor actor = AddActorToPage(testPage, 0.5f, 0.5f, 3, 3);
-  Wait(application);
-  Vector3 actorPrePosition = actor.GetCurrentPosition();
-
-  const Vector2 positionExtent(0.5f, 2.5f);
-  const Vector2 offsetExtent(1.0f, 1.0f);
-  const float positionScale(1.5f);
-  const float scaleExtent(0.5f);
-
-  effect.ApplyToActor( actor, positionExtent, offsetExtent, positionScale, scaleExtent );
-
-  scrollView.ScrollTo(1);
-  while(!gOnScrollCompleteCalled)
-  {
-    Wait(application);
-  }
-  // test that the first page has reached centre of screen
-  Vector3 actorPostPosition = actor.GetCurrentPosition();
-  // just check the actor has moved
-  DALI_TEST_CHECK((actorPostPosition - actorPrePosition).Length() > Math::MACHINE_EPSILON_1);
-  CleanupTest();
-  END_TEST;
-}
-
-
 int UtcDaliScrollViewPagePathEffectSetup(void)
 {
+  ToolkitTestApplication application;
   tet_infoline(" UtcDaliScrollViewPagePathEffectSetup");
 
   ScrollViewPagePathEffect effect;
@@ -429,9 +238,9 @@ int UtcDaliScrollViewPagePathEffectTest(void)
   ToolkitTestApplication application;
   tet_infoline(" UtcDaliScrollViewPagePathEffectTest");
 
-  Vector2 size = Stage::GetCurrent().GetSize();
+  Vector2 size = application.GetScene().GetSize();
 
-  ScrollView scrollView = SetupTestScrollView(1, 3, size);
+  ScrollView scrollView = SetupTestScrollView(application.GetScene(), 1, 3, size);
   Actor testPage = gPages[2];
   Wait(application, 500);
 
@@ -480,10 +289,9 @@ int UtcDaliScrollViewPagePathEffectTest(void)
   }
 
   // test that the test page has reached centre of screen
-  Vector3 pagePos = testPage.GetCurrentPosition();
+  Vector3 pagePos = testPage.GetCurrentProperty< Vector3 >( Actor::Property::POSITION );
   DALI_TEST_EQUALS(pagePos, Vector3::ZERO, Math::MACHINE_EPSILON_0, TEST_LOCATION);
 
   CleanupTest();
   END_TEST;
 }
-