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=1606d71722d361201c66537cdee5900884213c9e;hp=6892c84fb1c441cfa22e96a4581b22da09de68a5;hb=5a2a5883422f4d114902ac57d57d7d1e973fbb2e;hpb=2acdedcc7c7e732a9ec97d08c8cee7423ed6ebf7 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp index 6892c84..1606d71 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp @@ -19,6 +19,11 @@ #include #include #include +#include +#include +#include +#include + using namespace Dali; using namespace Toolkit; @@ -33,40 +38,95 @@ bool CheckBoxButtonClicked( Button button ) 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 ); + +} // namespace -Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height ) +void checkbox_button_startup(void) { - BitmapImage imageData = BitmapImage::New( width, height, Pixel::RGBA8888 ); + test_return_value = TET_UNDEF; +} - // Create the image - PixelBuffer* pixbuf = imageData.GetBuffer(); - unsigned int size = width * height; +void checkbox_button_cleanup(void) +{ + test_return_value = TET_PASS; +} - for( size_t i = 0; i < size; i++ ) - { - pixbuf[i*4+0] = 0xFF * color.r; - pixbuf[i*4+1] = 0xFF * color.g; - pixbuf[i*4+2] = 0xFF * color.b; - pixbuf[i*4+3] = 0xFF * color.a; - } +int UtcDaliCheckBoxButtonConstructorP(void) +{ + TestApplication application; - imageData.Update(); + CheckBoxButton checkBox; - return imageData; + DALI_TEST_CHECK( !checkBox ); + END_TEST; } -} // namespace +int UtcDaliCheckBoxButtonCopyConstructorP(void) +{ + TestApplication application; + // Initialize an object, ref count == 1 + CheckBoxButton checkBox = CheckBoxButton::New(); -void checkbox_button_startup(void) + CheckBoxButton copy( checkBox ); + DALI_TEST_CHECK( copy ); + END_TEST; +} + +int UtcDaliCheckBoxButtonAssignmentOperatorP(void) { - test_return_value = TET_UNDEF; + TestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + + CheckBoxButton copy( checkBox ); + DALI_TEST_CHECK( copy ); + + DALI_TEST_CHECK( checkBox == copy ); + END_TEST; } -void checkbox_button_cleanup(void) +int UtcDaliCheckBoxButtonNewP(void) { - test_return_value = TET_PASS; + TestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + + DALI_TEST_CHECK( checkBox ); + END_TEST; +} + +int UtcDaliCheckBoxButtonDownCastP(void) +{ + TestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + + BaseHandle object(checkBox); + + CheckBoxButton checkBox2 = CheckBoxButton::DownCast( object ); + DALI_TEST_CHECK(checkBox2); + + CheckBoxButton checkBox3 = DownCast< CheckBoxButton >(object); + DALI_TEST_CHECK(checkBox3); + END_TEST; +} + +int UtcDaliCheckBoxButtonDownCastN(void) +{ + TestApplication application; + + BaseHandle unInitializedObject; + + CheckBoxButton checkBox1 = CheckBoxButton::DownCast( unInitializedObject ); + DALI_TEST_CHECK( !checkBox1 ); + + CheckBoxButton checkBox2 = DownCast< CheckBoxButton >( unInitializedObject ); + DALI_TEST_CHECK( !checkBox2 ); + END_TEST; } int UtcDaliCheckBoxButtonSetGetSelected(void) @@ -97,115 +157,161 @@ int UtcDaliCheckBoxButtonSetGetSelected(void) END_TEST; } -int UtcDaliCheckBoxButtonSetImages(void) +int UtcDaliCheckBoxSetLabelP(void) { - ToolkitTestApplication application; - tet_infoline(" UtcDaliCheckBoxButtonSetImages"); + TestApplication application; - Actor imageActor; + CheckBoxButton checkBox = CheckBoxButton::New(); - Image image01 = CreateSolidColorImage( Color::RED, 10, 10 ); - ImageActor imageActor01 = CreateSolidColorActor( Color::RED ); - imageActor01.SetSize( 20, 20 ); + Property::Map propertyMap; - Image image02 = CreateSolidColorImage( Color::RED, 30, 30 ); - ImageActor imageActor02 = CreateSolidColorActor( Color::RED ); - imageActor02.SetSize( 40, 40 ); + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); - Image image03 = CreateSolidColorImage( Color::RED, 50, 50 ); - ImageActor imageActor03 = CreateSolidColorActor( Color::RED ); - imageActor03.SetSize( 60, 60 ); + checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap ); - Image image04 = CreateSolidColorImage( Color::RED, 70, 70 ); - ImageActor imageActor04 = CreateSolidColorActor( Color::RED ); - imageActor04.SetSize( 80, 80 ); + DALI_TEST_EQUALS( checkBox.GetLabelText(), "activate", TEST_LOCATION ); // Change to use GerProperty once that code is implemented + END_TEST; +} - Vector3 size; - CheckBoxButton checkBoxButton = CheckBoxButton::New(); +int UtcDaliCheckBoxSetLabelDisabledP(void) +{ + TestApplication application; + + CheckBoxButton checkBox = CheckBoxButton::New(); + Stage::GetCurrent().Add( checkBox ); + + checkBox.SetSize( Vector2( 20.0f, 20.0f ) ); + checkBox.SetDisabledBackgroundImage( "Image.jpg" ); application.SendNotification(); application.Render(); - // Just check if check box button size changes when a bigger image is set. + Property::Map propertyMap; - checkBoxButton.SetBackgroundImage( image01 ); + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); - application.SendNotification(); - application.Render(); + 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 + + END_TEST; +} - size = checkBoxButton.GetBackgroundImage().GetCurrentSize(); +int UtcDaliCheckBoxSettingDisabled(void) +{ + ToolkitTestApplication application; - DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION ); + CheckBoxButton checkBox = CheckBoxButton::New(); - checkBoxButton.SetBackgroundImage( imageActor01 ); + checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), true); + DALI_TEST_CHECK( checkBox.GetProperty(checkBox.GetPropertyIndex("disabled")) ); - application.SendNotification(); - application.Render(); + checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), false); - size = checkBoxButton.GetBackgroundImage().GetCurrentSize(); + DALI_TEST_CHECK( !checkBox.GetProperty(checkBox.GetPropertyIndex("disabled")) ); - DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION ); + END_TEST; +} - checkBoxButton.SetSelectedImage( image02 ); +int UtcDaliCheckBoxSetLabelPadding(void) +{ + tet_infoline("UtcDaliCheckBoxSetLabelPadding\n"); - application.SendNotification(); - application.Render(); + ToolkitTestApplication application; - size = checkBoxButton.GetSelectedImage().GetCurrentSize(); + CheckBoxButton checkBox = CheckBoxButton::New(); - DALI_TEST_EQUALS( size.width, 30.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 30.f, TEST_LOCATION ); + Property::Map propertyMap; - checkBoxButton.SetSelectedImage( imageActor02 ); + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL, propertyMap ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetSelectedImage().GetCurrentSize(); - - DALI_TEST_EQUALS( size.width, 40.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 40.f, TEST_LOCATION ); + Vector3 orginalSize = checkBox.GetNaturalSize(); - checkBoxButton.SetDisabledBackgroundImage( image03 ); + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL_PADDING, Vector4( 10.0f, 10.0f, 10.0f, 10.0f ) ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledBackgroundImage().GetCurrentSize(); + 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(); - DALI_TEST_EQUALS( size.width, 50.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 50.f, TEST_LOCATION ); + Property::Map propertyMap; - checkBoxButton.SetDisabledBackgroundImage( imageActor03 ); + propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT ) + .Add( Toolkit::TextVisual::Property::TEXT, "activate" ) + .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f ); + + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL, propertyMap ); + checkBox.SetProperty( Toolkit::DevelButton::Property::LABEL_PADDING, Vector4( 5.0f, 5.0f, 5.0f, 5.0f ) ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledBackgroundImage().GetCurrentSize(); + tet_printf( "Button RelayoutSize with text(%f,%f)\n", checkBox.GetNaturalSize().width, checkBox.GetNaturalSize().height ); + + TestPlatformAbstraction& platform = application.GetPlatform(); + platform.SetClosestImageSize( TEST_IMAGE_SIZE ); - DALI_TEST_EQUALS( size.width, 60.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 60.f, TEST_LOCATION ); + checkBox.SetProperty( Toolkit::DevelButton::Property::UNSELECTED_VISUAL, TEST_IMAGE_ONE ); + checkBox.SetProperty( Toolkit::DevelButton::Property::SELECTED_VISUAL, TEST_IMAGE_ONE ); - checkBoxButton.SetDisabledSelectedImage( image04 ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledSelectedImage().GetCurrentSize(); + Vector3 preVisualPaddingSize = checkBox.GetNaturalSize(); - DALI_TEST_EQUALS( size.width, 70.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 70.f, TEST_LOCATION ); + tet_printf( "Button RelayoutSize with text and icon (%f,%f)\n", checkBox.GetNaturalSize().width, checkBox.GetNaturalSize().height ); - checkBoxButton.SetDisabledSelectedImage( imageActor04 ); + checkBox.SetProperty( Toolkit::DevelButton::Property::VISUAL_PADDING, Vector4( 25.0f, 25.0f, 25.0f, 25.0f ) ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledSelectedImage().GetCurrentSize(); + 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 ); - DALI_TEST_EQUALS( size.width, 80.f, TEST_LOCATION ); - DALI_TEST_EQUALS( size.height, 80.f, TEST_LOCATION ); END_TEST; }