(Automated Tests) Use Scene instead of Stage
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-PageTurnView.cpp
index 24cccdc..040dd15 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.
 #include <string.h>
 #include <sstream>
 #include <dali-toolkit-test-suite-utils.h>
-#include <dali/integration-api/events/pan-gesture-event.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-factory.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-landscape-view.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-portrait-view.h>
-#include <dali-toolkit/public-api/controls/page-turn-view/page-turn-view.h>
-
-
+#include <dali/integration-api/events/touch-event-integ.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-factory.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-landscape-view.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-portrait-view.h>
+#include <dali-toolkit/devel-api/controls/page-turn-view/page-turn-view.h>
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -35,10 +33,7 @@ namespace
 {
 const int RENDER_FRAME_INTERVAL = 16;                           ///< Duration of each frame in ms. (at approx 60FPS)
 const unsigned int TOTAL_PAGE_NUMBER = 20;
-const Vector2 PAGE_SIZE( 300.f,400.f );
-const unsigned int IMAGE_WIDTH = 30;
-const unsigned int IMAGE_HEIGHT = 30;
-const Vector2 IMAGE_SIZE( static_cast<float>( IMAGE_WIDTH ), static_cast<float>(IMAGE_HEIGHT) );
+const Vector2 VIEW_PAGE_SIZE( 300.f,400.f );
 const Vector2 SPINE_SHADOW_PARAMETER( 60.0f, 30.0f );
 
 static bool gObjectCreatedCallBackCalled;
@@ -55,82 +50,47 @@ static void TestCallback(BaseHandle handle)
  * @param application Test application instance
  * @param duration Time to pass in milliseconds.
  */
-void Wait(ToolkitTestApplication& application, int duration = 0)
+int Wait(ToolkitTestApplication& application, int duration = 0)
 {
+  int time = 0;
+
   for(int i = 0; i <= ( duration / RENDER_FRAME_INTERVAL); i++)
   {
     application.SendNotification();
     application.Render(RENDER_FRAME_INTERVAL);
+    time += RENDER_FRAME_INTERVAL;
   }
-}
-
-// Generate a PanGestureEvent to send to Core
-Integration::PanGestureEvent GeneratePan(
-    Gesture::State state,
-    const Vector2& previousPosition,
-    const Vector2& currentPosition,
-    unsigned long timeDelta,
-    unsigned int numberOfTouches = 1)
-{
-  Integration::PanGestureEvent pan(state);
 
-  pan.previousPosition = previousPosition;
-  pan.currentPosition = currentPosition;
-  pan.timeDelta = timeDelta;
-  pan.numberOfTouches = numberOfTouches;
-
-  return pan;
+  return time;
 }
 
-/**
- * Helper to generate PanGestureEvent
- *
- * @param[in] application Application instance
- * @param[in] state The Gesture State
- * @param[in] pos The current position of touch.
- */
-static void SendPan(ToolkitTestApplication& application, Gesture::State state, const Vector2& pos)
-{
-  static Vector2 last;
-
-  if( (state == Gesture::Started) ||
-      (state == Gesture::Possible) )
-  {
-    last.x = pos.x;
-    last.y = pos.y;
-  }
-
-  application.ProcessEvent(GeneratePan(state, last, pos, RENDER_FRAME_INTERVAL));
-
-  last.x = pos.x;
-  last.y = pos.y;
-}
 
-static Vector2 PerformGestureDiagonalSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, bool toStart = true, bool toFinish = true)
+static Vector2 PerformGestureDiagonalSwipe(ToolkitTestApplication& application, Vector2 start, Vector2 direction, int frames, uint32_t& time, bool toStart = true, bool toFinish = true)
 {
-  // Now do a pan starting from (start) and heading (direction)
-  Vector2 pos(start);
+  Vector2 pos( start );
 
   if( toStart )
   {
-    SendPan(application, Gesture::Possible, pos);
-    Wait(application);
-    SendPan(application, Gesture::Started, pos);
-    Wait(application);
+    // Now do a pan starting from (start + 20) and heading (direction)
+    Vector2 pos_start_jump( start + Vector2(15.0f, 0.0f) );
+    TestStartPan( application, start, pos_start_jump, time );
+    pos += direction;
   }
 
+  time += Wait(application);
+
   for(int i = 0;i<frames;i++)
   {
-    pos += direction; // Move in this direction
-    SendPan(application, Gesture::Continuing, pos);
-    Wait(application);
+    pos += direction;
+    TestMovePan(application, pos, time );
+    time += Wait(application);
   }
 
   if(toFinish)
   {
-    pos += direction; // Move in this direction
-    SendPan(application, Gesture::Finished, pos);
-    Wait(application);
+    pos += direction;
+    TestEndPan(application, pos, time );
+    time += Wait(application);
   }
 
   return pos;
@@ -190,10 +150,9 @@ class TestPageFactory : public PageFactory
 {
 public:
 
-  TestPageFactory(ToolkitTestApplication& application)
-  : mApplication( application )
+  TestPageFactory( bool returnValidTexture = true )
+  : mValidTexture( returnValidTexture )
   {
-    mSourceActors.resize(TOTAL_PAGE_NUMBER);
     mTotalPageNumber = TOTAL_PAGE_NUMBER;
   }
 
@@ -207,41 +166,22 @@ public:
   }
 
   /**
-   * Create an image actor to represent a page.
+   * Create an texture to represent a page content.
    * @param[in] pageId The ID of the page to create.
-   * @return An image actor, or an uninitialized pointer if the ID is out of range.
+   * @return An image, or an empty handle if the ID is out of range.
    */
-  virtual Actor NewPage( unsigned int pageId )
+  virtual Texture NewPage( unsigned int pageId )
   {
-    if(!mSourceActors[pageId])
+    if( mValidTexture )
     {
-      Actor actor = CreateSolidColorImageActor(mApplication, Color::BLUE,IMAGE_WIDTH,IMAGE_HEIGHT);
-      actor.SetName( static_cast<std::ostringstream*>( &(std::ostringstream() << pageId) )->str()  );
-
-      actor.SetParentOrigin( ParentOrigin::CENTER );
-      actor.SetAnchorPoint( AnchorPoint::CENTER );
-
-      ImageActor backPageActor = CreateSolidColorImageActor(mApplication, Color::BLUE,IMAGE_WIDTH,IMAGE_HEIGHT);
-      backPageActor.SetParentOrigin( ParentOrigin::CENTER );
-      backPageActor.SetAnchorPoint( AnchorPoint::CENTER );
-      actor.Add( backPageActor );
-
-      mSourceActors[pageId] = actor;
+      return Texture::New( Dali::TextureType::TEXTURE_2D, Pixel::RGB888, 100, 100 );
     }
-
-    return mSourceActors[pageId];
-  }
-
-  void DeletePage( unsigned int pageId )
-  {
-    mSourceActors.erase( mSourceActors.begin() + pageId );
-    mTotalPageNumber--;
+    return Texture(); // empty handle
   }
 
 private:
-  ToolkitTestApplication& mApplication;
-  std::vector<Actor>      mSourceActors;
   unsigned int            mTotalPageNumber;
+  bool                    mValidTexture;
 };
 
 }// namespace
