X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-PushButton.cpp;h=e95842927b432c08516b871501344ec95132176a;hb=539ba0fddbfafdeb2022bb3c508db05e9b92825c;hp=421083f9afec60250cf642e71beca04f053cb57a;hpb=611c65adb7d515fffbcd51be4874c203b0313446;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp index 421083f..e958429 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.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. @@ -27,8 +27,8 @@ #include #include -#include -#include + +#include using namespace Dali; using namespace Toolkit; @@ -46,6 +46,7 @@ void utc_dali_toolkit_pushbutton_cleanup(void) namespace { static const char* TEST_IMAGE_ONE = TEST_RESOURCE_DIR "/gallery-small-1.jpg"; +static const char* TEST_IMAGE_TWO = TEST_RESOURCE_DIR "/icon-delete.jpg"; static const Vector2 INSIDE_TOUCH_POINT_POSITON = Vector2( 240, 400 ); static const Vector3 BUTTON_POSITON_TO_GET_INSIDE_TOUCH_EVENTS = Vector3( 200, 360, 0 ); @@ -446,7 +447,7 @@ int UtcDaliPushButtonLabelProperty(void) application.Render(); pushButton.SetProperty( Toolkit::Button::Property::LABEL, - Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) ); @@ -741,8 +742,11 @@ int UtcDaliPushButtonPaddingLayout(void) PushButton pushButton = PushButton::New(); const Vector4 TEST_ICON_PADDING( 20.0f, 20.0f, 20.0f, 20.0f ); - const Vector4 TEST_LABEL_PADDING( 10.0f, 10.0f, 10.0f ,10.0f ); - const Vector2 TEST_IMAGE_SIZE = Vector2( 5.0f, 5.0f); + const Vector4 TEST_LABEL_PADDING( 10.0f, 10.0f, 10.0f, 10.0f ); + + // Get actual size of test image + ImageDimensions testImageSize = Dali::GetClosestImageSize( TEST_IMAGE_ONE ); + const Vector2 TEST_IMAGE_SIZE( testImageSize.GetWidth(), testImageSize.GetHeight() ); pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT ); @@ -800,8 +804,6 @@ int UtcDaliPushButtonPaddingLayout(void) Stage::GetCurrent().Add( pushButton ); - TestPlatformAbstraction& platform = application.GetPlatform(); - platform.SetClosestImageSize( TEST_IMAGE_SIZE ); pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "RIGHT" ); pushButton.SetProperty( Toolkit::PushButton::Property::UNSELECTED_ICON, TEST_IMAGE_ONE ); @@ -824,7 +826,7 @@ int UtcDaliPushButtonPaddingLayout(void) size.width = pushButton.GetRelayoutSize( Dimension::WIDTH ); size.height = pushButton.GetRelayoutSize( Dimension::HEIGHT ); tet_printf( "Button RelayoutSize after icon padding(%f,%f)\n", size.width, size.height ); - const Vector2 expectedIconAndPaddingSize( TEST_ICON_PADDING.x+TEST_ICON_PADDING.y+TEST_IMAGE_SIZE.width, TEST_ICON_PADDING.w+TEST_ICON_PADDING.z +TEST_IMAGE_SIZE.height ); + const Vector2 expectedIconAndPaddingSize( TEST_ICON_PADDING.x+TEST_ICON_PADDING.y+TEST_IMAGE_SIZE.width, TEST_ICON_PADDING.w + TEST_ICON_PADDING.z + TEST_IMAGE_SIZE.height ); DALI_TEST_EQUALS( size, expectedIconAndPaddingSize, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); // Now test padding for both label and icon simultaneously. @@ -847,7 +849,8 @@ int UtcDaliPushButtonPaddingLayout(void) tet_printf( "Button RelayoutSize after icon and label padding(%f,%f)\n", size.width, size.height ); DALI_TEST_EQUALS( size.width, sizeLabelAndPadding.width + expectedIconAndPaddingSize.width, TEST_LOCATION ); - DALI_TEST_GREATER( size.height, expectedIconAndPaddingSize.width, TEST_LOCATION ); // Test height of control is greater than icon and padding. As Text set to larger values. + // Test height of control is same as icon and padding, as Text is smaller than icon + DALI_TEST_EQUALS( size.height, expectedIconAndPaddingSize.height, TEST_LOCATION ); END_TEST; } @@ -885,7 +888,10 @@ int UtcDaliPushButtonAlignmentLayout(void) const Vector4 TEST_ICON_PADDING( 70.0f, 70.0f, 70.0f, 70.0f ); const Vector4 TEST_LABEL_PADDING( 30.0f, 30.0f, 30.0f, 30.0f ); - const Vector2 TEST_IMAGE_SIZE = Vector2( 10.0f, 10.0f); + + // Get actual size of test image + ImageDimensions testImageSize = Dali::GetClosestImageSize( TEST_IMAGE_ONE ); + const Vector2 TEST_IMAGE_SIZE( testImageSize.GetWidth(), testImageSize.GetHeight() ); PushButton pushButton = PushButton::New(); @@ -925,9 +931,6 @@ int UtcDaliPushButtonAlignmentLayout(void) const Vector2 testImageWithPaddingSize = Vector2 ( ( TEST_IMAGE_SIZE.width + TEST_ICON_PADDING.x + TEST_ICON_PADDING.y ), ( TEST_IMAGE_SIZE.height + TEST_ICON_PADDING.w + TEST_ICON_PADDING.z ) ); - TestPlatformAbstraction& platform = application.GetPlatform(); - platform.SetClosestImageSize( TEST_IMAGE_SIZE ); - // Add Icon and set its alignment pushButton.SetProperty( Toolkit::PushButton::Property::ICON_ALIGNMENT, "RIGHT" ); pushButton.SetProperty( Toolkit::PushButton::Property::UNSELECTED_ICON, TEST_IMAGE_ONE ); @@ -1506,7 +1509,7 @@ int UtcDaliPushButtonSetLabelText(void) PushButton pushButton = PushButton::New(); pushButton.SetProperty( Toolkit::Button::Property::LABEL, - Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) ); @@ -1519,3 +1522,330 @@ int UtcDaliPushButtonSetLabelText(void) END_TEST; } + +int UtcDaliPushButtonSetButtonImageDeprecatedP(void) +{ + ToolkitTestApplication application; + Image setButtonImage = ResourceImage::New( TEST_IMAGE_ONE); + PushButton pushButton = PushButton::New(); + pushButton.SetButtonImage( setButtonImage ); + Image retreivedButtonImage = ImageView::DownCast(pushButton.GetButtonImage()).GetImage(); + DALI_TEST_EQUALS( retreivedButtonImage, setButtonImage , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedImageDeprecatedP(void) +{ + ToolkitTestApplication application; + Image setButtonImage = ResourceImage::New( TEST_IMAGE_ONE); + PushButton pushButton = PushButton::New(); + pushButton.SetSelectedImage( setButtonImage ); + Image retreivedButtonImage = ImageView::DownCast(pushButton.GetSelectedImage()).GetImage(); + DALI_TEST_EQUALS( retreivedButtonImage, setButtonImage , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonGetButtonImageURLDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButtonGetButtonImageURLDeprecatedP Testing mix use of API"); + + ToolkitTestApplication application; + + PushButton pushButton = PushButton::New(); + pushButton.SetProperty( Toolkit::DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, TEST_IMAGE_ONE ); + + ImageView retreivedButtonImageView = ImageView::DownCast(pushButton.GetButtonImage()); + Image retreivedButtonImage = retreivedButtonImageView.GetImage(); + ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage ); + + DALI_TEST_EQUALS( resourceImage.GetUrl(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonGetSelectedImageURLDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButtonGetSelectedImageURLDeprecatedP Testing mix use of API"); + + ToolkitTestApplication application; + + PushButton pushButton = PushButton::New(); + + pushButton.SetProperty( Toolkit::DevelButton::Property::SELECTED_BACKGROUND_VISUAL, TEST_IMAGE_ONE ); + + Image retreivedButtonImage = ImageView::DownCast(pushButton.GetSelectedImage()).GetImage(); + ResourceImage resourceImage = ResourceImage::DownCast( retreivedButtonImage ); + DALI_TEST_EQUALS( resourceImage.GetUrl(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetSelectedImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetSelectedImage( imgViewSet ); + + ImageView imageView = ImageView::DownCast( pushButton.GetSelectedImage()); + + DALI_TEST_CHECK( imageView ); + + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + Property::Map map; + value.Get( map ); + DALI_TEST_CHECK( !map.Empty() ); + DALI_TEST_EQUALS( map[ "filename" ].Get(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetButtonImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetButtonImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetButtonImage( imgViewSet ); + + ImageView imageView = ImageView::DownCast( pushButton.GetButtonImage()); + + DALI_TEST_CHECK( imageView ); + + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + Property::Map map; + value.Get( map ); + DALI_TEST_CHECK( !map.Empty() ); + DALI_TEST_EQUALS( map[ "filename" ].Get(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetBackgroundImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetBackgroundImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetBackgroundImage( imgViewSet ); + + ImageView imageView = ImageView::DownCast( pushButton.GetButtonImage()); + + DALI_TEST_CHECK( imageView ); + + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + Property::Map map; + value.Get( map ); + DALI_TEST_CHECK( !map.Empty() ); + DALI_TEST_EQUALS( map[ "filename" ].Get(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + + +int UtcDaliPushButtonSetSelectedBackgroundImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetSelectedBackgroundImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetSelectedBackgroundImage( imgViewSet ); + + ImageView imageView = ImageView::DownCast( pushButton.GetSelectedImage()); + + DALI_TEST_CHECK( imageView ); + + Property::Value value = imageView.GetProperty( imageView.GetPropertyIndex( "image" ) ); + Property::Map map; + value.Get( map ); + DALI_TEST_CHECK( !map.Empty() ); + DALI_TEST_EQUALS( map[ "filename" ].Get(), TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledBackgroundImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetDisabledBackgroundImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetDisabledBackgroundImage( imgViewSet ); + + Property::Value value = pushButton.GetProperty( Toolkit::DevelButton::Property::DISABLED_UNSELECTED_BACKGROUND_VISUAL ); + Property::Map map; + value.Get( map ); + + Property::Value* urlValue = map.Find( ImageVisual::Property::URL ); + + std::string urlString; + urlValue->Get( urlString ); + DALI_TEST_EQUALS( urlString , TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetDisabledImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetDisabledImage( imgViewSet ); + + Property::Value value = pushButton.GetProperty( Toolkit::DevelButton::Property::DISABLED_UNSELECTED_BACKGROUND_VISUAL ); + + Property::Map map; + value.Get( map ); + + Property::Value* urlValue = map.Find( ImageVisual::Property::URL ); + + std::string urlString; + urlValue->Get( urlString ); + DALI_TEST_EQUALS( urlString , TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledSelectedImageWithActorDeprecatedP(void) +{ + tet_infoline(" UtcDaliPushButton SetDisabledSelectedImage With ImageView (Actor)"); + + ToolkitTestApplication application; + + Image image = ResourceImage::New( TEST_IMAGE_ONE ); + + DALI_TEST_CHECK( image ); + + ImageView imgViewSet = ImageView::New(image); + + DALI_TEST_CHECK(imgViewSet ); + + PushButton pushButton = PushButton::New(); + + DALI_TEST_CHECK( pushButton ); + + pushButton.SetDisabledSelectedImage( imgViewSet ); + + Property::Value value = pushButton.GetProperty( Toolkit::DevelButton::Property::DISABLED_SELECTED_BACKGROUND_VISUAL ); + + Property::Map map; + value.Get( map ); + + Property::Value* urlValue = map.Find( ImageVisual::Property::URL ); + + std::string urlString; + urlValue->Get( urlString ); + DALI_TEST_EQUALS( urlString , TEST_IMAGE_ONE , TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliPushButtonReplaceButtonImageP2(void) +{ + tet_infoline("Set button image then replace with new image and query url"); + + ToolkitTestApplication application; + + ResourceImage setImage = ResourceImage::New( TEST_IMAGE_ONE ); + DALI_TEST_CHECK(setImage); + + Actor imgActorSet = ImageView::New(setImage); + DALI_TEST_CHECK(imgActorSet); + + PushButton pushButton = PushButton::New(); + pushButton.SetProperty( Toolkit::DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, TEST_IMAGE_TWO ); + + + Stage::GetCurrent().Add( pushButton ); + + pushButton.SetButtonImage( imgActorSet ); + application.SendNotification(); + application.Render(); + + tet_infoline("Get button image before it has been able to load"); + + ImageView imageView = ImageView::DownCast(pushButton.GetButtonImage()); + + ResourceImage getImage = ResourceImage::DownCast( imageView.GetImage() ); + + tet_infoline("Check if url matches last assignment even if not loaded yet"); + DALI_TEST_EQUALS( getImage.GetUrl(), setImage.GetUrl() , TEST_LOCATION ); + + END_TEST; +}