X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali%2Futc-Dali-Layer.cpp;h=e10feff12e503401caeca53ffd8ea3c0c2d1ca70;hb=72d3e464f0fdaaf6db6206873408e8d845f02cd4;hp=1d4029752a0ed0e35bff31afc701fb6b3fbf8256;hpb=933b6c4b896da1ae0fd81e8e7d12aba75b6b8c4c;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/automated-tests/src/dali/utc-Dali-Layer.cpp b/automated-tests/src/dali/utc-Dali-Layer.cpp index 1d40297..e10feff 100644 --- a/automated-tests/src/dali/utc-Dali-Layer.cpp +++ b/automated-tests/src/dali/utc-Dali-Layer.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2017 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,6 +20,7 @@ #include #include +#include #include @@ -250,7 +251,7 @@ int UtcDaliLayerGetClippingBox(void) static int gTestSortFunctionCalled; -static float TestSortFunction(const Vector3& /*position*/, float /*sortModifier*/) +static float TestSortFunction(const Vector3& /*position*/) { ++gTestSortFunctionCalled; return 0.0f; @@ -262,8 +263,8 @@ int UtcDaliLayerSetSortFunction(void) TestApplication application; BufferImage img = BufferImage::New( 1,1 ); // create two transparent actors so there is something to sort - ImageActor actor = ImageActor::New( img ); - ImageActor actor2 = ImageActor::New( img ); + Actor actor = CreateRenderableActor( img ); + Actor actor2 = CreateRenderableActor( img ); actor.SetSize(1,1); actor.SetColor( Vector4(1, 1, 1, 0.5f ) ); // 50% transparent actor2.SetSize(1,1); @@ -441,9 +442,10 @@ int UtcDaliLayerDefaultProperties(void) Layer actor = Layer::New(); - std::vector indices ; - indices.push_back(Layer::Property::ClippingEnable); - indices.push_back(Layer::Property::ClippingBox); + std::vector indices; + indices.push_back(Layer::Property::CLIPPING_ENABLE); + indices.push_back(Layer::Property::CLIPPING_BOX); + indices.push_back(Layer::Property::BEHAVIOR); DALI_TEST_CHECK(actor.GetPropertyCount() == ( Actor::New().GetPropertyCount() + indices.size() ) ); @@ -461,12 +463,14 @@ int UtcDaliLayerDefaultProperties(void) ClippingBox testBox(10,20,30,40); DALI_TEST_CHECK(actor.GetClippingBox() != testBox); - actor.SetProperty(Layer::Property::ClippingBox, Property::Value(Rect(testBox))); + actor.SetProperty(Layer::Property::CLIPPING_BOX, Property::Value(Rect(testBox))); - DALI_TEST_CHECK(Property::RECTANGLE == actor.GetPropertyType(Layer::Property::ClippingBox)) ; + DALI_TEST_CHECK(Property::RECTANGLE == actor.GetPropertyType(Layer::Property::CLIPPING_BOX)); - Property::Value v = actor.GetProperty(Layer::Property::ClippingBox); + Property::Value v = actor.GetProperty(Layer::Property::CLIPPING_BOX); + DALI_TEST_CHECK(v.Get >() == testBox); + v = DevelHandle::GetCurrentProperty( actor, Layer::Property::CLIPPING_BOX ); DALI_TEST_CHECK(v.Get >() == testBox); // set the same boundaries, but through a clipping box object @@ -474,6 +478,12 @@ int UtcDaliLayerDefaultProperties(void) DALI_TEST_CHECK( actor.GetClippingBox() == testBox ); + Property::Value behavior = actor.GetProperty(Layer::Property::BEHAVIOR); + DALI_TEST_EQUALS(behavior.Get().c_str(), "LAYER_2D", TEST_LOCATION ); + + behavior = DevelHandle::GetCurrentProperty( actor, Layer::Property::BEHAVIOR ); + DALI_TEST_EQUALS(behavior.Get().c_str(), "LAYER_2D", TEST_LOCATION ); + END_TEST; } @@ -483,11 +493,17 @@ int UtcDaliLayerSetDepthTestDisabled(void) tet_infoline("Testing Dali::Layer::SetDepthTestDisabled() "); Layer actor = Layer::New(); + // Note that IsDepthTestDisabled does not depend on layer behavior, + // as 2D layers can still have depth tests performed on a per-renderer basis. + // Check default. + DALI_TEST_CHECK( actor.IsDepthTestDisabled() ); + // Check Set / Unset. + actor.SetDepthTestDisabled( false ); DALI_TEST_CHECK( !actor.IsDepthTestDisabled() ); - actor.SetDepthTestDisabled( true ); DALI_TEST_CHECK( actor.IsDepthTestDisabled() ); + END_TEST; } @@ -508,8 +524,8 @@ int UtcDaliLayerPropertyIndices(void) Property::IndexContainer indices; layer.GetPropertyIndices( indices ); - DALI_TEST_CHECK( indices.size() > basicActor.GetPropertyCount() ); - DALI_TEST_EQUALS( indices.size(), layer.GetPropertyCount(), TEST_LOCATION ); + DALI_TEST_CHECK( indices.Size() > basicActor.GetPropertyCount() ); + DALI_TEST_EQUALS( indices.Size(), layer.GetPropertyCount(), TEST_LOCATION ); END_TEST; } @@ -547,16 +563,83 @@ int UtcDaliLayerClippingGLCalls(void) layer.SetClippingBox( testBox ); // Add at least one renderable actor so the GL calls are actually made - Actor textActor = TextActor::New("Hello"); - stage.Add( textActor ); + BufferImage img = BufferImage::New( 1,1 ); + Actor actor = CreateRenderableActor( img ); + stage.Add( actor ); // flush the queue and render once application.SendNotification(); application.Render(); DALI_TEST_EQUALS( testBox.x, glScissorParams.x, TEST_LOCATION ); - DALI_TEST_EQUALS( testBox.y, stage.GetSize().height - glScissorParams.y - testBox.height, TEST_LOCATION ); // GL Coordinates are from bottom left + DALI_TEST_EQUALS( testBox.y, (int)(stage.GetSize().height - glScissorParams.y - testBox.height), TEST_LOCATION ); // GL Coordinates are from bottom left DALI_TEST_EQUALS( testBox.width, glScissorParams.width, TEST_LOCATION ); DALI_TEST_EQUALS( testBox.height, glScissorParams.height, TEST_LOCATION ); END_TEST; } + +int UtcDaliLayerBehaviour(void) +{ + TestApplication application; + Layer layer = Layer::New(); + + DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_2D, TEST_LOCATION ); + layer.SetBehavior( Dali::Layer::LAYER_3D ); + DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_3D, TEST_LOCATION ); + END_TEST; +} + +Actor CreateActor( bool withAlpha ) +{ + Dali::BufferImage bufferImage; + + if( withAlpha ) + { + bufferImage = Dali::BufferImage::WHITE(); + } + else + { + bufferImage = BufferImage::New( 1u, 1u, Pixel::RGB888 ); + PixelBuffer* pBuffer = bufferImage.GetBuffer(); + if( pBuffer ) + { + pBuffer[0] = pBuffer[1] = pBuffer[2] = 0xFF; + } + } + + Actor actor = CreateRenderableActor( bufferImage ); + actor.SetParentOrigin( ParentOrigin::CENTER ); + actor.SetAnchorPoint( AnchorPoint::CENTER ); + + return actor; +} + +int UtcDaliLayer3DSort(void) +{ + tet_infoline( "Testing LAYER_3D sort coverage test" ); + TestApplication application; + TestGlAbstraction& glAbstraction = application.GetGlAbstraction(); + TraceCallStack& enabledDisableTrace = glAbstraction.GetEnableDisableTrace(); + + Stage::GetCurrent().GetRootLayer().SetBehavior( Layer::LAYER_3D ); + + // Create an actor. + Actor actor = CreateActor( false ); + Stage::GetCurrent().Add( actor ); + + // Create child actors. + Actor child1 = CreateActor( true ); + actor.Add( child1 ); + Actor child2 = CreateActor( false ); + child1.Add( child2 ); + + enabledDisableTrace.Reset(); + enabledDisableTrace.Enable( true ); + application.SendNotification(); + application.Render(); + enabledDisableTrace.Enable( false ); + + DALI_TEST_CHECK( enabledDisableTrace.FindMethodAndParams( "Enable", "2929" ) ); // 2929 is GL_DEPTH_TEST + + END_TEST; +}