@@ -267,8 +207,8 @@ int UtcDaliPageTurnPortraitViewNew(void)
   DALI_TEST_CHECK( !portraitView );
 
   // Test object creation
-  TestPageFactory factory(application);
-  portraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
+  TestPageFactory factory;
+  portraitView = PageTurnPortraitView::New( factory, VIEW_PAGE_SIZE );
   DALI_TEST_CHECK( portraitView );
 
   //Additional check to ensure object is created by checking if it's registered
@@ -278,8 +218,8 @@ int UtcDaliPageTurnPortraitViewNew(void)
   gObjectCreatedCallBackCalled = false;
   registry.ObjectCreatedSignal().Connect( &TestCallback );
   {
-    TestPageFactory factory(application);
-    PageTurnView portraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
+    TestPageFactory factory;
+    PageTurnView portraitView = PageTurnPortraitView::New( factory, VIEW_PAGE_SIZE );
   }
   DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
 
@@ -307,8 +247,8 @@ int UtcDaliPageTurnLandscapeViewNew(void)
   DALI_TEST_CHECK( !landscapeView );
 
   // Test object creation
-  TestPageFactory factory(application);
-  landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
+  TestPageFactory factory;
+  landscapeView = PageTurnLandscapeView::New( factory, VIEW_PAGE_SIZE );
   DALI_TEST_CHECK( landscapeView );
 
   //Additional check to ensure object is created by checking if it's registered
