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-Button.cpp;h=e9c092d69d64e497b795dad75d4a3786df50ca3c;hp=244f66738c2c30f87500372512b3acf0b3a869c8;hb=9346cf33ef49063185d54fbbfc186864d96c51ca;hpb=e21509125c3737c81c73cec9950ffa346af8beec diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp index 244f667..e9c092d 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Button.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Button.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. @@ -28,8 +28,6 @@ #include #include -#include -#include using namespace Dali; using namespace Toolkit; @@ -47,9 +45,8 @@ void utc_dali_toolkit_button_cleanup(void) namespace { -static const char* TEST_IMAGE_ONE = TEST_RESOURCE_DIR "/gallery-small-1.jpg"; - static bool gIsCalledButtonCallback = false; +static bool gIsCalledChildButtonCallback = false; const int RENDER_FRAME_INTERVAL = 16; @@ -59,6 +56,12 @@ static bool ButtonCallback( Button button ) return false; } +static bool ChildButtonCallback( Button button ) +{ + gIsCalledChildButtonCallback = true; + return false; +} + static std::string GetButtonText( Button button ) { Property::Value value = button.GetProperty( Toolkit::Button::Property::LABEL ); @@ -207,27 +210,29 @@ int UtcDaliButtonDownCastN(void) END_TEST; } -int UtcDaliButtonSetDisabledP(void) +int UtcDaliButtonDisabledPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetDisabled( true ); - DALI_TEST_CHECK( button.IsDisabled() ); + button.SetProperty( button.GetPropertyIndex("disabled"), true ); - button.SetDisabled( false ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("disabled")), true, TEST_LOCATION ); - DALI_TEST_CHECK( !button.IsDisabled() ); + button.SetProperty( button.GetPropertyIndex("disabled"), false ); - button.SetDisabled( true ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("disabled")), false, TEST_LOCATION ); - DALI_TEST_CHECK( button.IsDisabled() ); + button.SetProperty( button.GetPropertyIndex("disabled"), true ); - button.SetDisabled( false ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("disabled")), true, TEST_LOCATION ); + + button.SetProperty( button.GetPropertyIndex("disabled"), false ); + + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("disabled")), false, TEST_LOCATION ); - DALI_TEST_CHECK( !button.IsDisabled() ); END_TEST; } @@ -311,23 +316,23 @@ int UtcDaliButtonIsDisabledP(void) END_TEST; } -int UtcDaliButtonSetAutoRepeatingP(void) +int UtcDaliButtonAutoRepeatingPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetAutoRepeating( true ); + button.SetProperty( button.GetPropertyIndex("autoRepeating"), true ); - DALI_TEST_CHECK( button.IsAutoRepeating() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("autoRepeating")), true, TEST_LOCATION ); - button.SetAutoRepeating( false ); + button.SetProperty( button.GetPropertyIndex("autoRepeating"), false ); - DALI_TEST_CHECK( !button.IsAutoRepeating() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("autoRepeating")), false, TEST_LOCATION ); - button.SetAutoRepeating( true ); + button.SetProperty( button.GetPropertyIndex("autoRepeating"), true ); - DALI_TEST_CHECK( button.IsAutoRepeating() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("autoRepeating")), true, TEST_LOCATION ); button.SetAutoRepeating( false ); @@ -411,68 +416,69 @@ int UtcDaliButtonAutoRepeatingP(void) END_TEST; } -int UtcDaliButtonSetInitialAutoRepeatingDelayP(void) +int UtcDaliButtonInitialAutoRepeatingDelayPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetInitialAutoRepeatingDelay( 0.5f ); + button.SetProperty( button.GetPropertyIndex("initialAutoRepeatingDelay"), 0.5f ); - DALI_TEST_EQUALS( button.GetInitialAutoRepeatingDelay(), 0.5f, TEST_LOCATION ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("initialAutoRepeatingDelay")), 0.5f, TEST_LOCATION ); - button.SetInitialAutoRepeatingDelay( 0.2f ); + button.SetProperty( button.GetPropertyIndex("initialAutoRepeatingDelay"), 0.2f ); + + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("initialAutoRepeatingDelay")), 0.2f, TEST_LOCATION ); - DALI_TEST_EQUALS( button.GetInitialAutoRepeatingDelay(), 0.2f, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetNextAutoRepeatingDelayP(void) +int UtcDaliButtonNextAutoRepeatingDelayPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetNextAutoRepeatingDelay( 0.5f ); + button.SetProperty( button.GetPropertyIndex("nextAutoRepeatingDelay"), 0.5f ); - DALI_TEST_EQUALS( button.GetNextAutoRepeatingDelay(), 0.5f, TEST_LOCATION ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("nextAutoRepeatingDelay")), 0.5f, TEST_LOCATION ); - button.SetProperty( Button::Property::NEXT_AUTO_REPEATING_DELAY, 0.2f ); + button.SetProperty( button.GetPropertyIndex("nextAutoRepeatingDelay"), 0.2f ); - DALI_TEST_EQUALS( button.GetNextAutoRepeatingDelay(), 0.2f, TEST_LOCATION ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("nextAutoRepeatingDelay")), 0.2f, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetTogglableButtonP(void) +int UtcDaliButtonTogglableButtonPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetTogglableButton( true ); + button.SetProperty( button.GetPropertyIndex("togglable"), true ); - DALI_TEST_CHECK( button.IsTogglableButton() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("togglable")), true, TEST_LOCATION ); - button.SetTogglableButton( false ); + button.SetProperty( button.GetPropertyIndex("togglable"), false ); - DALI_TEST_CHECK( !button.IsTogglableButton() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("togglable")), false, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetSelectedP(void) +int UtcDaliButtonSelectedPropertyP(void) { ToolkitTestApplication application; Button button = PushButton::New(); - button.SetTogglableButton( true ); + button.SetProperty( button.GetPropertyIndex("togglable"), true ); - button.SetSelected( true ); + button.SetProperty( button.GetPropertyIndex("selected"), true ); - DALI_TEST_CHECK( button.IsSelected() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("selected")), true, TEST_LOCATION ); - button.SetSelected( false ); + button.SetProperty( button.GetPropertyIndex("selected"), false ); - DALI_TEST_CHECK( !button.IsSelected() ); + DALI_TEST_EQUALS( button.GetProperty( button.GetPropertyIndex("selected")), false, TEST_LOCATION ); END_TEST; } @@ -495,7 +501,7 @@ int UtcDaliButtonSetLabelStringWithPropertyMapP(void) Button button = PushButton::New(); button.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 ) .Add( Toolkit::TextVisual::Property::TEXT, "Button Label") ); @@ -524,7 +530,7 @@ int UtcDaliButtonSetLabelStringWithPropertyMapStringsP(void) tet_infoline(" UtcDaliButtonSetLabelStringWithPropertyMapStringsP Intermediate part of test"); Property::Map propertyMap; - propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ); + propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ); propertyMap.Insert( Toolkit::TextVisual::Property::TEXT, "error if this is the final text" ); propertyMap.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); @@ -553,7 +559,7 @@ int UtcDaliButtonSetLabelWithStringP(void) // Set default point size for text visual as style sheet not available. button.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 ) ); @@ -576,7 +582,7 @@ int UtcDaliButtonSetLabelPropertyP(void) Button button = PushButton::New(); button.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 ) .Add( Toolkit::TextVisual::Property::TEXT, TEST_LABEL1 ) ); @@ -584,7 +590,7 @@ int UtcDaliButtonSetLabelPropertyP(void) DALI_TEST_EQUALS( GetButtonText( button ), TEST_LABEL1, TEST_LOCATION ); Property::Map propertyMap; - propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ); + propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ); propertyMap.Insert( Toolkit::TextVisual::Property::TEXT, TEST_LABEL2 ); propertyMap.Insert( Toolkit::TextVisual::Property::TEXT_COLOR, Color::BLUE ); propertyMap.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); @@ -595,48 +601,6 @@ int UtcDaliButtonSetLabelPropertyP(void) END_TEST; } -int UtcDaliButtonSetUnselectedImageP(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetUnselectedImageP"); - - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); - - application.SendNotification(); - application.Render(); - - pushButton.SetUnselectedImage( "Image.jpg" ); - - application.SendNotification(); - application.Render(); - - DALI_TEST_CHECK( pushButton ); - - END_TEST; -} - -int UtcDaliButtonSetSelectedImageP(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetButtonImage"); - - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); - - application.SendNotification(); - application.Render(); - - pushButton.SetSelectedImage( "Image.jpg" ); - - application.SendNotification(); - application.Render(); - - DALI_TEST_CHECK( pushButton ); - - END_TEST; -} - int UtcDaliButtonPressedSignalP(void) { ToolkitTestApplication application; @@ -843,7 +807,8 @@ int UtcDaliButtonStateChangedSignalP(void) tet_infoline(" UtcDaliButtonStateChangedSignalP"); Button button = PushButton::New(); - button.SetTogglableButton( true ); + + button.SetProperty( Button::Property::TOGGLABLE, true); Stage::GetCurrent().Add( button ); @@ -857,7 +822,7 @@ int UtcDaliButtonStateChangedSignalP(void) button.ConnectSignal( testTracker, "stateChanged", CallbackFunctor(&stateChangedSignal) ); gIsCalledButtonCallback = false; - button.SetSelected( true ); + button.SetProperty( Button::Property::SELECTED, true); DALI_TEST_CHECK( gIsCalledButtonCallback ); DALI_TEST_CHECK( stateChangedSignal ); @@ -865,8 +830,7 @@ int UtcDaliButtonStateChangedSignalP(void) gIsCalledButtonCallback = false; stateChangedSignal = false; - button.SetSelected( false ); - + button.SetProperty( Button::Property::SELECTED, false); DALI_TEST_CHECK( gIsCalledButtonCallback ); DALI_TEST_CHECK( stateChangedSignal ); END_TEST; @@ -880,469 +844,301 @@ int UtcDaliButtonSetProperty(void) PushButton pushButton = PushButton::New(); pushButton.SetProperty(pushButton.GetPropertyIndex("disabled"), false); - DALI_TEST_CHECK( false == pushButton.IsDisabled() ); + + DALI_TEST_EQUALS( pushButton.GetProperty( pushButton.GetPropertyIndex("disabled")), false, TEST_LOCATION ); pushButton.SetProperty(pushButton.GetPropertyIndex("disabled"), true); - DALI_TEST_CHECK( true == pushButton.IsDisabled() ); + DALI_TEST_EQUALS( pushButton.GetProperty( pushButton.GetPropertyIndex("disabled")), true, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSize(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSize"); - - // First an image is set, then SetSize is called. - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); - - pushButton.SetBackgroundImage( "Image.jpg" ); - pushButton.SetSize( 10.f, 10.f ); +// Deprecated API Tests - application.SendNotification(); - application.Render(); - - Vector3 size = pushButton.GetCurrentSize(); - - DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION ); - END_TEST; -} - -int UtcDaliButtonSetSelectedBackgroundImageP(void) +int UtcDaliButtonSetDisabledP(void) { ToolkitTestApplication application; - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); - - try - { - button.SetSelectedBackgroundImage( "TestImage.jpg"); - DALI_TEST_CHECK( true ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } - - END_TEST; -} + Button button = PushButton::New(); -int UtcDaliButtonSetSelectedBackgroundImageN(void) -{ - ToolkitTestApplication application; + button.SetDisabled( true ); - PushButton button; + DALI_TEST_CHECK( button.IsDisabled() ); - try - { - button.SetSelectedBackgroundImage( "TestImage.jpg"); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } + button.SetDisabled( false ); - END_TEST; -} + DALI_TEST_CHECK( !button.IsDisabled() ); -int UtcDaliButtonSetDisabledImageP(void) -{ - ToolkitTestApplication application; + button.SetDisabled( true ); - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); + DALI_TEST_CHECK( button.IsDisabled() ); - try - { - button.SetDisabledImage( "TestImage.jpg"); - DALI_TEST_CHECK( true ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } + button.SetDisabled( false ); + DALI_TEST_CHECK( !button.IsDisabled() ); END_TEST; } -int UtcDaliButtonSetDisabledImageN(void) +int UtcDaliButtonSetAutoRepeatingP(void) { ToolkitTestApplication application; - PushButton button; - - try - { - button.SetDisabledImage( "TestImage.jpg"); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } - - END_TEST; -} + Button button = PushButton::New(); -int UtcDaliButtonSetDisabledSelectedImageP(void) -{ - ToolkitTestApplication application; + button.SetAutoRepeating( true ); - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); + DALI_TEST_CHECK( button.IsAutoRepeating() ); - try - { - button.SetDisabledSelectedImage( "TestImage.jpg"); - DALI_TEST_CHECK( true ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } + button.SetAutoRepeating( false ); - END_TEST; -} + DALI_TEST_CHECK( !button.IsAutoRepeating() ); -int UtcDaliButtonSetDisabledSelectedImageN(void) -{ - ToolkitTestApplication application; + button.SetAutoRepeating( true ); - PushButton button; + DALI_TEST_CHECK( button.IsAutoRepeating() ); - try - { - button.SetDisabledSelectedImage( "TestImage.jpg"); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } + button.SetAutoRepeating( false ); + DALI_TEST_CHECK( !button.IsAutoRepeating() ); END_TEST; } -int UtcDaliButtonSetLabeActorlP(void) +int UtcDaliButtonSetInitialAutoRepeatingDelayP(void) { ToolkitTestApplication application; - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); - - try - { - button.SetLabel( TextLabel::New("Hello") ); - DALI_TEST_CHECK( true ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } - - END_TEST; -} + Button button = PushButton::New(); -int UtcDaliButtonSetLabelN(void) -{ - ToolkitTestApplication application; + button.SetInitialAutoRepeatingDelay( 0.5f ); - PushButton button; + DALI_TEST_EQUALS( button.GetInitialAutoRepeatingDelay(), 0.5f, TEST_LOCATION ); - try - { - button.SetLabel( TextLabel::New("Hello") ); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } + button.SetInitialAutoRepeatingDelay( 0.2f ); + DALI_TEST_EQUALS( button.GetInitialAutoRepeatingDelay(), 0.2f, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetButtonImageP(void) +int UtcDaliButtonSetNextAutoRepeatingDelayP(void) { ToolkitTestApplication application; - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); - - try - { - ResourceImage image1 = ResourceImage::New( TEST_IMAGE_ONE ); - button.SetButtonImage( image1 ); - - Property::Value value = button.GetProperty(Button::Property::UNSELECTED_STATE_IMAGE ); - DALI_TEST_CHECK( value.Get() == TEST_IMAGE_ONE ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } - - std::string imageUrl; + Button button = PushButton::New(); - Dali::Actor actor = button.GetButtonImage(); + button.SetNextAutoRepeatingDelay( 0.5f ); - Toolkit::ImageView imageView = Toolkit::ImageView ::DownCast( actor ); + DALI_TEST_EQUALS( button.GetNextAutoRepeatingDelay(), 0.5f, TEST_LOCATION ); - tet_infoline(" UtcDaliButtonSetButtonImageP Ensure an ImageView is returned\n"); - DALI_TEST_CHECK ( imageView ) + button.SetProperty( Button::Property::NEXT_AUTO_REPEATING_DELAY, 0.2f ); + DALI_TEST_EQUALS( button.GetNextAutoRepeatingDelay(), 0.2f, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetButtonImageN(void) +int UtcDaliButtonSetTogglableButtonP(void) { ToolkitTestApplication application; - PushButton button; + Button button = PushButton::New(); - try - { - ResourceImage image1 = ResourceImage::New( TEST_IMAGE_ONE ); - button.SetButtonImage( image1 ); + button.SetTogglableButton( true ); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } + DALI_TEST_CHECK( button.IsTogglableButton() ); + button.SetTogglableButton( false ); + + DALI_TEST_CHECK( !button.IsTogglableButton() ); END_TEST; } -int UtcDaliButtonSetSelectedImageWithImageP(void) +int UtcDaliButtonSetSelectedP(void) { ToolkitTestApplication application; - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); - ResourceImage image1 = ResourceImage::New( TEST_IMAGE_ONE ); - - try - { - button.SetSelectedImage( image1 ); - Property::Value value = button.GetProperty( Button::Property::SELECTED_STATE_IMAGE ); - DALI_TEST_CHECK( value.Get() == TEST_IMAGE_ONE ); - } - catch(...) - { - DALI_TEST_CHECK( false ); - } - - std::string imageUrl; + Button button = PushButton::New(); + button.SetTogglableButton( true ); - Dali::Actor actor = button.GetSelectedImage(); + button.SetSelected( true ); - Toolkit::ImageView imageView = Toolkit::ImageView::DownCast( actor ); + DALI_TEST_CHECK( button.IsSelected() ); - tet_infoline(" UtcDaliButtonSetSelectedImageWithImageP Ensure an ImageView is returned\n"); + button.SetSelected( false ); + DALI_TEST_CHECK( !button.IsSelected() ); END_TEST; } -int UtcDaliButtonSetSelectedImageWithImageN(void) +int UtcDaliButtonEventConsumption(void) { - ToolkitTestApplication application; - - PushButton button; - - try - { - button.SetSelectedImage( CreateBufferImage( 10, 10, Color::WHITE ) ); - DALI_TEST_CHECK( false ); - } - catch(...) - { - DALI_TEST_CHECK( true ); - } + /** + * [ Parent ] + * [ Child ] + * + * Child parented and positioned under parent. + * Touch up and down performed on child. + * Should only trigger signal on child. + */ - END_TEST; -} - -int UtcDaliButtonSetSelectedColorP(void) -{ ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetSelectedColorP"); - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); + Button parentButton = PushButton::New(); + parentButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + parentButton.SetParentOrigin( ParentOrigin::TOP_LEFT ); + parentButton.SetSize( 20, 20 ); + Stage::GetCurrent().Add( parentButton ); - application.SendNotification(); - application.Render(); - - const Vector4 SET_COLOR = Color::BLUE; - - pushButton.SetSize( Vector2( 20.0f, 20.0f ) ); - pushButton.SetProperty( Button::Property::SELECTED_COLOR, SET_COLOR ); + Button childButton = PushButton::New(); + childButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + childButton.SetParentOrigin( ParentOrigin::BOTTOM_LEFT ); + childButton.SetSize( 20, 20 ); + parentButton.Add( childButton ); - application.SendNotification(); - application.Render(); - - Vector4 color = pushButton.GetProperty( Button::Property::SELECTED_COLOR ); - - DALI_TEST_EQUALS( color, SET_COLOR, TEST_LOCATION ); - - END_TEST; -} - -int UtcDaliButtonSetUnSelectedColorP(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetUnSelectedColorP"); + // Reset signal flags + gIsCalledChildButtonCallback = false; + gIsCalledButtonCallback = false; - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); + parentButton.ClickedSignal().Connect( &ButtonCallback ); + childButton.ClickedSignal().Connect( &ChildButtonCallback ); + // Peform a button click at coordinates (10,30) which is the child. + Dali::Integration::TouchEvent event; + event = Dali::Integration::TouchEvent(); + Dali::Integration::Point point; + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 10, 30 ) ); + event.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); + application.ProcessEvent( event ); - const Vector4 SET_COLOR = Color::BLUE; - - pushButton.SetSize( Vector2( 20.0f, 20.0f ) ); - pushButton.SetProperty( Button::Property::UNSELECTED_COLOR, SET_COLOR ); - + event = Dali::Integration::TouchEvent(); + point.SetState( PointState::UP ); + point.SetScreenPosition( Vector2( 10, 30 ) ); + event.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); + application.ProcessEvent( event ); - Vector4 color = pushButton.GetProperty( Button::Property::UNSELECTED_COLOR ); - - DALI_TEST_EQUALS( color, SET_COLOR, TEST_LOCATION ); + DALI_TEST_EQUALS( gIsCalledChildButtonCallback, true, TEST_LOCATION ); + DALI_TEST_EQUALS( ! gIsCalledButtonCallback, true, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonResetSelectedColorP(void) +int UtcDaliButtonRelease(void) { - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetSelectedColorP"); - - PushButton pushButton = PushButton::New(); - Stage::GetCurrent().Add( pushButton ); + /** + * Down event followed by interrupted event should signal Release. + */ - application.SendNotification(); - application.Render(); + ToolkitTestApplication application; - const Vector4 FIRST_COLOR = Color::BLUE; - const Vector4 SECOND_COLOR = Color::BLUE; + Button parentButton = PushButton::New(); + parentButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + parentButton.SetParentOrigin( ParentOrigin::TOP_LEFT ); + parentButton.SetSize( 20, 20 ); + Stage::GetCurrent().Add( parentButton ); + parentButton.ReleasedSignal().Connect( &ButtonCallback ); - pushButton.SetSize( Vector2( 20.0f, 20.0f ) ); - pushButton.SetProperty( Button::Property::SELECTED_COLOR, FIRST_COLOR ); + // Reset signal flags + gIsCalledButtonCallback = false; + // Peform a button down and then button interrupted at coordinates (10,10). + Dali::Integration::TouchEvent event; + event = Dali::Integration::TouchEvent(); + Dali::Integration::Point point; + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 10, 10 ) ); + event.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); + application.ProcessEvent( event ); - Vector4 color = pushButton.GetProperty( Button::Property::SELECTED_COLOR ); - - DALI_TEST_EQUALS( color, FIRST_COLOR, TEST_LOCATION ); - - pushButton.SetProperty( Button::Property::SELECTED_COLOR, SECOND_COLOR ); - + event = Dali::Integration::TouchEvent(); + point.SetState( PointState::INTERRUPTED ); + event.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); + application.ProcessEvent( event ); - color = pushButton.GetProperty( Button::Property::SELECTED_COLOR ); - - DALI_TEST_EQUALS( color, SECOND_COLOR, TEST_LOCATION ); + DALI_TEST_EQUALS( gIsCalledButtonCallback, true, TEST_LOCATION ); END_TEST; } -int UtcDaliButtonSetImagesWithDeprecatedProperties(void) +int UtcDaliButtonMultiTouch(void) { - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetImagesWithDeprecatedProperties"); + /** + * Down event followed by a multi touch point event should signal Release. + */ - PushButton pushButton = PushButton::New(); + ToolkitTestApplication application; - Stage::GetCurrent().Add( pushButton ); + Button button = PushButton::New(); + button.SetProperty( Button::Property::TOGGLABLE, true); - Property::Map propertyMap; - propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); - propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE); + button.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + button.SetParentOrigin( ParentOrigin::TOP_LEFT ); + button.SetSize( 20, 20 ); + Stage::GetCurrent().Add( button ); + button.ReleasedSignal().Connect( &ButtonCallback ); - DALI_TEST_EQUALS( pushButton.GetRendererCount(), 0, TEST_LOCATION ); + // Reset signal flags + gIsCalledButtonCallback = false; - pushButton.SetProperty( Toolkit::Button::Property::UNSELECTED_STATE_IMAGE, propertyMap ); - application.SendNotification(); - application.Render(); - DALI_TEST_EQUALS( pushButton.GetRendererCount(), 1, TEST_LOCATION ); + // Peform a button down and then button interrupted at coordinates (10,10). + Dali::Integration::TouchEvent downEvent; + downEvent = Dali::Integration::TouchEvent(); + Dali::Integration::Point point; - tet_infoline(" Set state to selected and provide SELECTED visual"); - pushButton.SetProperty( Toolkit::Button::Property::SELECTED_STATE_IMAGE, propertyMap ); - pushButton.SetProperty( Toolkit::Button::Property::SELECTED, true ); + // Add Press button + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 15, 15 ) ); + downEvent.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( pushButton.GetRendererCount(), 1, TEST_LOCATION ); + application.ProcessEvent( downEvent ); - tet_infoline(" Set state to selected, disabled and provide DISABLED_STATE_IMAGE visual"); - pushButton.SetProperty( Toolkit::Button::Property::SELECTED, false ); - pushButton.SetProperty( Toolkit::Button::Property::DISABLED, true ); - pushButton.SetProperty( Toolkit::Button::Property::DISABLED_STATE_IMAGE, propertyMap ); + // Release button + Dali::Integration::TouchEvent upEvent; + upEvent = Dali::Integration::TouchEvent(); + point.SetState( PointState::UP ); + point.SetScreenPosition( Vector2( 15, 15 ) ); + upEvent.AddPoint( point ); + // flush the queue and render once application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( pushButton.GetRendererCount(), 1, TEST_LOCATION ); + application.ProcessEvent( upEvent ); -END_TEST; -} - -int UtcDaliButtonSetGetDepreciatedPropertiesWithURL(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetGetDepreciatedPropertiesWithURL"); - - PushButton button = PushButton::New(); - Stage::GetCurrent().Add( button ); - - tet_infoline(" Set state to selected, disabled and provide DISABLED_STATE_IMAGE visual"); - button.SetProperty( Toolkit::Button::Property::DISABLED, true ); - button.SetProperty( Toolkit::Button::Property::DISABLED_STATE_IMAGE, TEST_IMAGE_ONE ); - - Property::Value value = button.GetProperty(Button::Property::DISABLED_STATE_IMAGE ); - DALI_TEST_EQUALS( value.Get(), TEST_IMAGE_ONE, TEST_LOCATION ); - -END_TEST; -} - -int UtcDaliButtonSetLabelTextDeprecatedPropertyP(void) -{ - ToolkitTestApplication application; - tet_infoline(" UtcDaliButtonSetLabelTextDeprecatedPropertyP"); - - const std::string TEST_LABEL1 = "test label one"; - const std::string TEST_LABEL2 = "test label two"; - - Button button = PushButton::New(); - - button.SetProperty( Toolkit::Button::Property::LABEL, - Property::Map().Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) - .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ) - ); - - button.SetProperty( Button::Property::LABEL_TEXT, TEST_LABEL1 ); + tet_infoline("Button should now be selected\n"); + bool isSelected = button.GetProperty( Button::Property::SELECTED ) ; + DALI_TEST_EQUALS( isSelected, true, TEST_LOCATION ); - std::string labelText = button.GetProperty( Button::Property::LABEL_TEXT ); + // Add first point + Dali::Integration::TouchEvent multiEvent; + multiEvent = Dali::Integration::TouchEvent(); + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 10, 10 ) ); + multiEvent.AddPoint( point ); - DALI_TEST_EQUALS( labelText, TEST_LABEL1, TEST_LOCATION ); + // Add second point + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 15, 15 ) ); + multiEvent.AddPoint( point ); - Property::Map propertyMap; - propertyMap.Insert( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ); - propertyMap.Insert( Toolkit::TextVisual::Property::TEXT, TEST_LABEL2 ); - propertyMap.Insert( Toolkit::TextVisual::Property::TEXT_COLOR, Color::BLUE ); - propertyMap.Insert( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); - button.SetProperty( Button::Property::LABEL, propertyMap ); + tet_infoline("Before a multi touch event\n"); - labelText = button.GetProperty( Button::Property::LABEL_TEXT ); + // flush the queue and render once + application.SendNotification(); + application.Render(); + application.ProcessEvent( multiEvent ); - DALI_TEST_EQUALS( labelText, TEST_LABEL2, TEST_LOCATION ); + DALI_TEST_EQUALS( gIsCalledButtonCallback, true, TEST_LOCATION ); END_TEST; -} +} \ No newline at end of file