From b701324d2858cf0fcbc0c05b1e4e86fd76fc52a2 Mon Sep 17 00:00:00 2001 From: Kingsley Stephens Date: Mon, 20 Apr 2015 11:30:40 +0100 Subject: [PATCH] Add size negotiation tests to Actor Change-Id: Iace20dec34a99c6ad5b6b0cdb709ee45db526399 --- automated-tests/src/dali/utc-Dali-Actor.cpp | 210 +++++++++++++++++++++++++++- 1 file changed, 205 insertions(+), 5 deletions(-) diff --git a/automated-tests/src/dali/utc-Dali-Actor.cpp b/automated-tests/src/dali/utc-Dali-Actor.cpp index fcf2c03..ae6b065 100644 --- a/automated-tests/src/dali/utc-Dali-Actor.cpp +++ b/automated-tests/src/dali/utc-Dali-Actor.cpp @@ -18,6 +18,7 @@ #include "assert.h" #include #include +#include // For FLT_MAX #include #include #include @@ -163,7 +164,16 @@ struct PositionComponentConstraint } }; +// OnRelayout +static bool gOnRelayoutCallBackCalled = 0; +static std::vector< std::string > gActorNamesRelayout; + +void OnRelayoutCallback( Actor actor ) +{ + ++gOnRelayoutCallBackCalled; + gActorNamesRelayout.push_back( actor.GetName() ); +} } // anonymous namespace @@ -180,7 +190,7 @@ int UtcDaliActorNew(void) } //& purpose: Testing Dali::Actor::DownCast() -int UtcDaliActorDownCast(void) +int UtcDaliActorDownCastP(void) { TestApplication application; tet_infoline("Testing Dali::Actor::DownCast()"); @@ -193,7 +203,7 @@ int UtcDaliActorDownCast(void) } //& purpose: Testing Dali::Actor::DownCast() -int UtcDaliActorDownCast2(void) +int UtcDaliActorDownCastN(void) { TestApplication application; tet_infoline("Testing Dali::Actor::DownCast()"); @@ -297,7 +307,7 @@ int UtcDaliActorGetLayer(void) END_TEST; } -int UtcDaliActorAdd(void) +int UtcDaliActorAddP(void) { tet_infoline("Testing Actor::Add"); TestApplication application; @@ -331,6 +341,19 @@ int UtcDaliActorAdd(void) parent2.Add( child ); DALI_TEST_EQUALS( parent2.GetChildCount(), 1u, TEST_LOCATION ); + END_TEST; +} + +int UtcDaliActorAddN(void) +{ + tet_infoline("Testing Actor::Add"); + TestApplication application; + + Actor child = Actor::New(); + + Actor parent2 = Actor::New(); + parent2.Add( child ); + // try illegal Add try { @@ -388,6 +411,7 @@ int UtcDaliActorAdd(void) tet_printf("Assertion test failed - wrong Exception\n" ); tet_result(TET_FAIL); } + END_TEST; } @@ -418,7 +442,7 @@ int UtcDaliActorInsert(void) } -int UtcDaliActorRemove01(void) +int UtcDaliActorRemoveN(void) { tet_infoline("Testing Actor::Remove"); TestApplication application; @@ -480,7 +504,7 @@ int UtcDaliActorRemove01(void) END_TEST; } -int UtcDaliActorRemove02(void) +int UtcDaliActorRemoveP(void) { TestApplication application; @@ -2716,6 +2740,11 @@ int UtcDaliRelayoutProperties_SizeScalePolicy(void) // Defaults DALI_TEST_EQUALS( actor.GetProperty( Actor::Property::SIZE_SCALE_POLICY ).Get< std::string >(), "USE_SIZE_SET", TEST_LOCATION ); + DALI_TEST_EQUALS( actor.GetSizeScalePolicy(), SizeScalePolicy::USE_SIZE_SET, TEST_LOCATION ); + + SizeScalePolicy::Type policy = SizeScalePolicy::FILL_WITH_ASPECT_RATIO; + actor.SetSizeScalePolicy( policy ); + DALI_TEST_EQUALS( actor.GetSizeScalePolicy(), policy, TEST_LOCATION ); // Set const char* const policy1 = "FIT_WITH_ASPECT_RATIO"; @@ -2730,6 +2759,29 @@ int UtcDaliRelayoutProperties_SizeScalePolicy(void) END_TEST; } +int UtcDaliRelayoutProperties_SizeModeFactor(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + // Defaults + DALI_TEST_EQUALS( actor.GetProperty( Actor::Property::SIZE_MODE_FACTOR ).Get< Vector3 >(), Vector3( 1.0f, 1.0f, 1.0f ), TEST_LOCATION ); + DALI_TEST_EQUALS( actor.GetSizeModeFactor(), Vector3( 1.0f, 1.0f, 1.0f ), TEST_LOCATION ); + + Vector3 sizeMode( 1.0f, 2.0f, 3.0f ); + actor.SetSizeModeFactor( sizeMode ); + DALI_TEST_EQUALS( actor.GetSizeModeFactor(), sizeMode, TEST_LOCATION ); + + // Set + Vector3 sizeMode1( 2.0f, 3.0f, 4.0f ); + + actor.SetProperty( Actor::Property::SIZE_MODE_FACTOR, sizeMode1 ); + DALI_TEST_EQUALS( actor.GetProperty( Actor::Property::SIZE_MODE_FACTOR ).Get< Vector3 >(), sizeMode1, TEST_LOCATION ); + + END_TEST; +} + int UtcDaliRelayoutProperties_DimensionDependency(void) { TestApplication app; @@ -2795,3 +2847,151 @@ int UtcDaliRelayoutProperties_MinimumMaximumSize(void) END_TEST; } + +int UtcDaliActorGetHeightForWidth(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + DALI_TEST_EQUALS( actor.GetHeightForWidth( 1.0f ), 0.0f, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorGetWidthForHeight(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + DALI_TEST_EQUALS( actor.GetWidthForHeight( 1.0f ), 0.0f, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorGetRelayoutSize(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + DALI_TEST_EQUALS( actor.GetRelayoutSize( Dimension::WIDTH ), 0.0f, TEST_LOCATION ); + + actor.SetResizePolicy( ResizePolicy::FIXED, Dimension::WIDTH ); + actor.SetSize( Vector2( 1.0f, 0.0f ) ); + + // Flush the queue and render once + app.SendNotification(); + app.Render(); + + DALI_TEST_EQUALS( actor.GetRelayoutSize( Dimension::WIDTH ), 1.0f, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorSetPadding(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + Padding padding; + actor.GetPadding( padding ); + + DALI_TEST_EQUALS( padding.left, 0.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.right, 0.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.bottom, 0.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.top, 0.0f, TEST_LOCATION ); + + Padding padding2( 1.0f, 2.0f, 3.0f, 4.0f ); + actor.SetPadding( padding2 ); + + actor.GetPadding( padding ); + + DALI_TEST_EQUALS( padding.left, padding2.left, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.right, padding2.right, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.bottom, padding2.bottom, TEST_LOCATION ); + DALI_TEST_EQUALS( padding.top, padding2.top, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorSetMinimumSize(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + Vector2 size = actor.GetMinimumSize(); + + DALI_TEST_EQUALS( size.width, 0.0f, TEST_LOCATION ); + DALI_TEST_EQUALS( size.height, 0.0f, TEST_LOCATION ); + + Vector2 size2( 1.0f, 2.0f ); + actor.SetMinimumSize( size2 ); + + size = actor.GetMinimumSize(); + + DALI_TEST_EQUALS( size.width, size2.width, TEST_LOCATION ); + DALI_TEST_EQUALS( size.height, size2.height, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorSetMaximumSize(void) +{ + TestApplication app; + + Actor actor = Actor::New(); + + Vector2 size = actor.GetMaximumSize(); + + DALI_TEST_EQUALS( size.width, FLT_MAX, TEST_LOCATION ); + DALI_TEST_EQUALS( size.height, FLT_MAX, TEST_LOCATION ); + + Vector2 size2( 1.0f, 2.0f ); + actor.SetMaximumSize( size2 ); + + size = actor.GetMaximumSize(); + + DALI_TEST_EQUALS( size.width, size2.width, TEST_LOCATION ); + DALI_TEST_EQUALS( size.height, size2.height, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliActorOnRelayoutSignal(void) +{ + tet_infoline("Testing Dali::Actor::OnRelayoutSignal()"); + + TestApplication application; + + // Clean test data + gOnRelayoutCallBackCalled = 0; + gActorNamesRelayout.clear(); + + Actor actor = Actor::New(); + actor.SetName( "actor" ); + actor.OnRelayoutSignal().Connect( OnRelayoutCallback ); + actor.SetRelayoutEnabled( true ); + + // Sanity check + DALI_TEST_CHECK( gOnRelayoutCallBackCalled == 0 ); + + // Add actor to stage + Stage::GetCurrent().Add( actor ); + + actor.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); + actor.SetSize( Vector2( 1.0f, 2.0 ) ); + + // Flush the queue and render once + application.SendNotification(); + application.Render(); + + // OnRelayout emitted + DALI_TEST_EQUALS( gOnRelayoutCallBackCalled, 1, TEST_LOCATION ); + DALI_TEST_EQUALS( "actor", gActorNamesRelayout[ 0 ], TEST_LOCATION ); + + END_TEST; +} -- 2.7.4