@@ -318,8 +258,8 @@ int UtcDaliPageTurnLandscapeViewNew(void)
   gObjectCreatedCallBackCalled = false;
   registry.ObjectCreatedSignal().Connect( &TestCallback );
   {
-    TestPageFactory factory(application);
-    PageTurnView landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
+    TestPageFactory factory;
+    PageTurnView landscapeView = PageTurnLandscapeView::New( factory, VIEW_PAGE_SIZE );
   }
   DALI_TEST_CHECK( gObjectCreatedCallBackCalled );
 
@@ -347,8 +287,8 @@ int UtcDaliPageTurnPortraitViewCopyConstructorAndAssignment(void)
   DALI_TEST_CHECK( !portraitView );
 
   // Test object creation
-  TestPageFactory factory(application);
-  portraitView = PageTurnPortraitView::New( factory, PAGE_SIZE );
+  TestPageFactory factory;
+  portraitView = PageTurnPortraitView::New( factory, VIEW_PAGE_SIZE );
   DALI_TEST_CHECK( portraitView );
 
   // Test copy constructor
@@ -381,8 +321,8 @@ int UtcDaliPageTurnLandscapeViewCopyConstructorAndAssignment(void)
   DALI_TEST_CHECK( !landscapeView );
 
   // Test object creation
-  TestPageFactory factory(application);
-  landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
+  TestPageFactory factory;
+  landscapeView = PageTurnLandscapeView::New( factory, VIEW_PAGE_SIZE );
   DALI_TEST_CHECK( landscapeView );
 
   // Test copy constructor
@@ -410,24 +350,24 @@ int UtcDaliPageTurnViewSetGetProperty(void)
 
   tet_infoline(" UtcDaliPageTurnViewSetGetProperty ");
 
-  TestPageFactory factory(application);
-  PageTurnView landscapeView = PageTurnLandscapeView::New( factory, PAGE_SIZE );
+  TestPageFactory factory;
+  PageTurnView landscapeView = PageTurnLandscapeView::New( factory, VIEW_PAGE_SIZE );
   DALI_TEST_CHECK( landscapeView );
 
-  Stage::GetCurrent().Add( landscapeView );
+  application.GetScene().Add( landscapeView );
 
-  // Test "pageSize" property
-  DALI_TEST_CHECK( landscapeView.GetPropertyIndex("pageSize") == PageTurnView::Property::PAGE_SIZE  );
-  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::PAGE_SIZE).Get<Vector2>(), PAGE_SIZE, TEST_LOCATION );
+  // Test "viewPageSize" property
+  DALI_TEST_CHECK( landscapeView.GetPropertyIndex("viewPageSize") == PageTurnView::Property::VIEW_PAGE_SIZE  );
+  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::VIEW_PAGE_SIZE).Get<Vector2>(), VIEW_PAGE_SIZE, TEST_LOCATION );
 
-  Vector2 newSize( PAGE_SIZE.x*0.75, PAGE_SIZE.y*0.5f );
-  landscapeView.SetProperty( PageTurnView::Property::PAGE_SIZE, newSize );
-  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::PAGE_SIZE).Get<Vector2>(), newSize, TEST_LOCATION );
+  Vector2 newSize( VIEW_PAGE_SIZE.x*0.75, VIEW_PAGE_SIZE.y*0.5f );
+  landscapeView.SetProperty( PageTurnView::Property::VIEW_PAGE_SIZE, newSize );
+  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::VIEW_PAGE_SIZE).Get<Vector2>(), newSize, TEST_LOCATION );
   Wait( application);
   DALI_TEST_EQUALS( Vector2(landscapeView.GetTargetSize()), Vector2(newSize.x*2.f, newSize.y), TEST_LOCATION);
 
