X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-PushButton.cpp;h=a191f43147cb52070282fe1bea7c3f278dda960d;hb=6bb8c18706bef7ba16c047b7152aba250bee7091;hp=17ebc5f2b3a41af467cc8ec66e95b4c15172e172;hpb=06e563f8a982e25a0efe2d91c794657dc8e4bc4a;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 17ebc5f..a191f43 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp @@ -65,33 +65,52 @@ static bool PushButtonReleased( Button button ) return true; } -const Dali::TouchPoint pointDownInside( 0, TouchPoint::Down, 240, 400 ); -const Dali::TouchPoint pointUpInside( 0, TouchPoint::Up, 240, 400 ); -const Dali::TouchPoint pointLeave( 0, TouchPoint::Leave, 240, 400 ); -const Dali::TouchPoint pointEnter( 0, TouchPoint::Motion, 240, 400 ); -const Dali::TouchPoint pointMotionOut( 0, TouchPoint::Motion, 10, 10 ); -const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10, 10 ); -const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10, 10 ); +Dali::Integration::Point GetPointDownInside() +{ + Dali::Integration::Point point; + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 240, 400 ) ); + return point; +} -Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height ) +Dali::Integration::Point GetPointUpInside() { - BufferImage imageData = BufferImage::New( width, height, Pixel::RGBA8888 ); + Dali::Integration::Point point; + point.SetState( PointState::UP ); + point.SetScreenPosition( Vector2( 240, 400 ) ); + return point; +} - // Create the image - PixelBuffer* pixbuf = imageData.GetBuffer(); - unsigned int size = width * height; +Dali::Integration::Point GetPointLeave() +{ + Dali::Integration::Point point; + point.SetState( PointState::LEAVE ); + point.SetScreenPosition( Vector2( 240, 400 ) ); + return point; +} - 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; - } +Dali::Integration::Point GetPointEnter() +{ + Dali::Integration::Point point; + point.SetState( PointState::MOTION ); + point.SetScreenPosition( Vector2( 240, 400 ) ); + return point; +} - imageData.Update(); +Dali::Integration::Point GetPointDownOutside() +{ + Dali::Integration::Point point; + point.SetState( PointState::DOWN ); + point.SetScreenPosition( Vector2( 10, 10 ) ); + return point; +} - return imageData; +Dali::Integration::Point GetPointUpOutside() +{ + Dali::Integration::Point point; + point.SetState( PointState::UP ); + point.SetScreenPosition( Vector2( 10, 10 ) ); + return point; } } //namespace @@ -386,7 +405,7 @@ int UtcDaliPushButtonPressed(void) pushButton.PressedSignal().Connect( &PushButtonPressed ); Dali::Integration::TouchEvent eventDown; - eventDown.AddPoint( pointDownInside ); + eventDown.AddPoint( GetPointDownInside() ); // flush the queue and render once application.SendNotification(); @@ -422,11 +441,11 @@ int UtcDaliPushButtonReleased(void) gPushButtonReleased = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( gPushButtonReleased ); @@ -435,11 +454,11 @@ int UtcDaliPushButtonReleased(void) gPushButtonReleased = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownOutside ); + event.AddPoint( GetPointDownOutside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpOutside ); + event.AddPoint( GetPointUpOutside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonReleased ); @@ -448,15 +467,15 @@ int UtcDaliPushButtonReleased(void) gPushButtonReleased = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointLeave ); + event.AddPoint( GetPointLeave() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpOutside ); + event.AddPoint( GetPointUpOutside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( gPushButtonReleased ); @@ -465,15 +484,15 @@ int UtcDaliPushButtonReleased(void) gPushButtonReleased = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownOutside ); + event.AddPoint( GetPointDownOutside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointEnter ); + event.AddPoint( GetPointEnter() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonReleased ); @@ -505,11 +524,11 @@ int UtcDaliPushButtonSelected(void) gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonSelectedState ); @@ -520,21 +539,21 @@ int UtcDaliPushButtonSelected(void) // Test2. Touch point down and up inside the button twice. gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( gPushButtonSelectedState ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonSelectedState ); @@ -543,11 +562,11 @@ int UtcDaliPushButtonSelected(void) gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownOutside ); + event.AddPoint( GetPointDownOutside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpOutside ); + event.AddPoint( GetPointUpOutside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonSelectedState ); @@ -556,15 +575,15 @@ int UtcDaliPushButtonSelected(void) gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownInside ); + event.AddPoint( GetPointDownInside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointLeave ); + event.AddPoint( GetPointLeave() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpOutside ); + event.AddPoint( GetPointUpOutside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonSelectedState ); @@ -573,15 +592,15 @@ int UtcDaliPushButtonSelected(void) gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); - event.AddPoint( pointDownOutside ); + event.AddPoint( GetPointDownOutside() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointEnter ); + event.AddPoint( GetPointEnter() ); application.ProcessEvent( event ); event = Dali::Integration::TouchEvent(); - event.AddPoint( pointUpInside ); + event.AddPoint( GetPointUpInside() ); application.ProcessEvent( event ); DALI_TEST_CHECK( !gPushButtonSelectedState ); @@ -725,9 +744,31 @@ int UtcDaliPushButtonAlignmentLayout(void) ToolkitTestApplication application; tet_infoline(" UtcDaliPushButtonAlignmentLayout"); - // This test checks different alignments for the icon against the label. - // The icon is then moved around the label in each of it's alignments. - // The final relayed out size is checked to confirm the layout has been done correctly. + /* + * This test checks different alignments for the icon against the label. + * The icon is then moved around the label in each of it's alignments. + * The final relayed out size is checked to confirm the layout has been done correctly. + * + * There is an Icon which has 0 width and height, but with 75 padding on all sides. + * - Therefore total width and height are both 150. + * + * There is a Label which has "an unknown" width and height, but with 30 padding on all sides. + * - Therefore total width and height are 60+x and 60+y respectively. + * Where x & y are the width and height of the text. + * + * The width of the button will always expand to the largest of the icon and label sizes (plus padding). + * So We use the padding to help us determine the orientation is correct for each alignment. + * + * |<- 150 ->| |<-- 60+x -->| + * + * +---------+ - + * | | ^ +------------+ - + * | | | | | ^ + * | Icon | 150 | Label | 60+y + * | | | | | v + * | | v +------------+ - + * +---------+ - + */ PushButton pushButton = PushButton::New(); pushButton.SetProperty( Toolkit::PushButton::Property::LABEL_PADDING, Vector4( 30.0f, 30.0f, 30.0f, 30.0f ) ); @@ -765,6 +806,20 @@ int UtcDaliPushButtonAlignmentLayout(void) size.width = pushButton.GetRelayoutSize( Dimension::WIDTH ); size.height = pushButton.GetRelayoutSize( Dimension::HEIGHT ); + + /* + * Test Icon right alignment. + * Height grows to largest of Icon or Label (+ padding). + * Normally this will be Icons height, except with very large font sizes. + * + * +------------+---------+ + * |............+ | + * | | | + * | Label | Icon | + * | | | + * |............+ | + * +------------+---------+ + */ DALI_TEST_GREATER( size.width, 150.0f + 60.0f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 150.0f, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); @@ -778,6 +833,19 @@ int UtcDaliPushButtonAlignmentLayout(void) compareSize.width = pushButton.GetRelayoutSize( Dimension::WIDTH ); compareSize.height = pushButton.GetRelayoutSize( Dimension::HEIGHT ); + /* + * Test Icon left alignment. + * Height grows to largest of Icon or Label (+ padding). + * Normally this will be Icons height, except with very large font sizes. + * + * +---------+------------+ + * | +............| + * | | | + * | Icon | Label | + * | | | + * | +............| + * +---------+------------+ + */ DALI_TEST_EQUALS( size, compareSize, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); // Test top alignment. @@ -789,7 +857,25 @@ int UtcDaliPushButtonAlignmentLayout(void) compareSize.width = pushButton.GetRelayoutSize( Dimension::WIDTH ); compareSize.height = pushButton.GetRelayoutSize( Dimension::HEIGHT ); - DALI_TEST_EQUALS( compareSize.width, 150.0f, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); + /* + * Test Icon top alignment. + * Width grows to largest of Icon or Label (+ padding). + * + * +---------+ + * | | + * | | + * | Icon | + * | | + * | | + * +---------+ + * | | + * | Label | + * | | + * +---------+ + * + * Note: We subtract a small number as we want to do a >= test. + */ + DALI_TEST_GREATER( size.width, 150.0f - Math::MACHINE_EPSILON_1000, TEST_LOCATION ); DALI_TEST_GREATER( compareSize.height, 150.0f + 60.0f, TEST_LOCATION ); // Test bottom alignment. @@ -801,7 +887,296 @@ int UtcDaliPushButtonAlignmentLayout(void) size.width = pushButton.GetRelayoutSize( Dimension::WIDTH ); size.height = pushButton.GetRelayoutSize( Dimension::HEIGHT ); + /* + * Test Icon bottom alignment. + * Width grows to largest of Icon or Label (+ padding). + * + * +---------+ + * | | + * | Label | + * | | + * +---------+ + * | | + * | | + * | Icon | + * | | + * | | + * +---------+ + */ DALI_TEST_EQUALS( size, compareSize, Math::MACHINE_EPSILON_1000, TEST_LOCATION ); END_TEST; } + +int UtcDaliPushButtonSetButtonImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetButtonImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetButtonImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetSelectedImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetBackgroundImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetBackgroundImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetSelectedImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetSelectedImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedBackgroundImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetSelectedBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetSelectedBackgroundImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetSelectedBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledBackgroundImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetDisabledBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledBackgroundImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetDisabledBackgroundImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetDisabledImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetDisabledImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledSelectedImageP(void) +{ + ToolkitTestApplication application; + + PushButton button = PushButton::New(); + Stage::GetCurrent().Add( button ); + + try + { + button.SetDisabledSelectedImage( ImageView::New() ); + DALI_TEST_CHECK( true ); + } + catch(...) + { + DALI_TEST_CHECK( false ); + } + + END_TEST; +} + +int UtcDaliPushButtonSetDisabledSelectedImageN(void) +{ + ToolkitTestApplication application; + + PushButton button; + + try + { + button.SetDisabledSelectedImage( ImageView::New() ); + DALI_TEST_CHECK( false ); + } + catch(...) + { + DALI_TEST_CHECK( true ); + } + + END_TEST; +}