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-PushButton.cpp;h=7ea83bcba24f5ebf2369d915b17d5bdeaccdc17c;hp=7ff4e3a347bdf252ff4ebdc1bcffb616d95c314b;hb=b977f2ca75522fc2eb536eef07f1180ec4377589;hpb=6c664b09beef66ee4e223cf30fb17ecdd6889bf7 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp index 7ff4e3a..7ea83bc 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp @@ -30,6 +30,8 @@ #include #include +#include + using namespace Dali; using namespace Toolkit; @@ -46,6 +48,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 ); @@ -54,7 +57,7 @@ static const Size BUTTON_SIZE_TO_GET_INSIDE_TOUCH_EVENTS = Size( 100, 100 ); static bool gPushButtonSelectedState = false; bool PushButtonSelected( Button button ) { - gPushButtonSelectedState = button.IsSelected(); + gPushButtonSelectedState = button.GetProperty(button.GetPropertyIndex("selected") ); return true; } @@ -146,6 +149,23 @@ void SetupButtonForTestTouchEvents( ToolkitTestApplication& application, Button& } } +static std::string GetButtonText( Button button ) +{ + Property::Value value = button.GetProperty( Toolkit::Button::Property::LABEL ); + + Property::Map *labelProperty = value.GetMap(); + + std::string textLabel; + + if ( labelProperty ) + { + Property::Value* value = labelProperty->Find( Toolkit::TextVisual::Property::TEXT ); + value->Get( textLabel ); + } + + return textLabel; +} + } //namespace int UtcDaliPushButtonConstructorP(void) @@ -223,25 +243,23 @@ int UtcDaliPushButtonDownCastN(void) END_TEST; } -int UtcDaliPushButtonSetGetAutoRepeating(void) +int UtcDaliPushButtonAutoRepeatingProperty(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetAutoRepeating"); PushButton pushButton = PushButton::New(); - pushButton.SetAutoRepeating( true ); - - DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); - - pushButton.SetAutoRepeating( false ); + pushButton.SetProperty( pushButton.GetPropertyIndex("autoRepeating"), true ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("autoRepeating")), true, TEST_LOCATION ); - DALI_TEST_CHECK( !pushButton.IsAutoRepeating() ); + pushButton.SetProperty( pushButton.GetPropertyIndex("autoRepeating"), false ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("autoRepeating")), false, TEST_LOCATION ); - pushButton.SetAutoRepeating( true ); + pushButton.SetProperty( pushButton.GetPropertyIndex("autoRepeating"), true ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("autoRepeating")), true, TEST_LOCATION ); - DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); - END_TEST; + END_TEST; } int UtcDaliPushButtonSetAutoRepeating(void) @@ -267,122 +285,120 @@ int UtcDaliPushButtonSetAutoRepeating(void) END_TEST; } -int UtcDaliPushButtonSetGetTogglableButton(void) +int UtcDaliPushButtonTogglableProperty(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetTogglableButton"); PushButton pushButton = PushButton::New(); - pushButton.SetTogglableButton( true ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), true ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("togglable")), true, TEST_LOCATION ); - DALI_TEST_CHECK( pushButton.IsTogglableButton() ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), false ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("togglable")), false, TEST_LOCATION ); - pushButton.SetTogglableButton( false ); - - DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), true ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("togglable")), true, TEST_LOCATION ); - pushButton.SetTogglableButton( true ); - - DALI_TEST_CHECK( pushButton.IsTogglableButton() ); END_TEST; } -int UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton(void) +int UtcDaliPushButtonAutoRepeatingPropertyAndTogglableButton(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton"); PushButton pushButton = PushButton::New(); - pushButton.SetAutoRepeating( true ); - pushButton.SetTogglableButton( true ); + pushButton.SetProperty( Button::Property::AUTO_REPEATING, true ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), true ); - DALI_TEST_CHECK( pushButton.IsTogglableButton() ); - DALI_TEST_CHECK( !pushButton.IsAutoRepeating() ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("togglable")), true, TEST_LOCATION ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("autoRepeating")), false, TEST_LOCATION ); - pushButton.SetTogglableButton( true ); - pushButton.SetAutoRepeating( true ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), true ); + pushButton.SetProperty( Button::Property::AUTO_REPEATING, true ); - DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); - DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("autoRepeating")), true, TEST_LOCATION ); + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("togglable")), false, TEST_LOCATION ); END_TEST; } -int UtcDaliPushButtonSetGetSelected01(void) +int UtcDaliPushButtonSelectedProperty01(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetSelected01"); PushButton pushButton = PushButton::New(); - pushButton.SetTogglableButton( true ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), true ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); gPushButtonSelectedState = false; - pushButton.SetSelected( true ); + pushButton.SetProperty( Button::Property::SELECTED, true ); - DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), true , TEST_LOCATION ); DALI_TEST_CHECK( gPushButtonSelectedState ); - pushButton.SetSelected( false ); + pushButton.SetProperty( Button::Property::SELECTED, false ); - DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), false , TEST_LOCATION ); DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetSelected( true ); + pushButton.SetProperty( Button::Property::SELECTED, true ); - DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), true , TEST_LOCATION ); DALI_TEST_CHECK( gPushButtonSelectedState ); END_TEST; } -int UtcDaliPushButtonSetGetSelected02(void) +int UtcDaliPushButtonSelectedProperty02(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetSelected02"); PushButton pushButton = PushButton::New(); - pushButton.SetTogglableButton( false ); + pushButton.SetProperty( pushButton.GetPropertyIndex("togglable"), false ); pushButton.StateChangedSignal().Connect( &PushButtonSelected ); gPushButtonSelectedState = false; - pushButton.SetSelected( true ); + pushButton.SetProperty( Button::Property::SELECTED, true ); - DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), false , TEST_LOCATION ); DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetSelected( false ); + pushButton.SetProperty( Button::Property::SELECTED, false ); - DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), false , TEST_LOCATION ); DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetSelected( true ); + pushButton.SetProperty( Button::Property::SELECTED, true ); - DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_EQUALS( pushButton.GetProperty( Button::Property::SELECTED ), false , TEST_LOCATION ); DALI_TEST_CHECK( !gPushButtonSelectedState ); END_TEST; } -int UtcDaliPushButtonSetGetAutorepeatingDelayValues01(void) +int UtcDaliPushButtonAutorepeatingDelayPropertyValues01(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues01"); PushButton pushButton = PushButton::New(); - pushButton.SetAutoRepeating( true ); + pushButton.SetProperty( Button::Property::AUTO_REPEATING, true ); - pushButton.SetInitialAutoRepeatingDelay( 1.f ); - DALI_TEST_EQUALS( pushButton.GetInitialAutoRepeatingDelay(), 1.f, TEST_LOCATION ); + pushButton.SetProperty( Button::Property::INITIAL_AUTO_REPEATING_DELAY, 1.f ); + + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("initialAutoRepeatingDelay") ), 1.f, TEST_LOCATION ); - pushButton.SetNextAutoRepeatingDelay( 1.f ); - DALI_TEST_EQUALS( pushButton.GetNextAutoRepeatingDelay(), 1.f, TEST_LOCATION ); END_TEST; } -int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void) +int UtcDaliPushButtonAutorepeatingDelayPropertyValues02(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues02"); @@ -392,11 +408,11 @@ int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void) bool assert1( false ); bool assert2( false ); - pushButton.SetAutoRepeating( true ); + pushButton.SetProperty( Button::Property::AUTO_REPEATING, true ); try { - pushButton.SetInitialAutoRepeatingDelay( -1.f ); + pushButton.SetProperty( Button::Property::INITIAL_AUTO_REPEATING_DELAY, -1.f ); } catch( Dali::DaliException& e ) { @@ -407,7 +423,7 @@ int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void) try { - pushButton.SetNextAutoRepeatingDelay( -1.f ); + pushButton.SetProperty( Button::Property::NEXT_AUTO_REPEATING_DELAY, -1.f ); } catch( Dali::DaliException& e ) { @@ -420,7 +436,7 @@ int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void) END_TEST; } -int UtcDaliPushButtonSetLabelText(void) +int UtcDaliPushButtonLabelProperty(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonSetLabelText"); @@ -429,17 +445,18 @@ int UtcDaliPushButtonSetLabelText(void) PushButton pushButton = PushButton::New(); - pushButton.SetProperty( Toolkit::Button::Property::LABEL, - Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) - .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) - ); - application.SendNotification(); application.Render(); - pushButton.SetLabelText( STR ); + pushButton.SetProperty( Toolkit::Button::Property::LABEL, + Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) + ); - DALI_TEST_EQUALS( pushButton.GetLabelText(), STR, TEST_LOCATION ); + + pushButton.SetProperty( Toolkit::Button::Property::LABEL, STR ); + + DALI_TEST_EQUALS( GetButtonText( pushButton ), STR, TEST_LOCATION ); END_TEST; } @@ -595,7 +612,7 @@ int UtcDaliPushButtonSelected(void) DALI_TEST_CHECK( !gPushButtonSelectedState ); // Set togglable property. - pushButton.SetTogglableButton( true ); + pushButton.SetProperty( Button::Property::TOGGLABLE, true ); // Test2. Touch point down and up inside the button twice. gPushButtonSelectedState = false; @@ -652,7 +669,8 @@ int UtcDaliPushButtonSelected(void) // Test5. Touch point down outside and up inside the button. // Start in unselected state pushButton.SetProperty( Button::Property::SELECTED, false ); - DALI_TEST_CHECK( !pushButton.IsSelected()); + + DALI_TEST_EQUALS( pushButton.GetProperty(pushButton.GetPropertyIndex("selected") ),false , TEST_LOCATION ); gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); @@ -726,8 +744,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 ); @@ -749,7 +770,7 @@ int UtcDaliPushButtonPaddingLayout(void) DALI_TEST_EQUALS( size, Vector2::ZERO, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); // Check label only padding - pushButton.SetLabelText( "Label" ); + pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Label" ); application.SendNotification(); application.Render(); @@ -785,8 +806,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 ); @@ -809,11 +828,12 @@ 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. - pushButton.SetLabelText( "Label" ); + pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Label" ); + application.SendNotification(); application.Render(); @@ -831,7 +851,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; } @@ -869,7 +890,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(); @@ -881,7 +905,7 @@ int UtcDaliPushButtonAlignmentLayout(void) Stage::GetCurrent().Add( pushButton ); // Add a label and get size of control - pushButton.SetLabelText( "Label" ); + pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Label" ); application.SendNotification(); application.Render(); @@ -909,9 +933,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 ); @@ -1303,3 +1324,530 @@ int UtcDaliPushButtonToggleSignalP(void) END_TEST; } + +// Deprecated API Tests + +int UtcDaliPushButtonSetGetAutoRepeating(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetAutoRepeating"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetAutoRepeating( true ); + + DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); + + pushButton.SetAutoRepeating( false ); + + DALI_TEST_CHECK( !pushButton.IsAutoRepeating() ); + + pushButton.SetAutoRepeating( true ); + + DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); + END_TEST; +} + +int UtcDaliPushButtonSetGetTogglableButton(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetTogglableButton"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetTogglableButton( true ); + + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); + + pushButton.SetTogglableButton( false ); + + DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); + + pushButton.SetTogglableButton( true ); + + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); + END_TEST; +} + +int UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetAutoRepeating( true ); + pushButton.SetTogglableButton( true ); + + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); + DALI_TEST_CHECK( !pushButton.IsAutoRepeating() ); + + pushButton.SetTogglableButton( true ); + pushButton.SetAutoRepeating( true ); + + DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); + DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); + END_TEST; +} + +int UtcDaliPushButtonSetGetSelected01(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetSelected01"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetTogglableButton( true ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); + + gPushButtonSelectedState = false; + pushButton.SetSelected( true ); + + DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_CHECK( gPushButtonSelectedState ); + + pushButton.SetSelected( false ); + + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); + + pushButton.SetSelected( true ); + + DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_CHECK( gPushButtonSelectedState ); + END_TEST; +} + +int UtcDaliPushButtonSetGetSelected02(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetSelected02"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetTogglableButton( false ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); + + gPushButtonSelectedState = false; + pushButton.SetSelected( true ); + + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); + + pushButton.SetSelected( false ); + + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); + + pushButton.SetSelected( true ); + + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); + END_TEST; +} + +int UtcDaliPushButtonSetGetAutorepeatingDelayValues01(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues01"); + + PushButton pushButton = PushButton::New(); + + pushButton.SetAutoRepeating( true ); + + pushButton.SetInitialAutoRepeatingDelay( 1.f ); + DALI_TEST_EQUALS( pushButton.GetInitialAutoRepeatingDelay(), 1.f, TEST_LOCATION ); + + pushButton.SetNextAutoRepeatingDelay( 1.f ); + DALI_TEST_EQUALS( pushButton.GetNextAutoRepeatingDelay(), 1.f, TEST_LOCATION ); + END_TEST; +} + +int UtcDaliPushButtonSetGetAutorepeatingDelayValues02(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetGetAutorepeatingDelayValues02"); + + PushButton pushButton = PushButton::New(); + + bool assert1( false ); + bool assert2( false ); + + pushButton.SetAutoRepeating( true ); + + try + { + pushButton.SetInitialAutoRepeatingDelay( -1.f ); + } + catch( Dali::DaliException& e ) + { + DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_EQUALS(e.condition, "initialAutoRepeatingDelay > 0.f", TEST_LOCATION); + assert1 = true; + } + + try + { + pushButton.SetNextAutoRepeatingDelay( -1.f ); + } + catch( Dali::DaliException& e ) + { + DALI_TEST_PRINT_ASSERT( e ); + DALI_TEST_EQUALS(e.condition, "nextAutoRepeatingDelay > 0.f", TEST_LOCATION); + assert2 = true; + } + + DALI_TEST_CHECK( assert1 && assert2 ); + END_TEST; +} + +int UtcDaliPushButtonSetLabelText(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliPushButtonSetLabelText"); + + const std::string STR( "Hola!" ); + + PushButton pushButton = PushButton::New(); + + pushButton.SetProperty( Toolkit::Button::Property::LABEL, + Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) + ); + + application.SendNotification(); + application.Render(); + + pushButton.SetLabelText( STR ); + + DALI_TEST_EQUALS( pushButton.GetLabelText(), STR, TEST_LOCATION ); + + 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; +}