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=2feeee265d1a7bee8848c0c01ec4c85dbf52deae;hp=8e9f8fe88ac917252a2836d0a9c7d024d176e3f7;hb=a5fd3c7972dade609f0a66a3c4fca27d33ee7454;hpb=e80261307788b4656435c4dd964beff7c85e7e8c diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp index 8e9f8fe..2feeee2 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp @@ -20,6 +20,7 @@ #include #include +#include using namespace Dali; using namespace Toolkit; @@ -37,6 +38,73 @@ void utc_dali_toolkit_image_view_cleanup(void) namespace { const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg"; +const char* TEST_IMAGE_FILE_NAME2 = "gallery_image_02.jpg"; + +void TestImage( ImageView imageView, BufferImage image ) +{ + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + Property::Map map; + DALI_TEST_CHECK( value.Get( map ) ); + + DALI_TEST_CHECK( map.Find( "width" ) ); + DALI_TEST_CHECK( map.Find( "height" ) ); + DALI_TEST_CHECK( map.Find( "type" ) ); + + int width = 0; + DALI_TEST_CHECK( map[ "width" ].Get( width ) ); + DALI_TEST_EQUALS( (unsigned int)width, image.GetWidth(), TEST_LOCATION ); + + int height = 0; + DALI_TEST_CHECK( map[ "height" ].Get( height ) ); + DALI_TEST_EQUALS( (unsigned int)height, image.GetHeight(), TEST_LOCATION ); + + std::string type; + DALI_TEST_CHECK( map[ "type" ].Get( type ) ); + DALI_TEST_EQUALS( type, "BufferImage", TEST_LOCATION ); +} + +void TestImage( ImageView imageView, ResourceImage image ) +{ + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + Property::Map map; + DALI_TEST_CHECK( value.Get( map ) ); + + if( map.Find( "width" ) ) + { + int width = 0; + DALI_TEST_CHECK( map[ "width" ].Get( width ) ); + DALI_TEST_EQUALS( (unsigned int)width, image.GetWidth(), TEST_LOCATION ); + } + + if( map.Find( "height" ) ) + { + int height = 0; + DALI_TEST_CHECK( map[ "height" ].Get( height ) ); + DALI_TEST_EQUALS( (unsigned int)height, image.GetHeight(), TEST_LOCATION ); + } + + DALI_TEST_CHECK( map.Find( "type" ) ); + + std::string type; + DALI_TEST_CHECK( map[ "type" ].Get( type ) ); + DALI_TEST_EQUALS( type, "ResourceImage", TEST_LOCATION ); + + std::string filename; + DALI_TEST_CHECK( map[ "filename" ].Get( filename ) ); + DALI_TEST_EQUALS( filename, image.GetUrl(), TEST_LOCATION ); +} + +void TestUrl( ImageView imageView, const std::string url ) +{ + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + std::string urlActual; + DALI_TEST_CHECK( value.Get( urlActual ) ); + DALI_TEST_EQUALS( urlActual, url, TEST_LOCATION ); +} + } // namespace int UtcDaliImageViewNewP(void) @@ -54,11 +122,11 @@ int UtcDaliImageViewNewImageP(void) { TestApplication application; - Image image = CreateBufferImage( 100, 200, Vector4( 1.f, 1.f, 1.f, 1.f ) ); + BufferImage image = CreateBufferImage( 100, 200, Vector4( 1.f, 1.f, 1.f, 1.f ) ); ImageView imageView = ImageView::New( image ); DALI_TEST_CHECK( imageView ); - DALI_TEST_EQUALS( image, imageView.GetImage(), TEST_LOCATION ); + TestImage( imageView, image ); END_TEST; } @@ -69,19 +137,8 @@ int UtcDaliImageViewNewUrlP(void) ImageView imageView = ImageView::New( TEST_IMAGE_FILE_NAME ); DALI_TEST_CHECK( imageView ); - DALI_TEST_CHECK( imageView.GetImage() ); - - Property::Value val = imageView.GetProperty( imageView.GetPropertyIndex( "resource-url" ) ); - std::string resource_url; - DALI_TEST_CHECK( val.Get( resource_url ) ); - DALI_TEST_EQUALS( resource_url, TEST_IMAGE_FILE_NAME, TEST_LOCATION ); - Image image = imageView.GetImage(); - DALI_TEST_CHECK( image ); - - ResourceImage resourceImage = ResourceImage::DownCast( image ); - DALI_TEST_CHECK( resourceImage ); - DALI_TEST_EQUALS( resourceImage.GetUrl(), TEST_IMAGE_FILE_NAME, TEST_LOCATION ); + TestUrl( imageView, TEST_IMAGE_FILE_NAME ); END_TEST; } @@ -174,27 +231,17 @@ int UtcDaliImageViewTypeRegistry(void) END_TEST; } -int UtcDaliImageViewSetGetProperty(void) +int UtcDaliImageViewSetGetProperty01(void) { ToolkitTestApplication application; ImageView imageView = ImageView::New(); - Property::Index idx = imageView.GetPropertyIndex( "resource-url" ); - DALI_TEST_EQUALS( idx, ImageView::Property::RESOURCE_URL, TEST_LOCATION ); + Property::Index idx = imageView.GetPropertyIndex( "image" ); + DALI_TEST_EQUALS( idx, (Property::Index)ImageView::Property::IMAGE, TEST_LOCATION ); imageView.SetProperty( idx, TEST_IMAGE_FILE_NAME ); - Property::Value val = imageView.GetProperty( idx ); - std::string resource_url; - DALI_TEST_CHECK( val.Get( resource_url ) ); - DALI_TEST_EQUALS( resource_url, TEST_IMAGE_FILE_NAME, TEST_LOCATION ); - - Image image = imageView.GetImage(); - DALI_TEST_CHECK( image ); - - ResourceImage resourceImage = ResourceImage::DownCast( image ); - DALI_TEST_CHECK( resourceImage ); - DALI_TEST_EQUALS( resourceImage.GetUrl(), TEST_IMAGE_FILE_NAME, TEST_LOCATION ); + TestUrl( imageView, TEST_IMAGE_FILE_NAME ); END_TEST; } @@ -213,8 +260,8 @@ int UtcDaliImageViewSizeWithBackground(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( imageView.GetCurrentSize().width, width, TEST_LOCATION ); - DALI_TEST_EQUALS( imageView.GetCurrentSize().height, height, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetCurrentSize().width, (float)width, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetCurrentSize().height, (float)height, TEST_LOCATION ); END_TEST; } @@ -238,8 +285,8 @@ int UtcDaliImageViewSizeWithBackgroundAndImage(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( imageView.GetCurrentSize().width, width, TEST_LOCATION ); - DALI_TEST_EQUALS( imageView.GetCurrentSize().height, height, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetCurrentSize().width, (float)width, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetCurrentSize().height, (float)height, TEST_LOCATION ); END_TEST; } @@ -286,8 +333,8 @@ int UtcDaliImageViewHeightForWidthBackgroundAndImage(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( imageView.GetHeightForWidth( width ), height, TEST_LOCATION ); - DALI_TEST_EQUALS( imageView.GetWidthForHeight( height ), width, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetHeightForWidth( width ), (float)height, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetWidthForHeight( height ), (float)width, TEST_LOCATION ); END_TEST; } @@ -296,32 +343,35 @@ int UtcDaliImageViewSetBufferImage(void) { ToolkitTestApplication application; - int width = 300; - int height = 400; - Image image = CreateBufferImage( width, height, Vector4( 1.f, 1.f, 1.f, 1.f ) ); + int width1 = 300; + int height1 = 400; + BufferImage image1 = CreateBufferImage( width1, height1, Vector4( 1.f, 1.f, 1.f, 1.f ) ); ImageView imageView = ImageView::New(); - imageView.SetImage( image ); + imageView.SetImage( image1 ); - std::string resource_url; - Property::Value val = imageView.GetProperty( imageView.GetPropertyIndex( "resource-url" ) ); - DALI_TEST_CHECK( val.Get( resource_url ) ); - DALI_TEST_CHECK( resource_url.empty() ); + TestImage( imageView, image1 ); + + int width2 = 600; + int height2 = 500; + BufferImage image2 = CreateBufferImage( width2, height2, Vector4( 1.f, 1.f, 1.f, 1.f ) ); + imageView.SetImage( image2 ); + + TestImage( imageView, image2 ); END_TEST; } -int UtcDaliImageViewSetResourceImage(void) +int UtcDaliImageViewSetImageUrl(void) { ToolkitTestApplication application; - Image image = ResourceImage::New( TEST_IMAGE_FILE_NAME ); ImageView imageView = ImageView::New(); - imageView.SetImage( image ); + imageView.SetImage( TEST_IMAGE_FILE_NAME ); + TestUrl( imageView, TEST_IMAGE_FILE_NAME ); - std::string resource_url; - Property::Value val = imageView.GetProperty( imageView.GetPropertyIndex( "resource-url" ) ); - DALI_TEST_CHECK( val.Get( resource_url ) ); - DALI_TEST_EQUALS( resource_url, TEST_IMAGE_FILE_NAME, TEST_LOCATION ); + + imageView.SetImage( TEST_IMAGE_FILE_NAME2 ); + TestUrl( imageView, TEST_IMAGE_FILE_NAME2 ); END_TEST; } @@ -336,19 +386,15 @@ int UtcDaliImageViewSetImageOnstageP(void) application.SendNotification(); application.Render(); - Image image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); + ResourceImage image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); imageView.SetImage( image1 ); - - Image image2 = imageView.GetImage(); - DALI_TEST_EQUALS( image1, image2, TEST_LOCATION ); + TestImage( imageView, image1 ); int width = 300; int height = 400; - Image image3 = CreateBufferImage( width, height, Vector4( 1.f, 1.f, 1.f, 1.f ) ); - imageView.SetImage( image3 ); - - Image image4 = imageView.GetImage(); - DALI_TEST_EQUALS( image3, image4, TEST_LOCATION ); + BufferImage image2 = CreateBufferImage( width, height, Vector4( 1.f, 1.f, 1.f, 1.f ) ); + imageView.SetImage( image2 ); + TestImage( imageView, image2 ); END_TEST; } @@ -363,17 +409,21 @@ int UtcDaliImageViewSetImageOnstageN(void) application.SendNotification(); application.Render(); - Image image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); + ResourceImage image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); imageView.SetImage( image1 ); + TestImage( imageView, image1 ); + + Image image2; + imageView.SetImage( image2 ); - Image image2 = imageView.GetImage(); - DALI_TEST_EQUALS( image1, image2, TEST_LOCATION ); + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); - Image image3; - imageView.SetImage( image3 ); + //the value should be empty + std::string url; + DALI_TEST_CHECK( !value.Get( url ) ); - Image image4 = imageView.GetImage(); - DALI_TEST_CHECK( !image4 ); + Property::Map map; + DALI_TEST_CHECK( !value.Get( map ) ); END_TEST; } @@ -389,19 +439,15 @@ int UtcDaliImageViewSetImageOffstageP(void) application.Render(); Stage::GetCurrent().Remove( imageView ); - Image image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); + ResourceImage image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); imageView.SetImage( image1 ); - - Image image2 = imageView.GetImage(); - DALI_TEST_EQUALS( image1, image2, TEST_LOCATION ); + TestImage( imageView, image1 ); int width = 300; int height = 400; - Image image3 = CreateBufferImage( width, height, Vector4( 1.f, 1.f, 1.f, 1.f ) ); - imageView.SetImage( image3 ); - - Image image4 = imageView.GetImage(); - DALI_TEST_EQUALS( image3, image4, TEST_LOCATION ); + BufferImage image2 = CreateBufferImage( width, height, Vector4( 1.f, 1.f, 1.f, 1.f ) ); + imageView.SetImage( image2 ); + TestImage( imageView, image2 ); END_TEST; } @@ -417,17 +463,21 @@ int UtcDaliImageViewSetImageOffstageN(void) application.Render(); Stage::GetCurrent().Remove( imageView ); - Image image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); + ResourceImage image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); imageView.SetImage( image1 ); + TestImage( imageView, image1 ); + + Image image2; + imageView.SetImage( image2 ); - Image image2 = imageView.GetImage(); - DALI_TEST_EQUALS( image1, image2, TEST_LOCATION ); + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); - Image image3; - imageView.SetImage( image3 ); + //the value should be empty + std::string url; + DALI_TEST_CHECK( !value.Get( url ) ); - Image image4 = imageView.GetImage(); - DALI_TEST_CHECK( !image4 ); + Property::Map map; + DALI_TEST_CHECK( !value.Get( map ) ); END_TEST; } @@ -440,13 +490,77 @@ int UtcDaliImageViewSetImageN(void) ImageView imageView = ImageView::New(); imageView.SetImage( image1 ); - Image image2 = imageView.GetImage(); - DALI_TEST_CHECK( !image2 ); + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + //the value should be empty + std::string url; + DALI_TEST_CHECK( !value.Get( url ) ); + + Property::Map map; + DALI_TEST_CHECK( !value.Get( map ) ); std::string resource_url; - Property::Value val = imageView.GetProperty( imageView.GetPropertyIndex( "resource-url" ) ); - DALI_TEST_CHECK( val.Get( resource_url ) ); - DALI_TEST_CHECK( resource_url.empty() ); + Property::Value val = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + DALI_TEST_CHECK( !val.Get( resource_url ) ); + + END_TEST; +} + +int UtcDaliImageViewSetImageTypeChangesP(void) +{ + ToolkitTestApplication application; + + ImageView imageView = ImageView::New(); + + + std::string url; + Property::Map map; + + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + DALI_TEST_CHECK( ! value.Get( url ) ); // Value should be empty + DALI_TEST_CHECK( ! value.Get( map ) ); // Value should be empty + + // Set a URL + imageView.SetImage( "TEST_URL" ); + value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + DALI_TEST_CHECK( value.Get( url ) ); // Value should NOT be empty + DALI_TEST_CHECK( ! value.Get( map ) ); // Value should be empty + + // Set an empty Image + imageView.SetImage( Image() ); + value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + DALI_TEST_CHECK( ! value.Get( url ) ); // Value should be empty + DALI_TEST_CHECK( ! value.Get( map ) ); // Value should be empty + + // Set an Image + ResourceImage image1 = ResourceImage::New( TEST_IMAGE_FILE_NAME ); + imageView.SetImage( image1 ); + value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + DALI_TEST_CHECK( ! value.Get( url ) ); // Value should be empty + DALI_TEST_CHECK( value.Get( map ) ); // Value should NOT be empty + + // Set an empty URL + imageView.SetImage( "" ); + value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + + DALI_TEST_CHECK( ! value.Get( url ) ); // Value should be empty + DALI_TEST_CHECK( ! value.Get( map ) ); // Value should be empty + + END_TEST; +} + +int UtcDaliImageViewResourceUrlP(void) +{ + ToolkitTestApplication application; + + ImageView imageView = ImageView::New(); + DALI_TEST_CHECK( imageView.GetProperty( ImageView::Property::RESOURCE_URL ).Get< std::string >().empty() ); + + imageView.SetProperty( ImageView::Property::RESOURCE_URL, "TestString" ); + DALI_TEST_EQUALS( imageView.GetProperty( ImageView::Property::RESOURCE_URL ).Get< std::string >(), "TestString", TEST_LOCATION ); END_TEST; }