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-ControlImpl.cpp;h=a3ed82705955743c265124a5770751126eb1bd74;hp=77c2436b94f5c8cee7e34e5c749cc7c47896ee58;hb=HEAD;hpb=327d51c1db0d092216f22eb9389533ac7f53719c diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp index 77c2436..3d21701 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ControlImpl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2023 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. @@ -15,26 +15,21 @@ * */ -#include #include +#include // Need to override adaptor classes for toolkit test harness, so include // test harness headers before dali headers. #include #include "toolkit-style-monitor.h" -#include #include #include +#include +#include #include -#include -#include -#include -#include -#include #include -#include - +#include #include "dummy-control.h" @@ -53,70 +48,69 @@ void utc_dali_toolkit_control_impl_cleanup(void) int UtcDaliControlImplNew(void) { - ToolkitTestApplication application; // Exceptions require ToolkitTestApplication + ToolkitTestApplication application; // Exceptions require ToolkitTestApplication Control control; - DALI_TEST_CHECK( !Control::DownCast(control) ); + DALI_TEST_CHECK(!Control::DownCast(control)); control = Toolkit::Internal::Control::New(); - DALI_TEST_CHECK( Control::DownCast(control) ); + DALI_TEST_CHECK(Control::DownCast(control)); END_TEST; } - int UtcDaliControlImplEnableGestureDetector(void) { ToolkitTestApplication application; // Enable individually { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); - dummyImpl.EnableGestureDetection(Gesture::Pinch); - DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); + dummyImpl.EnableGestureDetection(GestureType::PINCH); + DALI_TEST_CHECK(dummyImpl.GetPinchGestureDetector()); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); - dummyImpl.EnableGestureDetection(Gesture::Pan); - DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); + dummyImpl.EnableGestureDetection(GestureType::PAN); + DALI_TEST_CHECK(dummyImpl.GetPanGestureDetector()); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); - dummyImpl.EnableGestureDetection(Gesture::Tap); - DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); + dummyImpl.EnableGestureDetection(GestureType::TAP); + DALI_TEST_CHECK(dummyImpl.GetTapGestureDetector()); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); - dummyImpl.EnableGestureDetection(Gesture::LongPress); - DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); + dummyImpl.EnableGestureDetection(GestureType::LONG_PRESS); + DALI_TEST_CHECK(dummyImpl.GetLongPressGestureDetector()); } // Enable All { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetLongPressGestureDetector()); // Enable when already enabled - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetLongPressGestureDetector()); } END_TEST; } @@ -127,89 +121,89 @@ int UtcDaliControlImplDisableGestureDetector(void) // Disable individually { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() ); - dummyImpl.DisableGestureDetection(Gesture::Pinch); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetPinchGestureDetector()); + dummyImpl.DisableGestureDetection(GestureType::PINCH); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); - DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() ); - dummyImpl.DisableGestureDetection(Gesture::Pan); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetPanGestureDetector()); + dummyImpl.DisableGestureDetection(GestureType::PAN); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); - DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() ); - dummyImpl.DisableGestureDetection(Gesture::Tap); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetTapGestureDetector()); + dummyImpl.DisableGestureDetection(GestureType::TAP); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); - DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() ); - dummyImpl.DisableGestureDetection(Gesture::LongPress); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetLongPressGestureDetector()); + dummyImpl.DisableGestureDetection(GestureType::LONG_PRESS); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); } // Disable All { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(dummyImpl.GetLongPressGestureDetector()); - dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.DisableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); } // Disable When not enabled { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); - dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.DisableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_CHECK( !dummyImpl.GetPinchGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetPanGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetTapGestureDetector() ); - DALI_TEST_CHECK( !dummyImpl.GetLongPressGestureDetector() ); + DALI_TEST_CHECK(!dummyImpl.GetPinchGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetPanGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetTapGestureDetector()); + DALI_TEST_CHECK(!dummyImpl.GetLongPressGestureDetector()); } // Ensure control is detached if gesture detector is not deleted { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - PinchGestureDetector pinch = dummyImpl.GetPinchGestureDetector(); - PanGestureDetector pan = dummyImpl.GetPanGestureDetector(); - TapGestureDetector tap = dummyImpl.GetTapGestureDetector(); + PinchGestureDetector pinch = dummyImpl.GetPinchGestureDetector(); + PanGestureDetector pan = dummyImpl.GetPanGestureDetector(); + TapGestureDetector tap = dummyImpl.GetTapGestureDetector(); LongPressGestureDetector longPress = dummyImpl.GetLongPressGestureDetector(); - DALI_TEST_EQUALS( 0 == pinch.GetAttachedActorCount(), false, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == pan.GetAttachedActorCount(), false, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == tap.GetAttachedActorCount(), false, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == longPress.GetAttachedActorCount(), false, TEST_LOCATION ); + DALI_TEST_EQUALS(0 == pinch.GetAttachedActorCount(), false, TEST_LOCATION); + DALI_TEST_EQUALS(0 == pan.GetAttachedActorCount(), false, TEST_LOCATION); + DALI_TEST_EQUALS(0 == tap.GetAttachedActorCount(), false, TEST_LOCATION); + DALI_TEST_EQUALS(0 == longPress.GetAttachedActorCount(), false, TEST_LOCATION); - dummyImpl.DisableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + dummyImpl.DisableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - DALI_TEST_EQUALS( 0 == pinch.GetAttachedActorCount(), true, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == pan.GetAttachedActorCount(), true, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == tap.GetAttachedActorCount(), true, TEST_LOCATION ); - DALI_TEST_EQUALS( 0 == longPress.GetAttachedActorCount(), true, TEST_LOCATION ); + DALI_TEST_EQUALS(0 == pinch.GetAttachedActorCount(), true, TEST_LOCATION); + DALI_TEST_EQUALS(0 == pan.GetAttachedActorCount(), true, TEST_LOCATION); + DALI_TEST_EQUALS(0 == tap.GetAttachedActorCount(), true, TEST_LOCATION); + DALI_TEST_EQUALS(0 == longPress.GetAttachedActorCount(), true, TEST_LOCATION); } END_TEST; } @@ -221,10 +215,10 @@ int UtcDaliControlImplOnGestureMethods(void) // Check gesture actually happens { DummyControl dummy = DummyControl::New(true); - dummy.SetSize( Vector2(100.0f, 100.0f ) ); + dummy.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); + dummy.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + application.GetScene().Add(dummy); // Render and notify a couple of times application.SendNotification(); @@ -232,111 +226,36 @@ int UtcDaliControlImplOnGestureMethods(void) application.SendNotification(); application.Render(); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); - - DALI_TEST_CHECK( dummyImpl.pinchCalled == false ); - Integration::PinchGestureEvent pinch(Gesture::Started); - pinch.scale = 10.0f; - pinch.speed = 50.0f; - pinch.centerPoint = Vector2(20.0f, 20.0f); - application.ProcessEvent(pinch); - DALI_TEST_CHECK( dummyImpl.pinchCalled == true ); - - DALI_TEST_CHECK( dummyImpl.panCalled == false ); - Integration::PanGestureEvent pan(Gesture::Possible); - pan.previousPosition = Vector2(10.0f, 20.0f); - pan.currentPosition = Vector2(20.0f, 20.0f); - pan.timeDelta = 10; - pan.numberOfTouches = 1u; - application.ProcessEvent(pan); - pan.state = Gesture::Started; - application.ProcessEvent(pan); - DALI_TEST_CHECK( dummyImpl.panCalled == true ); - - DALI_TEST_CHECK( dummyImpl.tapCalled == false ); - Integration::TapGestureEvent tap(Gesture::Possible); - tap.numberOfTaps = 1u; - tap.numberOfTouches = 1u; - tap.point = Vector2(50.0f, 50.0f); - application.ProcessEvent(tap); - tap.state = Gesture::Started; - application.ProcessEvent(tap); - DALI_TEST_CHECK( dummyImpl.tapCalled == true ); - - DALI_TEST_CHECK( dummyImpl.longPressCalled == false ); - Integration::LongPressGestureEvent longPress(Gesture::Possible); - longPress.numberOfTouches = 1u; - longPress.point = Vector2(50.0f, 50.0f); - application.ProcessEvent(longPress); - longPress.state = Gesture::Started; - application.ProcessEvent(longPress); - DALI_TEST_CHECK( dummyImpl.longPressCalled == true ); - longPress.state = Gesture::Finished; - application.ProcessEvent(longPress); - - Stage::GetCurrent().Remove(dummy); - } + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); + dummyImpl.EnableGestureDetection(GestureType::Value(GestureType::PINCH | GestureType::PAN | GestureType::TAP | GestureType::LONG_PRESS)); - // Ensure full code coverage - { - DummyControl dummy = DummyControl::New(); - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); + DALI_TEST_CHECK(dummyImpl.pinchCalled == false); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); + TestGeneratePinch(application); - // Render and notify a couple of times - application.SendNotification(); - application.Render(); - application.SendNotification(); - application.Render(); + DALI_TEST_CHECK(dummyImpl.pinchCalled == true); - DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) ); + DALI_TEST_CHECK(dummyImpl.panCalled == false); - DALI_TEST_CHECK( dummy.GetCurrentScale().x != 10.0f ); - Integration::PinchGestureEvent pinch(Gesture::Started); - pinch.scale = 10.0f; - pinch.speed = 50.0f; - pinch.centerPoint = Vector2(20.0f, 20.0f); - application.ProcessEvent(pinch); + TestGenerateMiniPan(application); - // Render and notify a couple of times - application.SendNotification(); - application.Render(); - application.SendNotification(); - application.Render(); - DALI_TEST_CHECK( dummy.GetCurrentScale().x == 10.0f ); - - Integration::PanGestureEvent pan(Gesture::Possible); - pan.previousPosition = Vector2(10.0f, 20.0f); - pan.currentPosition = Vector2(20.0f, 20.0f); - pan.timeDelta = 10; - pan.numberOfTouches = 1u; - application.ProcessEvent(pan); - pan.state = Gesture::Started; - application.ProcessEvent(pan); - - Integration::TapGestureEvent tap(Gesture::Possible); - tap.numberOfTaps = 1u; - tap.numberOfTouches = 1u; - tap.point = Vector2(50.0f, 50.0f); - application.ProcessEvent(tap); - tap.state = Gesture::Started; - application.ProcessEvent(tap); - - Integration::LongPressGestureEvent longPress(Gesture::Possible); - longPress.numberOfTouches = 1u; - longPress.point = Vector2(50.0f, 50.0f); - application.ProcessEvent(longPress); - longPress.state = Gesture::Started; - application.ProcessEvent(longPress); - longPress.state = Gesture::Finished; - application.ProcessEvent(longPress); - - Stage::GetCurrent().Remove(dummy); + DALI_TEST_CHECK(dummyImpl.panCalled == true); + + DALI_TEST_CHECK(dummyImpl.tapCalled == false); + + TestGenerateTap(application); + + DALI_TEST_CHECK(dummyImpl.tapCalled == true); + + DALI_TEST_CHECK(dummyImpl.longPressCalled == false); + + TestGenerateLongPress(application); + + DALI_TEST_CHECK(dummyImpl.longPressCalled == true); + + application.GetScene().Remove(dummy); } + END_TEST; } @@ -345,57 +264,57 @@ int UtcDaliControlImplChildAddAndRemove(void) ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - Stage::GetCurrent().Add(dummy); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + application.GetScene().Add(dummy); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.childAddCalled, false, TEST_LOCATION ); - DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.childAddCalled, false, TEST_LOCATION); + DALI_TEST_EQUALS(dummy.GetChildCount(), 0u, TEST_LOCATION); Actor actor = Actor::New(); dummy.Add(actor); - DALI_TEST_EQUALS( dummyImpl.childAddCalled, true, TEST_LOCATION ); - DALI_TEST_EQUALS( dummy.GetChildCount(), 1u, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.childAddCalled, true, TEST_LOCATION); + DALI_TEST_EQUALS(dummy.GetChildCount(), 1u, TEST_LOCATION); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.childRemoveCalled, false, TEST_LOCATION ); - dummy.Remove( actor ); - DALI_TEST_EQUALS( dummyImpl.childRemoveCalled, true, TEST_LOCATION ); - DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.childRemoveCalled, false, TEST_LOCATION); + dummy.Remove(actor); + DALI_TEST_EQUALS(dummyImpl.childRemoveCalled, true, TEST_LOCATION); + DALI_TEST_EQUALS(dummy.GetChildCount(), 0u, TEST_LOCATION); application.Render(); application.SendNotification(); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION ); + DALI_TEST_EQUALS(dummy.GetChildCount(), 0u, TEST_LOCATION); Actor actor = Actor::New(); dummy.Add(actor); - DALI_TEST_EQUALS( dummy.GetChildCount(), 1u, TEST_LOCATION ); + DALI_TEST_EQUALS(dummy.GetChildCount(), 1u, TEST_LOCATION); application.Render(); application.SendNotification(); - dummy.Remove( actor ); - DALI_TEST_EQUALS( dummy.GetChildCount(), 0u, TEST_LOCATION ); + dummy.Remove(actor); + DALI_TEST_EQUALS(dummy.GetChildCount(), 0u, TEST_LOCATION); application.Render(); application.SendNotification(); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } @@ -405,37 +324,37 @@ int UtcDaliControlImplStageConnection(void) ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - DALI_TEST_EQUALS( dummyImpl.stageConnectionCalled, false, TEST_LOCATION ); - Stage::GetCurrent().Add(dummy); + DALI_TEST_EQUALS(dummyImpl.stageConnectionCalled, false, TEST_LOCATION); + application.GetScene().Add(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.stageConnectionCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.stageConnectionCalled, true, TEST_LOCATION); - DALI_TEST_EQUALS( dummyImpl.stageDisconnectionCalled, false, TEST_LOCATION ); - Stage::GetCurrent().Remove(dummy); + DALI_TEST_EQUALS(dummyImpl.stageDisconnectionCalled, false, TEST_LOCATION); + application.GetScene().Remove(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.stageDisconnectionCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.stageDisconnectionCalled, true, TEST_LOCATION); } // Ensure full code coverage { - unsigned int stageChildren = Stage::GetCurrent().GetLayer(0).GetChildCount(); - DummyControl dummy = DummyControl::New(); + unsigned int stageChildren = application.GetScene().GetLayer(0).GetChildCount(); + DummyControl dummy = DummyControl::New(); - DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION ); - Stage::GetCurrent().Add(dummy); + DALI_TEST_EQUALS(application.GetScene().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION); + application.GetScene().Add(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren + 1, TEST_LOCATION ); + DALI_TEST_EQUALS(application.GetScene().GetLayer(0).GetChildCount(), stageChildren + 1, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( Stage::GetCurrent().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION ); + DALI_TEST_EQUALS(application.GetScene().GetLayer(0).GetChildCount(), stageChildren, TEST_LOCATION); } END_TEST; } @@ -445,26 +364,26 @@ int UtcDaliControlImplSizeSetP(void) ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, false, TEST_LOCATION ); // Size not set, no onSizeSet called + DALI_TEST_EQUALS(dummyImpl.sizeSetCalled, false, TEST_LOCATION); // Size not set, no onSizeSet called Vector2 size(100.0f, 200.0f); - dummy.SetSize( size ); + dummy.SetProperty(Actor::Property::SIZE, size); - DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, false, TEST_LOCATION ); // Size is going to get negotiated, no onSizeSet called + DALI_TEST_EQUALS(dummyImpl.sizeSetCalled, false, TEST_LOCATION); // Size is going to get negotiated, no onSizeSet called application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( size, dummy.GetCurrentSize().GetVectorXY(), TEST_LOCATION ); - DALI_TEST_EQUALS( dummyImpl.sizeSetCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(size, dummy.GetCurrentProperty(Actor::Property::SIZE).GetVectorXY(), TEST_LOCATION); + DALI_TEST_EQUALS(dummyImpl.sizeSetCalled, true, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; @@ -476,40 +395,39 @@ int UtcDaliControlImplSizeSet2P(void) { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); Vector2 size(100.0f, 200.0f); - DALI_TEST_CHECK( size != dummy.GetCurrentSize().GetVectorXY() ); + DALI_TEST_CHECK(size != dummy.GetCurrentProperty(Actor::Property::SIZE).GetVectorXY()); application.SendNotification(); application.Render(); - dummy.SetSize(size); + dummy.SetProperty(Actor::Property::SIZE, size); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS(size, dummy.GetCurrentSize().GetVectorXY(), TEST_LOCATION); + DALI_TEST_EQUALS(size, dummy.GetCurrentProperty(Actor::Property::SIZE).GetVectorXY(), TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } - int UtcDaliControlImplSizeAnimation(void) { ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); - DALI_TEST_EQUALS( dummyImpl.sizeAnimationCalled, false, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.sizeAnimationCalled, false, TEST_LOCATION); Animation animation = Animation::New(1.0f); - animation.AnimateTo( Property( dummy, Actor::Property::SIZE ), Vector3( 100.0f, 150.0f, 200.0f ) ); + animation.AnimateTo(Property(dummy, Actor::Property::SIZE), Vector3(100.0f, 150.0f, 200.0f)); animation.Play(); application.Render(); @@ -517,19 +435,19 @@ int UtcDaliControlImplSizeAnimation(void) application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.sizeAnimationCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.sizeAnimationCalled, true, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); Animation animation = Animation::New(1.0f); - animation.AnimateTo( Property( dummy, Actor::Property::SIZE ), Vector3( 100.0f, 150.0f, 200.0f ) ); + animation.AnimateTo(Property(dummy, Actor::Property::SIZE), Vector3(100.0f, 150.0f, 200.0f)); animation.Play(); application.Render(); @@ -537,137 +455,22 @@ int UtcDaliControlImplSizeAnimation(void) application.Render(); application.SendNotification(); - Stage::GetCurrent().Remove(dummy); - } - END_TEST; -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - -int UtcDaliControlImplTouchEvent(void) -{ - ToolkitTestApplication application; - - { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - DALI_TEST_EQUALS( dummyImpl.touchEventCalled, false, TEST_LOCATION ); - Integration::TouchEvent touchEvent(1); - Integration::Point point; - point.SetDeviceId( 1 ); - point.SetState( PointState::DOWN ); - point.SetScreenPosition( Vector2( 20.0f, 20.0f ) ); - touchEvent.AddPoint(point); - application.ProcessEvent(touchEvent); - DALI_TEST_EQUALS( dummyImpl.touchEventCalled, true, TEST_LOCATION ); - - Stage::GetCurrent().Remove(dummy); - } - - // Ensure full code coverage - { - DummyControl dummy = DummyControl::New(); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - Integration::TouchEvent touchEvent(1); - Integration::Point point; - point.SetDeviceId( 1 ); - point.SetState( PointState::DOWN ); - point.SetScreenPosition( Vector2( 20.0f, 20.0f ) ); - touchEvent.AddPoint(point); - application.ProcessEvent(touchEvent); - - Stage::GetCurrent().Remove(dummy); - } - END_TEST; -} - -int UtcDaliControlImplHoverEvent(void) -{ - ToolkitTestApplication application; - - { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - DALI_TEST_EQUALS( dummyImpl.hoverEventCalled, false, TEST_LOCATION ); - Integration::HoverEvent event(1); - Integration::Point point; - point.SetDeviceId( 1 ); - point.SetState( PointState::MOTION ); - point.SetScreenPosition( Vector2( 20.0f, 20.0f ) ); - event.AddPoint(point); - application.ProcessEvent( event ); - DALI_TEST_EQUALS( dummyImpl.hoverEventCalled, true, TEST_LOCATION ); - - Stage::GetCurrent().Remove(dummy); - } - - // Ensure full code coverage - { - DummyControl dummy = DummyControl::New(); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - Integration::HoverEvent event(1); - Integration::Point point; - point.SetDeviceId( 1 ); - point.SetState( PointState::MOTION ); - point.SetScreenPosition( Vector2( 20.0f, 20.0f ) ); - event.AddPoint(point); - application.ProcessEvent( event ); - - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } /////////////////////////////////////////////////////////////////////////////////////////////////// - int UtcDaliControlImplKeyEvent(void) { ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); dummy.SetKeyInputFocus(); application.Render(); @@ -675,19 +478,19 @@ int UtcDaliControlImplKeyEvent(void) application.Render(); application.SendNotification(); - DALI_TEST_EQUALS( dummyImpl.keyEventCalled, false, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyEventCalled, false, TEST_LOCATION); Integration::KeyEvent keyEvent; application.ProcessEvent(keyEvent); - DALI_TEST_EQUALS( dummyImpl.keyEventCalled, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyEventCalled, true, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); dummy.SetKeyInputFocus(); application.Render(); @@ -698,7 +501,7 @@ int UtcDaliControlImplKeyEvent(void) Integration::KeyEvent keyEvent; application.ProcessEvent(keyEvent); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } @@ -708,27 +511,27 @@ int UtcDaliControlImplKeyInputFocusGained(void) ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); - DALI_TEST_EQUALS( dummyImpl.keyInputFocusGained, false, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyInputFocusGained, false, TEST_LOCATION); dummy.SetKeyInputFocus(); - DALI_TEST_EQUALS( dummyImpl.keyInputFocusGained, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyInputFocusGained, true, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); dummy.SetKeyInputFocus(); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } @@ -738,35 +541,35 @@ int UtcDaliControlImplKeyInputFocusLost(void) ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + DummyControl dummy = DummyControl::New(true); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); - DALI_TEST_EQUALS( dummyImpl.keyInputFocusLost, false, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyInputFocusLost, false, TEST_LOCATION); dummy.SetKeyInputFocus(); dummy.ClearKeyInputFocus(); - DALI_TEST_EQUALS( dummyImpl.keyInputFocusLost, true, TEST_LOCATION ); + DALI_TEST_EQUALS(dummyImpl.keyInputFocusLost, true, TEST_LOCATION); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } // Ensure full code coverage { DummyControl dummy = DummyControl::New(); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); dummy.SetKeyInputFocus(); dummy.ClearKeyInputFocus(); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); + Impl::DummyControl& dummyImpl = static_cast(dummy.GetImplementation()); dummyImpl.IsKeyboardNavigationSupported(); dummyImpl.IsKeyboardFocusGroup(); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } @@ -777,136 +580,61 @@ int UtcDaliControlImplTypeRegistry(void) // Register Type TypeInfo type; - type = TypeRegistry::Get().GetTypeInfo( "Control" ); - DALI_TEST_CHECK( type ); + type = TypeRegistry::Get().GetTypeInfo("Control"); + DALI_TEST_CHECK(type); BaseHandle handle = type.CreateInstance(); - DALI_TEST_CHECK( handle ); + DALI_TEST_CHECK(handle); // Check if it's a control - DALI_TEST_CHECK( Control::DownCast(handle) ); + DALI_TEST_CHECK(Control::DownCast(handle)); END_TEST; } - /////////////////////////////////////////////////////////////////////////////////////////////////// -namespace -{ -static bool WheelEventCallback(Actor actor, const WheelEvent& event) -{ - return false; -} -} - -int UtcDaliControlImplWheelEvent(void) -{ - ToolkitTestApplication application; - - { - DummyControl dummy = DummyControl::New( true ); - DummyControlImplOverride& dummyImpl = static_cast(dummy.GetImplementation()); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - dummy.WheelEventSignal().Connect(&WheelEventCallback); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - DALI_TEST_EQUALS( dummyImpl.wheelEventCalled, false, TEST_LOCATION ); - - // simulate a wheel event - Vector2 screenCoordinates( 10.0f, 10.0f ); - Integration::WheelEvent event( Integration::WheelEvent::MOUSE_WHEEL, 0, 0u, screenCoordinates, 1, 1000u ); - application.ProcessEvent( event ); - DALI_TEST_EQUALS( dummyImpl.wheelEventCalled, true, TEST_LOCATION ); - - Stage::GetCurrent().Remove(dummy); - } - - // Ensure full code coverage - { - DummyControl dummy = DummyControl::New(); - - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); - - dummy.WheelEventSignal().Connect(&WheelEventCallback); - - application.Render(); - application.SendNotification(); - application.Render(); - application.SendNotification(); - - // simulate a wheel event - Vector2 screenCoordinates( 20.0f, 20.0f ); - Integration::WheelEvent event( Integration::WheelEvent::MOUSE_WHEEL, 0, 0u, screenCoordinates, 1, 1000u ); - application.ProcessEvent( event ); - - Stage::GetCurrent().Remove(dummy); - } - END_TEST; -} int UtcDaliControlImplSetStyleName(void) { ToolkitTestApplication application; { - DummyControl dummy = DummyControl::New( true ); + DummyControl dummy = DummyControl::New(true); - dummy.SetSize( Vector2( 100.0f, 100.0f ) ); - dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT); - Stage::GetCurrent().Add(dummy); + dummy.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); + dummy.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + application.GetScene().Add(dummy); dummy.SetStyleName("TestStyle"); - DALI_TEST_CHECK( dummy.GetStyleName() == "TestStyle" ); + DALI_TEST_CHECK(dummy.GetStyleName() == "TestStyle"); - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); } END_TEST; } int UtcDaliControlImplOnStyleChangeN(void) { - ToolkitTestApplication application; - Control dummy = Control::New(); - Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation( dummy ); + ToolkitTestApplication application; + Control dummy = Control::New(); + Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation(dummy); // test that style manager is being used, passing an empty handle does nothing but does not crash either Dali::Toolkit::StyleManager styleManager; - controlImpl.OnStyleChange( styleManager, StyleChange::THEME_CHANGE ); + controlImpl.OnStyleChange(styleManager, StyleChange::THEME_CHANGE); // no crash so test passes tet_result(TET_PASS); END_TEST; } - int UtcDaliControlImplOnAccessibilityPanP(void) { - ToolkitTestApplication application; - Control dummy = Control::New(); - Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation( dummy ); + ToolkitTestApplication application; + Control dummy = Control::New(); + Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation(dummy); PanGesture pan; - DALI_TEST_EQUALS( false, controlImpl.OnAccessibilityPan( pan ), TEST_LOCATION ); - - END_TEST; -} - -int UtcDaliControlImplOnAccessibilityTouchP(void) -{ - ToolkitTestApplication application; - Control dummy = Control::New(); - Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation( dummy ); - TouchEvent touch; - DALI_TEST_EQUALS( false, controlImpl.OnAccessibilityTouch( touch ), TEST_LOCATION ); + DALI_TEST_EQUALS(false, controlImpl.OnAccessibilityPan(pan), TEST_LOCATION); END_TEST; } @@ -915,33 +643,33 @@ int UtcDaliControlImplOnAccessibilityActivatedP(void) { ToolkitTestApplication application; - Control dummy = Control::New(); - Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation( dummy ); - DALI_TEST_EQUALS( false, controlImpl.OnAccessibilityActivated(), TEST_LOCATION ); + Control dummy = Control::New(); + Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation(dummy); + DALI_TEST_EQUALS(false, controlImpl.OnAccessibilityActivated(), TEST_LOCATION); // Invoke the control's activate action - TypeInfo type = TypeRegistry::Get().GetTypeInfo( "Control" ); - DALI_TEST_CHECK( type ); + TypeInfo type = TypeRegistry::Get().GetTypeInfo("Control"); + DALI_TEST_CHECK(type); BaseHandle handle = type.CreateInstance(); - DALI_TEST_CHECK( handle ); + DALI_TEST_CHECK(handle); Property::Map attributes; - DALI_TEST_EQUALS( false, handle.DoAction("accessibilityActivated", attributes), TEST_LOCATION ); + DALI_TEST_EQUALS(false, handle.DoAction("accessibilityActivated", attributes), TEST_LOCATION); END_TEST; } int UtcDaliControlImplGetNextKeyboardFocusableActorP(void) { - ToolkitTestApplication application; - Control dummy = Control::New(); - Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation( dummy ); + ToolkitTestApplication application; + Control dummy = Control::New(); + Toolkit::Internal::Control& controlImpl = Toolkit::Internal::GetImplementation(dummy); Actor currentFocusedActor; - Actor result = controlImpl.GetNextKeyboardFocusableActor( currentFocusedActor, Control::KeyboardFocus::LEFT, false ); + Actor result = controlImpl.GetNextKeyboardFocusableActor(currentFocusedActor, Control::KeyboardFocus::LEFT, false); - DALI_TEST_EQUALS( result, currentFocusedActor, TEST_LOCATION ); + DALI_TEST_EQUALS(result, currentFocusedActor, TEST_LOCATION); END_TEST; } @@ -950,39 +678,39 @@ int UtcDaliControlImplRegisterThenReRegisterVisual(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index index =1; + Property::Index index = 1; - DALI_TEST_CHECK( !dummyImpl.GetVisual( index ) ); + DALI_TEST_CHECK(!dummyImpl.GetVisual(index)); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); Property::Map newMap; - newMap[Visual::Property::TYPE] = Visual::COLOR; + newMap[Visual::Property::TYPE] = Visual::COLOR; newMap[ColorVisual::Property::MIX_COLOR] = Color::BLUE; - visual = visualFactory.CreateVisual( newMap ); + visual = visualFactory.CreateVisual(newMap); DALI_TEST_CHECK(visual); // ReRegister with altered color visual - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); tet_result(TET_PASS); @@ -993,30 +721,30 @@ int UtcDaliControlImplRegisterVisaulThenReRegisterToSelf(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index index =1; + Property::Index index = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); // ReRegister to self - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); END_TEST; } @@ -1025,33 +753,33 @@ int UtcDaliControlImplRegisterVisualToSelf(void) { ToolkitTestApplication application; - Test::ObjectDestructionTracker objectDestructionTracker; + Test::ObjectDestructionTracker objectDestructionTracker(application.GetCore().GetObjectRegistry()); { - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - objectDestructionTracker.Start( dummy ); + objectDestructionTracker.Start(dummy); Property::Index index = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register to self - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), false, TEST_LOCATION ); // Control not destroyed yet - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); + DALI_TEST_EQUALS(objectDestructionTracker.IsDestroyed(), false, TEST_LOCATION); // Control not destroyed yet + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); } - DALI_TEST_EQUALS( objectDestructionTracker.IsDestroyed(), true, TEST_LOCATION ); // Should be destroyed + DALI_TEST_EQUALS(objectDestructionTracker.IsDestroyed(), true, TEST_LOCATION); // Should be destroyed END_TEST; } @@ -1060,38 +788,38 @@ int UtcDaliControlImplRegisterTwoVisuals(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index index =1; - Property::Index index2 =2; + Property::Index index = 1; + Property::Index index2 = 2; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; - Toolkit::Visual::Base secondVisual; + Toolkit::Visual::Base visual; + Toolkit::Visual::Base secondVisual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); Property::Map newMap; - newMap[Visual::Property::TYPE] = Visual::COLOR; + newMap[Visual::Property::TYPE] = Visual::COLOR; newMap[ColorVisual::Property::MIX_COLOR] = Color::BLUE; - secondVisual = visualFactory.CreateVisual( newMap ); - DALI_TEST_CHECK( secondVisual ); + secondVisual = visualFactory.CreateVisual(newMap); + DALI_TEST_CHECK(secondVisual); // ReRegister with altered color visual - dummyImpl.RegisterVisual( index2, secondVisual ); + dummyImpl.RegisterVisual(index2, secondVisual); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_CHECK( dummyImpl.GetVisual( index2 ) == secondVisual ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); + DALI_TEST_CHECK(dummyImpl.GetVisual(index2) == secondVisual); END_TEST; } @@ -1100,42 +828,42 @@ int UtcDaliControlImplRegisterUnregisterVisual(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index index =1; + Property::Index index = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( index, visual ); + dummyImpl.RegisterVisual(index, visual); - tet_infoline( "Add control with visual to stage and check renderer count is 1" ); - Stage::GetCurrent().Add( dummy ); + tet_infoline("Add control with visual to stage and check renderer count is 1"); + application.GetScene().Add(dummy); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummyImpl.GetVisual( index ) == visual ); - DALI_TEST_EQUALS( dummy.GetRendererCount(), 1, TEST_LOCATION ); + DALI_TEST_CHECK(dummyImpl.GetVisual(index) == visual); + DALI_TEST_EQUALS(dummy.GetRendererCount(), 1, TEST_LOCATION); // Unregister visual - dummyImpl.UnregisterVisual( index ); + dummyImpl.UnregisterVisual(index); - tet_infoline( "Remove control with visual from stage and check renderer count is 0" ); - Stage::GetCurrent().Remove( dummy ); + tet_infoline("Remove control with visual from stage and check renderer count is 0"); + application.GetScene().Remove(dummy); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( dummy.GetRendererCount(), 0, TEST_LOCATION ); - DALI_TEST_CHECK( !dummyImpl.GetVisual( index ) ); + DALI_TEST_EQUALS(dummy.GetRendererCount(), 0, TEST_LOCATION); + DALI_TEST_CHECK(!dummyImpl.GetVisual(index)); END_TEST; } @@ -1144,40 +872,40 @@ int UtcDaliControlImplRegisterDisabledVisual(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index TEST_PROPERTY =1; + Property::Index TEST_PROPERTY = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, visual, false ); + dummyImpl.RegisterVisual(TEST_PROPERTY, visual, false); - DALI_TEST_CHECK( dummyImpl.GetVisual( TEST_PROPERTY ) == visual ); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == false ); + DALI_TEST_CHECK(dummyImpl.GetVisual(TEST_PROPERTY) == visual); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == false); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == false ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == false); - DALI_TEST_CHECK( dummy.OnStage() == true ); + DALI_TEST_CHECK(dummy.GetProperty(Actor::Property::CONNECTED_TO_SCENE) == true); - dummyImpl.EnableVisual( TEST_PROPERTY, true ); + dummyImpl.EnableVisual(TEST_PROPERTY, true); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == true ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == true); END_TEST; } @@ -1186,37 +914,37 @@ int UtcDaliControlImplDisableRegisteredVisual(void) { ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index TEST_PROPERTY =1; + Property::Index TEST_PROPERTY = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, visual ); + dummyImpl.RegisterVisual(TEST_PROPERTY, visual); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == true); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == true); - DALI_TEST_CHECK( dummy.OnStage() == true ); + DALI_TEST_CHECK(dummy.GetProperty(Actor::Property::CONNECTED_TO_SCENE) == true); - dummyImpl.EnableVisual( TEST_PROPERTY, false ); + dummyImpl.EnableVisual(TEST_PROPERTY, false); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == false ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == false); END_TEST; } @@ -1228,52 +956,52 @@ int UtcDaliControlImplEnabledVisualParentRemovedFromStage(void) ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index TEST_PROPERTY =1; + Property::Index TEST_PROPERTY = 1; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; + Toolkit::Visual::Base visual; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY, visual, false ); + dummyImpl.RegisterVisual(TEST_PROPERTY, visual, false); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == false ); - DALI_TEST_CHECK( dummy.OnStage() == true ); - dummyImpl.EnableVisual( TEST_PROPERTY, true ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == false); + DALI_TEST_CHECK(dummy.GetProperty(Actor::Property::CONNECTED_TO_SCENE) == true); + dummyImpl.EnableVisual(TEST_PROPERTY, true); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 1u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 1u); // Remove control from stage, visual should be removed from stage too - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 0u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 0u); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 1u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 1u); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY ) == true ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY) == true); END_TEST; } @@ -1287,98 +1015,97 @@ int UtcDaliControlImplRegisterTwoVisualsAndEnableOnlyOne(void) ToolkitTestApplication application; - DummyControl dummy = DummyControl::New(); + DummyControl dummy = DummyControl::New(); DummyControlImpl& dummyImpl = static_cast(dummy.GetImplementation()); - Property::Index TEST_PROPERTY1 =1; - Property::Index TEST_PROPERTY2 =2; + Property::Index TEST_PROPERTY1 = 1; + Property::Index TEST_PROPERTY2 = 2; Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual1; - Toolkit::Visual::Base visual2; + Toolkit::Visual::Base visual1; + Toolkit::Visual::Base visual2; Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; Property::Map map2; - map[Visual::Property::TYPE] = Visual::COLOR; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::BLUE; - visual1 = visualFactory.CreateVisual( map ); + visual1 = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual1); - visual2 = visualFactory.CreateVisual( map ); + visual2 = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual2); // Register index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY1, visual1 ); + dummyImpl.RegisterVisual(TEST_PROPERTY1, visual1); // Register second index with a color visual - dummyImpl.RegisterVisual( TEST_PROPERTY2, visual2 ); + dummyImpl.RegisterVisual(TEST_PROPERTY2, visual2); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 2u ); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY1 ) == true ); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY1 ) == true); - DALI_TEST_CHECK( dummy.OnStage() == true ); - dummyImpl.EnableVisual( TEST_PROPERTY2, false ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 2u); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY1) == true); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY1) == true); + DALI_TEST_CHECK(dummy.GetProperty(Actor::Property::CONNECTED_TO_SCENE) == true); + dummyImpl.EnableVisual(TEST_PROPERTY2, false); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 1u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 1u); // Remove control from stage, visual should be removed from stage too - Stage::GetCurrent().Remove(dummy); + application.GetScene().Remove(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 0u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 0u); - Stage::GetCurrent().Add(dummy); + application.GetScene().Add(dummy); // Render and notify application.SendNotification(); application.Render(); - DALI_TEST_CHECK( dummy.GetRendererCount() == 1u ); + DALI_TEST_CHECK(dummy.GetRendererCount() == 1u); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY1 ) == true ); - DALI_TEST_CHECK( dummyImpl.IsVisualEnabled( TEST_PROPERTY2 ) == false ); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY1) == true); + DALI_TEST_CHECK(dummyImpl.IsVisualEnabled(TEST_PROPERTY2) == false); END_TEST; } - int UtcDaliControlImplAutoClippingWithVisuals(void) { ToolkitTestApplication application; - tet_infoline( "Test to ensure a renderer does NOT get added when we've already registered a visual which we haven't enabled" ); + tet_infoline("Test to ensure a renderer does NOT get added when we've already registered a visual which we haven't enabled"); - DummyControl control = DummyControl::New(); - DummyControlImpl& controlImpl = static_cast( control.GetImplementation() ); + DummyControl control = DummyControl::New(); + DummyControlImpl& controlImpl = static_cast(control.GetImplementation()); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; - Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + Toolkit::Visual::Base visual; + Property::Map map; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); - controlImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual, false ); + controlImpl.RegisterVisual(Control::CONTROL_PROPERTY_END_INDEX + 1, visual, false); - DALI_TEST_EQUALS( 0, control.GetRendererCount(), TEST_LOCATION ); + DALI_TEST_EQUALS(0, control.GetRendererCount(), TEST_LOCATION); - control.SetProperty( Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_CHILDREN ); + control.SetProperty(Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_CHILDREN); - Stage::GetCurrent().Add( control ); + application.GetScene().Add(control); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( 0, control.GetRendererCount(), TEST_LOCATION ); + DALI_TEST_EQUALS(0, control.GetRendererCount(), TEST_LOCATION); END_TEST; } @@ -1387,33 +1114,123 @@ int UtcDaliControlImplAutoClippingWithVisualsAlreadyOnStage(void) { ToolkitTestApplication application; - tet_infoline( "Test to ensure a renderer does NOT get added when we've already registered a visual which we haven't enabled and we're already on the stage" ); + tet_infoline("Test to ensure a renderer does NOT get added when we've already registered a visual which we haven't enabled and we're already on the stage"); - DummyControl control = DummyControl::New(); - DummyControlImpl& controlImpl = static_cast( control.GetImplementation() ); + DummyControl control = DummyControl::New(); + DummyControlImpl& controlImpl = static_cast(control.GetImplementation()); Toolkit::VisualFactory visualFactory = Toolkit::VisualFactory::Get(); - Toolkit::Visual::Base visual; - Property::Map map; - map[Visual::Property::TYPE] = Visual::COLOR; + Toolkit::Visual::Base visual; + Property::Map map; + map[Visual::Property::TYPE] = Visual::COLOR; map[ColorVisual::Property::MIX_COLOR] = Color::RED; - visual = visualFactory.CreateVisual( map ); + visual = visualFactory.CreateVisual(map); DALI_TEST_CHECK(visual); - controlImpl.RegisterVisual( Control::CONTROL_PROPERTY_END_INDEX + 1, visual, false ); + controlImpl.RegisterVisual(Control::CONTROL_PROPERTY_END_INDEX + 1, visual, false); + + DALI_TEST_EQUALS(0, control.GetRendererCount(), TEST_LOCATION); + + application.GetScene().Add(control); + + application.SendNotification(); + application.Render(); + + control.SetProperty(Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_CHILDREN); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(0, control.GetRendererCount(), TEST_LOCATION); + + END_TEST; +} + +int UtcDaliControlImplOnPinch(void) +{ + ToolkitTestApplication application; + + Control control = Control::New(); + control.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); + control.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + application.GetScene().Add(control); + + application.SendNotification(); + application.Render(); + + Toolkit::Internal::Control& impl = Toolkit::Internal::GetImplementation(control); + impl.EnableGestureDetection(GestureType::PINCH); - DALI_TEST_EQUALS( 0, control.GetRendererCount(), TEST_LOCATION ); + // Scale becomes 0.6666666 + TestStartPinch(application, Vector2(5.0f, 20.0f), Vector2(35.0f, 20.0f), Vector2(10.0f, 20.0f), Vector2(30.0f, 20.0f), 100); + + DALI_TEST_EQUALS(0.666f, control.GetProperty(Actor::Property::SCALE_X).Get(), 0.01f, TEST_LOCATION); + + END_TEST; +} + +// For ResourceReady +namespace +{ +static bool gOnRelayoutCallBackCalled = false; +void OnRelayoutCallback(Actor actor) +{ + gOnRelayoutCallBackCalled = true; +} + +static bool gResourceReadyCalled = false; +void OnResourceReady(Control control) +{ + gResourceReadyCalled = true; +} +} // namespace + +int UtcDaliControlImplResourceReady(void) +{ + ToolkitTestApplication application; + + gOnRelayoutCallBackCalled = false; + gResourceReadyCalled = false; + Control control = Control::New(); + control.SetProperty(Actor::Property::SIZE, Vector2(100.0f, 100.0f)); + control.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + control.OnRelayoutSignal().Connect(OnRelayoutCallback); + control.ResourceReadySignal().Connect(OnResourceReady); + application.GetScene().Add(control); + + // Sanity check + DALI_TEST_CHECK(!gOnRelayoutCallBackCalled); + DALI_TEST_CHECK(!gResourceReadyCalled); + + application.SendNotification(); + application.Render(); + + DALI_TEST_EQUALS(gOnRelayoutCallBackCalled, true, TEST_LOCATION); + gOnRelayoutCallBackCalled = false; + + application.SendNotification(); + application.Render(); - Stage::GetCurrent().Add( control ); + DALI_TEST_EQUALS(gOnRelayoutCallBackCalled, false, TEST_LOCATION); + Toolkit::Internal::Control& impl = Toolkit::Internal::GetImplementation(control); + // ResourceReady is true when there is no visual in the default Toolkit::Internal::Control. + DALI_TEST_EQUALS(impl.IsResourceReady(), true, TEST_LOCATION); + DALI_TEST_EQUALS(gResourceReadyCalled, false, TEST_LOCATION); + impl.SetResourceReady(); + DALI_TEST_EQUALS(gResourceReadyCalled, true, TEST_LOCATION); application.SendNotification(); application.Render(); - control.SetProperty( Actor::Property::CLIPPING_MODE, ClippingMode::CLIP_CHILDREN ); + DALI_TEST_EQUALS(gOnRelayoutCallBackCalled, false, TEST_LOCATION); + gResourceReadyCalled = false; + DALI_TEST_EQUALS(gResourceReadyCalled, false, TEST_LOCATION); + impl.SetResourceReady(); + DALI_TEST_EQUALS(gResourceReadyCalled, true, TEST_LOCATION); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( 0, control.GetRendererCount(), TEST_LOCATION ); + DALI_TEST_EQUALS(gOnRelayoutCallBackCalled, false, TEST_LOCATION); END_TEST; }