+
+int UtcDaliPageTurnLanscapeViewSignals(void)
+{
+ ToolkitTestApplication application;
+
+ tet_infoline(" UtcDaliPageTurnLanscapeViewSignals ");
+
+ application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE );
+ /***
+ * -----------------
+ * | |
+ * |---------------|
+ * |bookboo|bookboo|
+ * |kbookbo|kbookbo|
+ * |okbookb|okbookb|
+ * |ookbook|ookbook|
+ * |bookboo|bookboo|
+ * |---------------|
+ * | |
+ * ----------------
+ */
+
+ TestPageFactory factory;
+ Vector2 stageSize = application.GetScene().GetSize();
+ PageTurnView landscapeView = PageTurnLandscapeView::New( factory, Vector2(stageSize.x*0.5f, stageSize.x*0.8f) );
+ landscapeView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+ application.GetScene().Add( landscapeView );
+
+ // Render and notify
+ application.SendNotification();
+ application.Render(RENDER_FRAME_INTERVAL);
+
+ // [0]: testing PageTurnStartedSignal; [1]: testing PageTurnFinishedSignal
+ // [2]: testing PagePanStartedSignal; [3]: testing PagePanFinishedSignal
+ bool signalVerified[4] = {false, false, false, false};
+ PageTurnView currentView;
+ unsigned int pageIndex;
+ bool isTurningForwards;
+
+ PageSignalCallback callbackTurnStarted( signalVerified[0], currentView, pageIndex, isTurningForwards );
+ landscapeView.PageTurnStartedSignal().Connect( &callbackTurnStarted, &PageSignalCallback::PageTurnSignalCallback );
+
+ PageSignalCallback callbackTurnFinished( signalVerified[1], currentView, pageIndex, isTurningForwards );
+ landscapeView.PageTurnFinishedSignal().Connect( &callbackTurnFinished, &PageSignalCallback::PageTurnSignalCallback );
+
+ PageSignalCallback callbackPanStarted( signalVerified[2], currentView, pageIndex, isTurningForwards );
+ landscapeView.PagePanStartedSignal().Connect( &callbackPanStarted, &PageSignalCallback::PagePanSignalCallback );
+
+ PageSignalCallback callbackPanFinished( signalVerified[3], currentView, pageIndex, isTurningForwards );
+ landscapeView.PagePanFinishedSignal().Connect( &callbackPanFinished, &PageSignalCallback::PagePanSignalCallback );
+
+ DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
+ DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
+ DALI_TEST_CHECK( !callbackPanStarted.mSignalVerified );
+ DALI_TEST_CHECK( !callbackPanFinished.mSignalVerified );
+
+ currentView = landscapeView;
+
+ //-----Test 1: pan 10 frames from position(stageSize.x * 0.85f, stageSize.y*0.5) to position(stageSize.x * 0.45f, stageSize.y*0.5-stageSize.x * 0.3f), page 0 will be turned forward----
+ 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, 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, time, false, true);
+ DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
+ DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
+
+ 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 );
+
+ //---Test 2: pan from position(stageSize.x * 0.15f, stageSize.y*0.5) to position(stageSize.x * 0.45f, stageSize.y*0.5) page 4 will be turned back---
+ callbackTurnStarted.Reset();
+ callbackTurnFinished.Reset();
+ callbackPanStarted.Reset();
+ callbackPanFinished.Reset();
+ isTurningForwards = false;
+
+ //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, 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, time, false, true);
+ DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
+ DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
+
+ 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
+
+ // ----Test 3: pan 10 frames from position( size*0.55f ) to position( size.width*0.8f, size.height*0.5f ), no page turn will be started---
+ callbackTurnStarted.Reset();
+ callbackTurnFinished.Reset();
+ callbackPanStarted.Reset();
+ callbackPanFinished.Reset();
+ isTurningForwards = false;
+ start = stageSize*0.55f;
+ direction = Vector2(stageSize.x*0.025f, 0.f);
+ 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, time, false, true);
+ DALI_TEST_CHECK( !callbackTurnStarted.mSignalVerified );
+ DALI_TEST_CHECK( callbackPanFinished.mSignalVerified );
+ DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
+
+ Wait( application, 1000 );
+
+ DALI_TEST_CHECK( !callbackTurnFinished.mSignalVerified );
+ 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;
+}
+