-  landscapeView.SetProperty( PageTurnView::Property::PAGE_SIZE,newSize*1.5f);
-  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::PAGE_SIZE).Get<Vector2>(), newSize*1.5f, TEST_LOCATION );
+  landscapeView.SetProperty( PageTurnView::Property::VIEW_PAGE_SIZE,newSize*1.5f);
+  DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::VIEW_PAGE_SIZE).Get<Vector2>(), newSize*1.5f, TEST_LOCATION );
   Wait( application);
   DALI_TEST_EQUALS( Vector2(landscapeView.GetTargetSize()), Vector2(newSize.x*3.f, newSize.y*1.5f), TEST_LOCATION);
 
@@ -461,11 +401,11 @@ int UtcDaliPageTurnPortraitViewSignals(void)
 
   application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
 
-  TestPageFactory factory(application);
-  Vector2 size = Stage::GetCurrent().GetSize();
+  TestPageFactory factory;
+  Vector2 size = application.GetScene().GetSize();
   PageTurnView portraitView = PageTurnPortraitView::New( factory, size );
-  portraitView.SetPositionInheritanceMode( USE_PARENT_POSITION );
-  Stage::GetCurrent().Add( portraitView );
+  portraitView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+  application.GetScene().Add( portraitView );
 
   // Render and notify
   application.SendNotification();
@@ -500,22 +440,23 @@ int UtcDaliPageTurnPortraitViewSignals(void)
   //-----Test 1: pan 10 frames from position(size * 0.75f) to position(size * 0.25f), page 0 will be turned forward----
   pageIndex = 0;
   isTurningForwards = true;
-  // Do a pan moving up diagonally.
+  // Do a pan moving up diagonally
+  uint32_t time = 0;
   Vector2 start = size * 0.75f;
   Vector2 direction = -size*0.05f; //-size*0.5f/10.f;
 
   DALI_TEST_EQUALS( portraitView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), 0, TEST_LOCATION );
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 5, time, true, false);
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
 
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, time, false, true);
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
 
-  Wait(application, 1000);
+  time += Wait(application, 1000);
   DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
   // the page is turned over
   DALI_TEST_EQUALS( portraitView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), (int)(pageIndex+1), TEST_LOCATION );
@@ -532,7 +473,7 @@ int UtcDaliPageTurnPortraitViewSignals(void)
   //pan 10 frames from position( size.width, size.height*0.5f ) to position( size * 0.75f )
   start = Vector2( size.width, size.height*0.5f );
   direction = Vector2(-size.width*0.025f, size.height*0.025f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 5, time, true, false);
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
@@ -540,12 +481,12 @@ int UtcDaliPageTurnPortraitViewSignals(void)
 
   signalVerified[0] = false;
   isTurningForwards = false;
-  PerformGestureDiagonalSwipe( application, start + direction*2 , direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start + direction*2 , direction, 5, time, false, true);
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified ); // start the sliding back
 
-  Wait(application, 1000);
+  time += Wait(application, 1000);
   DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
   DALI_TEST_EQUALS( portraitView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), (int)pageIndex, TEST_LOCATION ); // the page is not turned over
 
@@ -559,13 +500,13 @@ int UtcDaliPageTurnPortraitViewSignals(void)
   isTurningForwards = false;
   start = size*0.25f;
   direction = Vector2(size.x*0.05f, 0.f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 4, time, true, false);
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
 
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, time, false, true);
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
@@ -584,7 +525,6 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
   tet_infoline(" UtcDaliPageTurnLanscapeViewSignals ");
 
   application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
-
   /***
    * -----------------
    * |               |
@@ -599,11 +539,11 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
    * ----------------
    */
 
