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=1d4029752a0ed0e35bff31afc701fb6b3fbf8256;hpb=ee3018b578065010be4c56cacf99a294140ab120;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..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. @@ -250,7 +250,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 +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); @@ -441,9 +441,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,19 +462,29 @@ 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 = 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_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; } @@ -483,11 +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() ); + // Check Set / Unset. + actor.SetDepthTestDisabled( false ); DALI_TEST_CHECK( !actor.IsDepthTestDisabled() ); - actor.SetDepthTestDisabled( true ); DALI_TEST_CHECK( actor.IsDepthTestDisabled() ); + END_TEST; } @@ -508,8 +525,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 +564,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_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; +}