X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-PageTurnView.cpp;h=040dd15c406b0ec479aebe97cab28a3f6c17b8ad;hp=f7d59083ec99ac27c905816c3612d67993490294;hb=c01b6a044893962dbc4ec47aeca60bf3b5d09766;hpb=7c1ca2d9ab3bc63f3dc164c4f5d4ea0d8bf5ba3e diff --git a/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp index f7d5908..040dd15 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 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. @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include @@ -33,7 +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 Vector2 VIEW_PAGE_SIZE( 300.f,400.f ); const Vector2 SPINE_SHADOW_PARAMETER( 60.0f, 30.0f ); static bool gObjectCreatedCallBackCalled; @@ -50,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(), 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(), 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(), 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(), 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(), 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(), newSize*1.5f, TEST_LOCATION ); Wait( application); DALI_TEST_EQUALS( Vector2(landscapeView.GetTargetSize()), Vector2(newSize.x*3.f, newSize.y*1.5f), TEST_LOCATION); @@ -437,10 +402,10 @@ int UtcDaliPageTurnPortraitViewSignals(void) application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE ); TestPageFactory factory; - Vector2 size = Stage::GetCurrent().GetSize(); + Vector2 size = application.GetScene().GetSize(); PageTurnView portraitView = PageTurnPortraitView::New( factory, size ); - portraitView.SetParentOrigin( ParentOrigin::CENTER ); - Stage::GetCurrent().Add( portraitView ); + portraitView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + application.GetScene().Add( portraitView ); // Render and notify application.SendNotification(); @@ -475,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(), 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)(pageIndex+1), TEST_LOCATION ); @@ -507,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 ); @@ -515,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)pageIndex, TEST_LOCATION ); // the page is not turned over @@ -534,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 ); @@ -574,10 +540,10 @@ int UtcDaliPageTurnLanscapeViewSignals(void) */ TestPageFactory factory; - Vector2 stageSize = Stage::GetCurrent().GetSize(); + Vector2 stageSize = application.GetScene().GetSize(); PageTurnView landscapeView = PageTurnLandscapeView::New( factory, Vector2(stageSize.x*0.5f, stageSize.x*0.8f) ); - landscapeView.SetParentOrigin( ParentOrigin::CENTER ); - Stage::GetCurrent().Add( landscapeView ); + landscapeView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + application.GetScene().Add( landscapeView ); // Render and notify application.SendNotification(); @@ -613,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(), 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)(pageIndex+1), TEST_LOCATION ); @@ -642,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(), 0, TEST_LOCATION ); // the first page is turned back @@ -664,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 ); @@ -699,12 +666,12 @@ int UtcDaliPageTurnEmptyTextureHandle(void) application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE ); TestPageFactory factory( false /* returns empty handles */ ); - Vector2 size = Stage::GetCurrent().GetSize(); + Vector2 size = application.GetScene().GetSize(); try { PageTurnView portraitView = PageTurnPortraitView::New( factory, size ); - portraitView.SetParentOrigin( ParentOrigin::CENTER ); - Stage::GetCurrent().Add( portraitView ); + portraitView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + application.GetScene().Add( portraitView ); tet_result(TET_FAIL); }