-  TestPageFactory factory(application);
-  Vector2 stageSize = Stage::GetCurrent().GetSize();
+  TestPageFactory factory;
+  Vector2 stageSize = application.GetScene().GetSize();
   PageTurnView landscapeView = PageTurnLandscapeView::New( factory, Vector2(stageSize.x*0.5f, stageSize.x*0.8f) );
-  landscapeView.SetPositionInheritanceMode( USE_PARENT_POSITION );;
-  Stage::GetCurrent().Add( landscapeView );
+  landscapeView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+  application.GetScene().Add( landscapeView );
 
   // Render and notify
   application.SendNotification();
@@ -639,21 +579,22 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
   pageIndex = 0;
   isTurningForwards = true;
   // Do a pan to the left.
+  uint32_t time = 0;
   Vector2 start = Vector2(stageSize.x * 0.85f, stageSize.y*0.5);
   Vector2 direction = Vector2(-stageSize.x*0.04f, -stageSize.x*0.03f);
 
   DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), 0, TEST_LOCATION );
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 5, time, true, false);
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
 
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, time, false, true);
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
 
-  Wait(application, 1000);
+  time += Wait(application, 1000);
   DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
   // the page is turned over
   DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), (int)(pageIndex+1), TEST_LOCATION );
@@ -668,17 +609,17 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
   //pan 10 frames from position( size.width, size.height*0.5f ) to position( size * 0.75f )
   start = Vector2( stageSize.x * 0.15f, stageSize.y*0.5f );
   direction = Vector2(stageSize.x * 0.03f, 0.f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 5, time, true, false);
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
 
-  PerformGestureDiagonalSwipe( application, start + direction*5.f , direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start + direction*5.f , direction, 5, time, false, true);
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
 
-  Wait(application, 1000);
+  time += Wait(application, 1000);
   DALI_TEST_CHECK( callbackTurnFinished.mSignalVerified );
   DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), 0, TEST_LOCATION ); // the first page is turned back
 
@@ -690,13 +631,13 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
   isTurningForwards = false;
   start = stageSize*0.55f;
   direction = Vector2(stageSize.x*0.025f, 0.f);
-  PerformGestureDiagonalSwipe( application, start, direction, 5, true, false);
+  PerformGestureDiagonalSwipe( application, start, direction, 5, time, true, false);
   DALI_TEST_CHECK( callbackPanStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
   DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
 
-  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, false, true);
+  PerformGestureDiagonalSwipe( application, start+direction*5.f, direction, 5, time, false, true);
   DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
   DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
   DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
@@ -707,3 +648,42 @@ int UtcDaliPageTurnLanscapeViewSignals(void)
   DALI_TEST_EQUALS( landscapeView.GetProperty(PageTurnView::Property::CURRENT_PAGE_ID).Get<int>(), 0, TEST_LOCATION );
   END_TEST;
 }
+
+int UtcDaliPageImageFactoryGetExtention(void)
+{
+  ToolkitTestApplication application;
+  TestPageFactory factory;
+  DALI_TEST_CHECK( factory.GetExtension() == NULL );
+  END_TEST;
+}
+
+int UtcDaliPageTurnEmptyTextureHandle(void)
+{
+  ToolkitTestApplication application;
+
+  tet_infoline(" UtcDaliPageTurnEmptyTextureHandle ");
+
+  application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
+
+  TestPageFactory factory( false /* returns empty handles */ );
+  Vector2 size = application.GetScene().GetSize();
+  try
+  {
+    PageTurnView portraitView = PageTurnPortraitView::New( factory, size );
+    portraitView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+    application.GetScene().Add( portraitView );
+
+    tet_result(TET_FAIL);
+  }
+  catch (DaliException& e)
+  {
+    DALI_TEST_ASSERT(e, "must pass in valid texture", TEST_LOCATION );
+  }
+  catch (...)
+  {
+    tet_result(TET_FAIL);
+  }
+
+  END_TEST;
+}
+