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-ImageView.cpp;h=d1beb09bf0fdbe98f80c701bccbff152b137474a;hp=3921404362e32bb931a4a753e456f2aa4103e5d0;hb=95bc87993608242c8eaff49551ae85b4b78c4de7;hpb=45e2dd4d4023bd68a494e062114eacf130defeb2 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp index 3921404..d1beb09 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016 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. @@ -23,6 +23,8 @@ #include #include +#include +#include #include #include @@ -452,7 +454,15 @@ int UtcDaliImageViewAsyncLoadingWithAtlasing(void) callStack.Reset(); callStack.Enable(true); - ImageView imageView = ImageView::New( gImage_34_RGBA, ImageDimensions( 34, 34 ) ); + Property::Map imageMap; + + imageMap[ ImageVisual::Property::URL ] = gImage_34_RGBA; + imageMap[ ImageVisual::Property::DESIRED_HEIGHT ] = 34; + imageMap[ ImageVisual::Property::DESIRED_WIDTH ] = 34; + imageMap[ DevelImageVisual::Property::ATLASING] = true; + + ImageView imageView = ImageView::New(); + imageView.SetProperty( ImageView::Property::IMAGE, imageMap ); // By default, Aysnc loading is used // loading is not started if the actor is offStage @@ -493,6 +503,7 @@ int UtcDaliImageViewAsyncLoadingWithAtlasing02(void) asyncLoadingMap[ "desiredHeight" ] = 34; asyncLoadingMap[ "desiredWidth" ] = 34; asyncLoadingMap[ "synchronousLoading" ] = false; + asyncLoadingMap[ "atlasing" ] = true; ImageView imageView = ImageView::New(); imageView.SetProperty( ImageView::Property::IMAGE, asyncLoadingMap ); @@ -527,6 +538,7 @@ int UtcDaliImageViewSyncLoading(void) Property::Map syncLoadingMap; syncLoadingMap[ ImageVisual::Property::SYNCHRONOUS_LOADING ] = true; + syncLoadingMap[ DevelImageVisual::Property::ATLASING ] = true; // Sync loading, no atlasing for big size image { @@ -536,6 +548,7 @@ int UtcDaliImageViewSyncLoading(void) syncLoadingMap[ ImageVisual::Property::URL ] = gImage_600_RGB; imageView.SetProperty( ImageView::Property::IMAGE, syncLoadingMap ); + // BitmapLoader is used, and the loading is started immediately even the actor is not on stage. BitmapLoader loader = BitmapLoader::GetLatestCreated(); DALI_TEST_CHECK( loader ); @@ -598,6 +611,7 @@ int UtcDaliImageViewSyncLoading02(void) syncLoadingMap[ "desiredHeight" ] = 34; syncLoadingMap[ "desiredWidth" ] = 34; syncLoadingMap[ "synchronousLoading" ] = true; + syncLoadingMap[ "atlasing" ] = true; imageView.SetProperty( ImageView::Property::IMAGE, syncLoadingMap ); // loading is started even if the actor is offStage @@ -827,6 +841,46 @@ int UtcDaliImageViewSetImageOffstageP(void) END_TEST; } +bool gResourceReadySignalFired = false; + +void ResourceReadySignal( Control control ) +{ + gResourceReadySignalFired = true; +} + +int UtcDaliImageViewCheckResourceReady(void) +{ + ToolkitTestApplication application; + + gResourceReadySignalFired = false; + + + int width = 100; + int height = 200; + Image image = CreateBufferImage( width, height, Vector4(1.f, 1.f, 1.f, 1.f) ); + + // Check ImageView with background and main image, to ensure both visuals are marked as loaded + ImageView imageView = ImageView::New( TEST_GIF_FILE_NAME ); + + imageView.SetBackgroundImage( image ); + + DALI_TEST_EQUALS( Toolkit::DevelControl::IsResourceReady( imageView ), false, TEST_LOCATION ); + + Toolkit::DevelControl::ResourceReadySignal( imageView ).Connect( &ResourceReadySignal); + + Stage::GetCurrent().Add( imageView ); + + application.SendNotification(); + application.Render(16); + + + DALI_TEST_EQUALS( Toolkit::DevelControl::IsResourceReady( imageView ), true, TEST_LOCATION ); + + DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION ); + + END_TEST; +} + int UtcDaliImageViewSetImageOffstageN(void) { ToolkitTestApplication application; @@ -1000,7 +1054,7 @@ int UtcDaliImageViewSetImageNativeImage(void) DALI_TEST_CHECK( gl.GetTextureTrace().FindMethod("BindTexture") ); std::stringstream params; - params << GL_TEXTURE_2D << ", " << 23; + params << GL_TEXTURE_EXTERNAL_OES << ", " << 23; DALI_TEST_CHECK( gl.GetTextureTrace().FindMethodAndParams("BindTexture", params.str()) ); END_TEST; @@ -1050,7 +1104,7 @@ int UtcDaliImageViewSetImageBufferImageToNativeImage(void) DALI_TEST_CHECK( gl.GetTextureTrace().FindMethod("BindTexture") ); std::stringstream nextTextureParams; - nextTextureParams << GL_TEXTURE_2D << ", " << 24; + nextTextureParams << GL_TEXTURE_EXTERNAL_OES << ", " << 24; DALI_TEST_CHECK( gl.GetTextureTrace().FindMethodAndParams("BindTexture", nextTextureParams.str()) ); END_TEST; @@ -1082,7 +1136,7 @@ int UtcDaliImageViewSetImageNativeImageToBufferImage(void) DALI_TEST_CHECK( gl.GetTextureTrace().FindMethod("BindTexture") ); std::stringstream params; - params << GL_TEXTURE_2D << ", " << 23; + params << GL_TEXTURE_EXTERNAL_OES << ", " << 23; DALI_TEST_CHECK( gl.GetTextureTrace().FindMethodAndParams("BindTexture", params.str()) ); width = 200; @@ -1149,7 +1203,7 @@ int UtcDaliImageViewSetImageNativeImageWithCustomShader(void) DALI_TEST_CHECK( gl.GetTextureTrace().FindMethod("BindTexture") ); std::stringstream params; - params << GL_TEXTURE_2D << ", " << 23; + params << GL_TEXTURE_EXTERNAL_OES << ", " << 23; DALI_TEST_CHECK( gl.GetTextureTrace().FindMethodAndParams("BindTexture", params.str()) ); END_TEST; @@ -1214,7 +1268,7 @@ int UtcDaliImageViewSetImageBufferImageWithCustomShaderToNativeImage(void) DALI_TEST_CHECK( gl.GetTextureTrace().FindMethod("BindTexture") ); std::stringstream nativeImageParams; - nativeImageParams << GL_TEXTURE_2D << ", " << 24; + nativeImageParams << GL_TEXTURE_EXTERNAL_OES << ", " << 24; DALI_TEST_CHECK( gl.GetTextureTrace().FindMethodAndParams("BindTexture", nativeImageParams.str()) );