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-CheckBoxButton.cpp;h=799a069cc207f56b3c68921634fb50fdf1ae903c;hp=f60ab87baf511eca8b6d31dc3d199c81426eab3a;hb=refs%2Fchanges%2F77%2F239777%2F2;hpb=863244a09761c6e22a224299b6155a285e21d6ec diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp index f60ab87..799a069 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -19,9 +19,8 @@ #include #include #include - -#include -#include +#include +#include using namespace Dali; @@ -33,10 +32,30 @@ namespace static bool gCheckBoxButtonState = false; bool CheckBoxButtonClicked( Button button ) { - gCheckBoxButtonState = button.IsSelected(); + gCheckBoxButtonState = button.GetProperty(button.GetPropertyIndex("selected")) ; return true; } +static const char* TEST_IMAGE_ONE = TEST_RESOURCE_DIR "/gallery-small-1.jpg"; +const Vector2 TEST_IMAGE_SIZE = Vector2( 66.0f, 66.0f ); + +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 void checkbox_button_startup(void) @@ -51,7 +70,7 @@ void checkbox_button_cleanup(void) int UtcDaliCheckBoxButtonConstructorP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox; @@ -61,7 +80,7 @@ int UtcDaliCheckBoxButtonConstructorP(void) int UtcDaliCheckBoxButtonCopyConstructorP(void) { - TestApplication application; + ToolkitTestApplication application; // Initialize an object, ref count == 1 CheckBoxButton checkBox = CheckBoxButton::New(); @@ -71,9 +90,28 @@ int UtcDaliCheckBoxButtonCopyConstructorP(void) END_TEST; } +int UtcDaliCheckBoxButtonMoveConstructor(void) +{ + ToolkitTestApplication application; + + CheckBoxButton button = CheckBoxButton::New(); + DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION ); + DALI_TEST_EQUALS( button.GetProperty( Button::Property::TOGGLABLE ), true , TEST_LOCATION ); + button.SetProperty( Button::Property::TOGGLABLE, false ); + DALI_TEST_EQUALS( button.GetProperty( Button::Property::TOGGLABLE ), false , TEST_LOCATION ); + + CheckBoxButton moved = std::move( button ); + DALI_TEST_CHECK( moved ); + DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION ); + DALI_TEST_EQUALS( moved.GetProperty( Button::Property::TOGGLABLE ), false , TEST_LOCATION ); + DALI_TEST_CHECK( !button ); + + END_TEST; +} + int UtcDaliCheckBoxButtonAssignmentOperatorP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox = CheckBoxButton::New(); @@ -84,9 +122,29 @@ int UtcDaliCheckBoxButtonAssignmentOperatorP(void) END_TEST; } +int UtcDaliCheckBoxButtonMoveAssignment(void) +{ + ToolkitTestApplication application; + + CheckBoxButton button = CheckBoxButton::New(); + DALI_TEST_EQUALS( 1, button.GetBaseObject().ReferenceCount(), TEST_LOCATION ); + DALI_TEST_EQUALS( button.GetProperty( Button::Property::TOGGLABLE ), true , TEST_LOCATION ); + button.SetProperty( Button::Property::TOGGLABLE, false ); + DALI_TEST_EQUALS( button.GetProperty( Button::Property::TOGGLABLE ), false , TEST_LOCATION ); + + CheckBoxButton moved; + moved = std::move( button ); + DALI_TEST_CHECK( moved ); + DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION ); + DALI_TEST_EQUALS( moved.GetProperty( Button::Property::TOGGLABLE ), false , TEST_LOCATION ); + DALI_TEST_CHECK( !button ); + + END_TEST; +} + int UtcDaliCheckBoxButtonNewP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox = CheckBoxButton::New(); @@ -96,7 +154,7 @@ int UtcDaliCheckBoxButtonNewP(void) int UtcDaliCheckBoxButtonDownCastP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox = CheckBoxButton::New(); @@ -112,7 +170,7 @@ int UtcDaliCheckBoxButtonDownCastP(void) int UtcDaliCheckBoxButtonDownCastN(void) { - TestApplication application; + ToolkitTestApplication application; BaseHandle unInitializedObject; @@ -124,7 +182,7 @@ int UtcDaliCheckBoxButtonDownCastN(void) END_TEST; } -int UtcDaliCheckBoxButtonSetGetSelected(void) +int UtcDaliCheckBoxButtonSelectedPropertyP(void) { ToolkitTestApplication application; tet_infoline(" UtcDaliCheckBoxButtonSetGetSelected"); @@ -135,65 +193,65 @@ int UtcDaliCheckBoxButtonSetGetSelected(void) // global var used to check if CheckBoxButtonClicked is called; gCheckBoxButtonState = false; - checkBoxButton.SetSelected( true ); + checkBoxButton.SetProperty( checkBoxButton.GetPropertyIndex("selected"), true ); - DALI_TEST_CHECK( checkBoxButton.IsSelected() ); + DALI_TEST_EQUALS( checkBoxButton.GetProperty(checkBoxButton.GetPropertyIndex("selected")), true, TEST_LOCATION ); DALI_TEST_CHECK( gCheckBoxButtonState ); - checkBoxButton.SetSelected( false ); + checkBoxButton.SetProperty( checkBoxButton.GetPropertyIndex("selected"), false ); - DALI_TEST_CHECK( !checkBoxButton.IsSelected() ); + DALI_TEST_EQUALS( checkBoxButton.GetProperty(checkBoxButton.GetPropertyIndex("selected")), false, TEST_LOCATION ); DALI_TEST_CHECK( !gCheckBoxButtonState ); - checkBoxButton.SetSelected( true ); + checkBoxButton.SetProperty( checkBoxButton.GetPropertyIndex("selected"), true ); - DALI_TEST_CHECK( checkBoxButton.IsSelected() ); + DALI_TEST_EQUALS( checkBoxButton.GetProperty(checkBoxButton.GetPropertyIndex("selected")), true, TEST_LOCATION ); DALI_TEST_CHECK( gCheckBoxButtonState ); END_TEST; } int UtcDaliCheckBoxSetLabelP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox = CheckBoxButton::New(); Property::Map propertyMap; - propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap ); - DALI_TEST_EQUALS( checkBox.GetLabelText(), "activate", TEST_LOCATION ); // Change to use GerProperty once that code is implemented + DALI_TEST_EQUALS( GetButtonText( checkBox ) , "activate", TEST_LOCATION ); END_TEST; } -int UtcDaliCheckBoxSetLabelDisabledP(void) +int UtcDaliCheckBoxSetDisabledPropertyP(void) { - TestApplication application; + ToolkitTestApplication application; CheckBoxButton checkBox = CheckBoxButton::New(); - Stage::GetCurrent().Add( checkBox ); + application.GetScene().Add( checkBox ); - checkBox.SetSize( Vector2( 20.0f, 20.0f ) ); - checkBox.SetDisabledBackgroundImage( "Image.jpg" ); + checkBox.SetProperty( Actor::Property::SIZE, Vector2( 20.0f, 20.0f ) ); + checkBox.SetProperty(checkBox.GetPropertyIndex("disabledUnselectedBackgroundVisual"), "Image.jpg" ); application.SendNotification(); application.Render(); Property::Map propertyMap; - propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), true); checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap ); - DALI_TEST_CHECK( checkBox.GetProperty(checkBox.GetPropertyIndex("disabled")) ); - DALI_TEST_EQUALS( checkBox.GetLabelText(), "activate", TEST_LOCATION ); // Change to use GetProperty once that code is implemented + DALI_TEST_EQUALS( checkBox.GetProperty(checkBox.GetPropertyIndex("disabled")), true, TEST_LOCATION ); + DALI_TEST_EQUALS( GetButtonText( checkBox ) , "activate", TEST_LOCATION ); END_TEST; } @@ -213,3 +271,158 @@ int UtcDaliCheckBoxSettingDisabled(void) END_TEST; } + +int UtcDaliCheckBoxSetLabelPadding(void) +{ + tet_infoline("UtcDaliCheckBoxSetLabelPadding\n"); + + ToolkitTestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + + Property::Map propertyMap; + + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + checkBox.SetProperty( Toolkit::Button::Property::LABEL, propertyMap ); + + application.SendNotification(); + application.Render(); + + Vector3 orginalSize = checkBox.GetNaturalSize(); + + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL_PADDING, Vector4( 10.0f, 10.0f, 10.0f, 10.0f ) ); + + application.SendNotification(); + application.Render(); + + Vector3 paddingAddedSize = checkBox.GetNaturalSize(); + + DALI_TEST_EQUALS( checkBox.GetProperty( Toolkit::DevelButton::Property::LABEL_PADDING ), Vector4( 10.0f, 10.0f, 10.0f, 10.0f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + tet_infoline("Comparing original size of button with just text and button size with text and padding\n"); + + DALI_TEST_EQUALS( orginalSize.width +10.0f + 10.0f , paddingAddedSize.width, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + DALI_TEST_EQUALS( orginalSize.height +10.0f + 10.0f , paddingAddedSize.height, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliCheckBoxSetForegroundPadding(void) +{ + tet_infoline("UtcDaliCheckBoxSetForegroundPadding\n"); + + ToolkitTestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + + Property::Map propertyMap; + + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + checkBox.SetProperty( Toolkit::Button::Property::LABEL, propertyMap ); + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL_PADDING, Vector4( 5.0f, 5.0f, 5.0f, 5.0f ) ); + + application.SendNotification(); + application.Render(); + + tet_printf( "Button RelayoutSize with text(%f,%f)\n", checkBox.GetNaturalSize().width, checkBox.GetNaturalSize().height ); + + TestPlatformAbstraction& platform = application.GetPlatform(); + platform.SetClosestImageSize( TEST_IMAGE_SIZE ); + + checkBox.SetProperty( Toolkit::Button::Property::UNSELECTED_VISUAL, TEST_IMAGE_ONE ); + checkBox.SetProperty( Toolkit::Button::Property::SELECTED_VISUAL, TEST_IMAGE_ONE ); + + + application.SendNotification(); + application.Render(); + + Vector3 preVisualPaddingSize = checkBox.GetNaturalSize(); + + tet_printf( "Button RelayoutSize with text and icon (%f,%f)\n", checkBox.GetNaturalSize().width, checkBox.GetNaturalSize().height ); + + checkBox.SetProperty( Toolkit::DevelButton::Property::VISUAL_PADDING, Vector4( 25.0f, 25.0f, 25.0f, 25.0f ) ); + + application.SendNotification(); + application.Render(); + + Vector3 paddingAddedSize = checkBox.GetNaturalSize(); + + tet_printf( "Button RelayoutSize with text, icon and padding (%f,%f)\n", checkBox.GetNaturalSize().width, checkBox.GetNaturalSize().height ); + + DALI_TEST_EQUALS( checkBox.GetProperty( Toolkit::DevelButton::Property::VISUAL_PADDING ), Vector4( 25.0f, 25.0f, 25.0f, 25.0f ), Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + + tet_infoline("Comparing original size of button before adding padding to visual foreground\n"); + + DALI_TEST_GREATER( paddingAddedSize.width, preVisualPaddingSize.width , TEST_LOCATION ); + + tet_infoline("Text and Visual are side by side, visual height and padding must be greater than text height and padding for this test\n"); + + DALI_TEST_GREATER( paddingAddedSize.height, preVisualPaddingSize.height , TEST_LOCATION ); + + END_TEST; +} + +// Deprecated API Tests + +int UtcDaliCheckBoxButtonSetGetSelected(void) +{ + ToolkitTestApplication application; + tet_infoline(" UtcDaliCheckBoxButtonSetGetSelected"); + + CheckBoxButton checkBoxButton = CheckBoxButton::New(); + checkBoxButton.StateChangedSignal().Connect( &CheckBoxButtonClicked ); + + // global var used to check if CheckBoxButtonClicked is called; + gCheckBoxButtonState = false; + + checkBoxButton.SetProperty( Button::Property::SELECTED, true ); + + DALI_TEST_EQUALS( checkBoxButton.GetProperty( Button::Property::SELECTED ).Get(), true, TEST_LOCATION ); + DALI_TEST_CHECK( gCheckBoxButtonState ); + + checkBoxButton.SetProperty( Button::Property::SELECTED, false ); + + DALI_TEST_EQUALS( checkBoxButton.GetProperty( Button::Property::SELECTED ).Get(), false, TEST_LOCATION ); + DALI_TEST_CHECK( !gCheckBoxButtonState ); + + checkBoxButton.SetProperty( Button::Property::SELECTED, true ); + + DALI_TEST_EQUALS( checkBoxButton.GetProperty( Button::Property::SELECTED ).Get(), true, TEST_LOCATION ); + DALI_TEST_CHECK( gCheckBoxButtonState ); + END_TEST; +} + +int UtcDaliCheckBoxSetLabelDisabledP(void) +{ + ToolkitTestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + application.GetScene().Add( checkBox ); + + checkBox.SetProperty( Actor::Property::SIZE, Vector2( 20.0f, 20.0f ) ); + checkBox.SetProperty(Button::Property::DISABLED_UNSELECTED_VISUAL, "Image.jpg" ); + + application.SendNotification(); + application.Render(); + + Property::Map propertyMap; + + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::Visual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), true); + checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap ); + + DALI_TEST_CHECK( checkBox.GetProperty(checkBox.GetPropertyIndex("disabled")) ); + DALI_TEST_EQUALS( GetButtonText(checkBox), "activate", TEST_LOCATION ); + + END_TEST; +}