X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali%2Futc-Dali-Layer.cpp;h=9b3e5a47f4370bc6ec1ce8cce527578f2d18d761;hb=e08e2992259823c5f9832ad959ffa510b0445a6c;hp=ee8c51da52244c47c7e57643444324b83d662436;hpb=60e423d20ce223335e1188eeea05e1094cfaae7a;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 ee8c51da..9b3e5a4 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. @@ -262,8 +262,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); @@ -467,17 +467,23 @@ int UtcDaliLayerDefaultProperties(void) DALI_TEST_CHECK(Property::RECTANGLE == actor.GetPropertyType(Layer::Property::CLIPPING_BOX)); Property::Value v = actor.GetProperty(Layer::Property::CLIPPING_BOX); + DALI_TEST_CHECK(v.Get >() == testBox); + v = actor.GetCurrentProperty( Layer::Property::CLIPPING_BOX ); DALI_TEST_CHECK(v.Get >() == testBox); // set the same boundaries, but through a clipping box object actor.SetClippingBox( testBox ); - DALI_TEST_CHECK( actor.GetClippingBox() == testBox ); + actor.SetProperty(Layer::Property::BEHAVIOR, Property::Value(Layer::LAYER_UI)); + DALI_TEST_CHECK(Property::STRING == actor.GetPropertyType(Layer::Property::BEHAVIOR)); Property::Value behavior = actor.GetProperty(Layer::Property::BEHAVIOR); - DALI_TEST_CHECK( std::strcmp( behavior.Get().c_str(), "LAYER_2D") ); + DALI_TEST_EQUALS(behavior.Get().c_str(), "LAYER_UI", TEST_LOCATION ); + + behavior = actor.GetCurrentProperty( Layer::Property::BEHAVIOR ); + DALI_TEST_EQUALS(behavior.Get().c_str(), "LAYER_UI", TEST_LOCATION ); END_TEST; } @@ -488,13 +494,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() ); - actor.SetBehavior( Layer::LAYER_3D ); + // Check Set / Unset. + actor.SetDepthTestDisabled( false ); DALI_TEST_CHECK( !actor.IsDepthTestDisabled() ); - actor.SetDepthTestDisabled( true ); DALI_TEST_CHECK( actor.IsDepthTestDisabled() ); + END_TEST; } @@ -555,7 +565,7 @@ int UtcDaliLayerClippingGLCalls(void) // Add at least one renderable actor so the GL calls are actually made BufferImage img = BufferImage::New( 1,1 ); - Actor actor = ImageActor::New( img ); + Actor actor = CreateRenderableActor( img ); stage.Add( actor ); // flush the queue and render once @@ -563,7 +573,7 @@ int UtcDaliLayerClippingGLCalls(void) 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; @@ -574,8 +584,63 @@ int UtcDaliLayerBehaviour(void) TestApplication application; Layer layer = Layer::New(); - DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_2D, TEST_LOCATION ); + DALI_TEST_EQUALS( layer.GetBehavior(), Dali::Layer::LAYER_UI, 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; +}