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-Popup.cpp;h=159ea013ffc83d35b4904e715c212457b9801a41;hp=c3eaa4bdfcdea1edef8d4c999142f5b9be9087ec;hb=01777a3489f027123010b281e58efbc9f0a93db7;hpb=47937fd0ad346e3b9f48126bc611e36cb4e271d5 diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp index c3eaa4b..159ea01 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Popup.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 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. @@ -25,6 +25,8 @@ #include #include #include +#include +#include #include #include #include @@ -174,18 +176,29 @@ struct PopupTestFunctor // Generate a KeyEvent to send to Core. Integration::KeyEvent GenerateKey( const std::string& keyName, + const std::string& logicalKey, const std::string& keyString, int keyCode, int keyModifier, unsigned long timeStamp, - const Integration::KeyEvent::State& keyState ) + const Integration::KeyEvent::State& keyState, + const std::string& compose = "", + const std::string& deviceName = "", + const Device::Class::Type& deviceClass = Device::Class::NONE, + const Device::Subclass::Type& deviceSubclass = Device::Subclass::NONE + ) { return Integration::KeyEvent( keyName, + logicalKey, keyString, keyCode, keyModifier, timeStamp, - keyState ); + keyState, + compose, + deviceName, + deviceClass, + deviceSubclass ); } } // Anonymous namespace @@ -212,7 +225,7 @@ int UtcDaliPopupNewP( void ) DALI_TEST_CHECK( popup2 == popup ); // Additional check to ensure object is created by checking if it's registered. - ObjectRegistry registry = Stage::GetCurrent().GetObjectRegistry(); + ObjectRegistry registry = application.GetCore().GetObjectRegistry(); DALI_TEST_CHECK( registry ); gObjectCreatedCallBackCalled = false; @@ -344,7 +357,7 @@ int UtcDaliPopupSetContentP(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetProperty( Toolkit::Popup::Property::ANIMATION_DURATION, 0.0f ); // Put in show state so it's layer is connected to popup (for ancestor check). @@ -389,7 +402,7 @@ int UtcDaliPopupSetFooterP(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetProperty( Toolkit::Popup::Property::ANIMATION_DURATION, 0.0f ); // Put in show state so it's layer is connected to popup (for ancestor check). popup.SetDisplayState( Popup::SHOWN ); @@ -433,7 +446,7 @@ int UtcDaliPopupSetControlFooterMultiple(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetProperty( Toolkit::Popup::Property::ANIMATION_DURATION, 0.0f ); // Put in show state so it's layer is connected to popup (for ancestor check). popup.SetDisplayState( Popup::SHOWN ); @@ -455,6 +468,44 @@ int UtcDaliPopupSetControlFooterMultiple(void) END_TEST; } +int UtcDaliPopupSetTitleAndFooter(void) +{ + ToolkitTestApplication application; // Exceptions require ToolkitTestApplication + tet_infoline( " UtcDaliPopupSetTitleAndFooter" ); + + // Create the Popup actor + Popup popup = Popup::New(); + + // Put in show state so it's layer is connected to popup (for ancestor check). + popup.SetDisplayState( Popup::SHOWN ); + + // Add the title + TextLabel titleActor = TextLabel::New(); + titleActor.SetProperty( Toolkit::TextLabel::Property::TEXT, "title" ); + + DALI_TEST_CHECK( !popup.GetTitle() ); + popup.SetTitle( titleActor ); + TextLabel textActor = TextLabel::DownCast( popup.GetTitle() ); + DALI_TEST_CHECK( textActor == titleActor ); + + std::string resultText; + DALI_TEST_CHECK( textActor.GetProperty( Toolkit::TextLabel::Property::TEXT ).Get( resultText ) ); + DALI_TEST_CHECK( ( popup.GetTitle() ) && ( resultText == "title" ) ); + // verify titleActor is actually inside popup, and not elsewhere on stage, or off even. + DALI_TEST_CHECK( HasAncestor( titleActor, popup ) ); + + // Add the footer + PushButton button = PushButton::New(); + DALI_TEST_CHECK( !HasAncestor(button, popup) ); + popup.SetFooter( button ); + // Hide and then re-show popup to cause button to be rearranged and added to popup. + popup.SetDisplayState( Popup::HIDDEN ); + popup.SetDisplayState( Popup::SHOWN ); + DALI_TEST_CHECK( HasAncestor( button, popup ) ); + + END_TEST; +} + int UtcDaliPopupSetStateP(void) { ToolkitTestApplication application; // Exceptions require ToolkitTestApplication @@ -550,8 +601,8 @@ int UtcDaliPopupShowHide(void) Actor container = Actor::New(); PushButton button1 = PushButton::New(); PushButton button2 = PushButton::New(); - button1.SetSize( DEFAULT_BUTTON_SIZE.GetVectorXY() ); - button2.SetSize( DEFAULT_BUTTON_SIZE.GetVectorXY() ); + button1.SetProperty( Actor::Property::SIZE, DEFAULT_BUTTON_SIZE.GetVectorXY() ); + button2.SetProperty( Actor::Property::SIZE, DEFAULT_BUTTON_SIZE.GetVectorXY() ); container.Add( button1 ); container.Add( button2 ); popup.SetFooter( container ); @@ -590,7 +641,7 @@ int UtcDaliPopupPropertyTailVisibility(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetProperty( Popup::Property::TAIL_VISIBILITY, false ); popup.SetDisplayState( Popup::SHOWN ); @@ -625,12 +676,12 @@ int UtcDaliPopupOnTouchedOutsideSignal(void) // Create the Popup actor Popup popup = Popup::New(); - popup.SetParentOrigin( ParentOrigin::CENTER ); - popup.SetAnchorPoint( ParentOrigin::CENTER ); + popup.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + popup.SetProperty( Actor::Property::ANCHOR_POINT, ParentOrigin::CENTER ); popup.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS); - popup.SetSize( 50.0f, 50.0f ); + popup.SetProperty( Actor::Property::SIZE, Vector2( 50.0f, 50.0f ) ); popup.SetProperty( Popup::Property::ANIMATION_DURATION, 0.0f ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.OutsideTouchedSignal().Connect( &OnPopupTouchedOutside ); popup.SetDisplayState( Popup::SHOWN ); @@ -688,7 +739,7 @@ int UtcDaliPopupPropertyAutoHide(void) Actor container = Actor::New(); PushButton button1 = PushButton::New(); - button1.SetSize( DEFAULT_BUTTON_SIZE.GetVectorXY() ); + button1.SetProperty( Actor::Property::SIZE, DEFAULT_BUTTON_SIZE.GetVectorXY() ); container.Add( button1 ); popup.SetFooter( container ); @@ -702,7 +753,7 @@ int UtcDaliPopupPropertyAutoHide(void) DALI_TEST_CHECK( popup.GetProperty( Popup::Property::AUTO_HIDE_DELAY ).Get( getAutoHideDelay ) ); DALI_TEST_EQUALS( getAutoHideDelay, 200, TEST_LOCATION ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); DALI_TEST_EQUALS( gPopupState, Popup::HIDDEN, TEST_LOCATION ); @@ -742,7 +793,7 @@ int UtcDaliPopupPropertyAnimationMode(void) Popup popup = Popup::New(); ConnectStateSignals( popup ); popup.SetTitle( TextLabel::New( "Title" ) ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); std::string animationModes[] = { "NONE", "ZOOM", "FADE", "CUSTOM" }; @@ -905,22 +956,22 @@ int UtcDaliPopupPropertyContextualMode(void) // Placement actor to parent the popup from so the popup's contextual position can be relative to it. Actor placement = Actor::New(); - placement.SetParentOrigin( ParentOrigin::CENTER ); - placement.SetAnchorPoint( AnchorPoint::CENTER ); - placement.SetSize( 1.0f, 1.0f ); + placement.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER ); + placement.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER ); + placement.SetProperty( Actor::Property::SIZE, Vector2( 1.0f, 1.0f ) ); placement.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); - Stage::GetCurrent().Add( placement ); + application.GetScene().Add( placement ); placement.Add( popup ); // Test all contextual modes. const char* mode[5] = { "NON_CONTEXTUAL", "ABOVE", "RIGHT", "BELOW", "LEFT" }; Vector2 offsetValues[5]; - offsetValues[0] = Vector2( 0.0f, 0.0f ); - offsetValues[1] = Vector2( 0.0f, -10.0f ); - offsetValues[2] = Vector2( 10.0f, 0.0f ); - offsetValues[3] = Vector2( 0.0f, 10.0f ); - offsetValues[4] = Vector2( -10.0f, 0.0f ); + offsetValues[0] = Vector2( 0.375f, 0.0f ); + offsetValues[1] = Vector2( -0.125f, -10.5f ); + offsetValues[2] = Vector2( 10.875f, -0.5f ); + offsetValues[3] = Vector2( -0.125f, 10.5f ); + offsetValues[4] = Vector2( -10.875f, -0.5f ); for( int i = 0; i < 5; ++i ) { @@ -935,7 +986,7 @@ int UtcDaliPopupPropertyContextualMode(void) application.Render(); // Check the position of the label within the popup. - DALI_TEST_EQUALS( contentLabel.GetCurrentWorldPosition().GetVectorXY(), offsetValues[i], TEST_LOCATION ); + DALI_TEST_EQUALS( contentLabel.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).GetVectorXY(), offsetValues[i], TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); @@ -953,25 +1004,25 @@ int UtcDaliPopupPropertyBacking(void) // Create the Popup actor Popup popup = Popup::New(); popup.SetProperty( Popup::Property::ANIMATION_DURATION, 0.0f ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); Actor backing = popup.FindChildByName( "popupBacking" ); DALI_TEST_CHECK( backing ); - DALI_TEST_EQUALS( backing.GetCurrentOpacity(), 1.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( backing.GetCurrentProperty< float >( Actor::Property::OPACITY ), 1.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); // Check enabled property. popup.SetDisplayState( Popup::SHOWN ); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( backing.GetCurrentOpacity(), 0.5f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( backing.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.5f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( backing.GetCurrentOpacity(), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( backing.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); popup.SetProperty( Popup::Property::BACKING_ENABLED, false ); bool propertyResult; @@ -982,13 +1033,13 @@ int UtcDaliPopupPropertyBacking(void) application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( backing.GetCurrentOpacity(), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( backing.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); application.Render(); - DALI_TEST_EQUALS( backing.GetCurrentOpacity(), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); + DALI_TEST_EQUALS( backing.GetCurrentProperty< float >( Actor::Property::OPACITY ), 0.0f, Math::MACHINE_EPSILON_0, TEST_LOCATION ); // Check color property. popup.SetProperty( Popup::Property::BACKING_ENABLED, true ); @@ -1012,13 +1063,13 @@ int UtcDaliPopupPropertyBackgroundImage(void) // Create the Popup actor Popup popup = Popup::New(); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); - // Check setting an invalid image. + // Check setting an image popup.SetProperty( Toolkit::Popup::Property::POPUP_BACKGROUND_IMAGE, "invalid-image.png" ); std::string resultString; popup.GetProperty( Toolkit::Popup::Property::POPUP_BACKGROUND_IMAGE ).Get( resultString ); - DALI_TEST_EQUALS( resultString, std::string(""), TEST_LOCATION ); + DALI_TEST_EQUALS( resultString, "invalid-image.png", TEST_LOCATION ); END_TEST; } @@ -1075,7 +1126,7 @@ int UtcDaliPopupPropertyCustomAnimation(void) DALI_TEST_CHECK( popup.GetProperty( Toolkit::Popup::Property::EXIT_ANIMATION ).Get( resultMap ) ); DALI_TEST_EQUALS( resultMap.Count(), 0u, TEST_LOCATION ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetDisplayState( Popup::SHOWN ); for( int i = 0; i < RENDER_ANIMATION_TEST_DURATION_FRAMES; i++ ) @@ -1085,7 +1136,7 @@ int UtcDaliPopupPropertyCustomAnimation(void) } // Test the popup has animated to it's entry-transition destination. - DALI_TEST_EQUALS( popupContainer.GetCurrentWorldPosition(), entryAnimationDestination, 0.1f, TEST_LOCATION ); + DALI_TEST_EQUALS( popupContainer.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ), entryAnimationDestination, 0.1f, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); @@ -1095,7 +1146,7 @@ int UtcDaliPopupPropertyCustomAnimation(void) application.Render( RENDER_FRAME_INTERVAL ); } - DALI_TEST_EQUALS( popupContainer.GetCurrentWorldPosition(), exitAnimationDestination, 0.1f, TEST_LOCATION ); + DALI_TEST_EQUALS( popupContainer.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ), exitAnimationDestination, 0.1f, TEST_LOCATION ); END_TEST; } @@ -1117,21 +1168,21 @@ int UtcDaliPopupPropertyTouchTransparent(void) TextLabel content = TextLabel::New( "text" ); popup.SetContent( content ); popup.SetProperty( Popup::Property::ANIMATION_DURATION, 0.0f ); - popup.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - popup.SetParentOrigin( ParentOrigin::TOP_LEFT ); - popup.SetSize( 100, 100 ); + popup.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + popup.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + popup.SetProperty( Actor::Property::SIZE, Vector2(100.0f, 100.0f) ); popup.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); // Create a button (to go underneath the popup). PushButton button = Toolkit::PushButton::New(); - button.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - button.SetParentOrigin( ParentOrigin::TOP_LEFT ); - button.SetSize( 100, 100 ); + button.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + button.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + button.SetProperty( Actor::Property::SIZE, Vector2(100.0f, 100.0f) ); button.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); button.ClickedSignal().Connect( &PushButtonClicked ); - Stage::GetCurrent().Add( button ); + application.GetScene().Add( button ); button.Add( popup ); @@ -1157,6 +1208,12 @@ int UtcDaliPopupPropertyTouchTransparent(void) DALI_TEST_CHECK( !gPushButtonClicked ); + // Perform a wheel event + Dali::Integration::WheelEvent wheelEvent( Dali::Integration::WheelEvent::MOUSE_WHEEL, 0, 0u, Vector2( 10.0f, 10.0f ), 1, 1000u ); + application.ProcessEvent( wheelEvent ); + application.SendNotification(); + application.Render(); + // Enable touch transparency. popup.SetProperty( Popup::Property::TOUCH_TRANSPARENT, true ); bool propertyResult; @@ -1188,9 +1245,9 @@ int UtcDaliPopupPropertyTail(void) // Create the Popup actor Popup popup = Popup::New(); - popup.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - popup.SetParentOrigin( ParentOrigin::TOP_LEFT ); - popup.SetSize( 100, 100 ); + popup.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); + popup.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); + popup.SetProperty( Actor::Property::SIZE, Vector2(100.0f, 100.0f) ); popup.SetResizePolicy( ResizePolicy::FIXED, Dimension::ALL_DIMENSIONS ); TextLabel content = TextLabel::New( "text" ); popup.SetContent( content ); @@ -1224,7 +1281,7 @@ int UtcDaliPopupPropertyTail(void) DALI_TEST_CHECK( popup.GetProperty( Popup::Property::TAIL_POSITION ).Get( vectorResult ) ); DALI_TEST_EQUALS( vectorResult, tailPosition, TEST_LOCATION ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetDisplayState( Popup::SHOWN ); application.SendNotification(); @@ -1232,9 +1289,9 @@ int UtcDaliPopupPropertyTail(void) tailActor = popup.FindChildByName( "tailImage" ); DALI_TEST_CHECK( tailActor ); - float baseValX = tailActor.GetCurrentWorldPosition().x; + float baseValX = tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).x; - DALI_TEST_GREATER( baseValX, tailActor.GetCurrentWorldPosition().y, TEST_LOCATION ); + DALI_TEST_GREATER( baseValX, tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).y, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); @@ -1249,8 +1306,8 @@ int UtcDaliPopupPropertyTail(void) tailActor = popup.FindChildByName( "tailImage" ); DALI_TEST_CHECK( tailActor ); - float baseValY = tailActor.GetCurrentWorldPosition().y; - DALI_TEST_GREATER( baseValX, tailActor.GetCurrentWorldPosition().x, TEST_LOCATION ); + float baseValY = tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).y; + DALI_TEST_GREATER( baseValX, tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).x, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); @@ -1264,8 +1321,8 @@ int UtcDaliPopupPropertyTail(void) application.Render(); tailActor = popup.FindChildByName( "tailImage" ); DALI_TEST_CHECK( tailActor ); - DALI_TEST_EQUALS( tailActor.GetCurrentWorldPosition().x, baseValX, TEST_LOCATION ); - DALI_TEST_GREATER( tailActor.GetCurrentWorldPosition().y, baseValY, TEST_LOCATION ); + DALI_TEST_EQUALS( tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).x, baseValX, TEST_LOCATION ); + DALI_TEST_GREATER( tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).y, baseValY, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); @@ -1279,8 +1336,8 @@ int UtcDaliPopupPropertyTail(void) application.Render(); tailActor = popup.FindChildByName( "tailImage" ); DALI_TEST_CHECK( tailActor ); - DALI_TEST_GREATER( tailActor.GetCurrentWorldPosition().x, baseValX, TEST_LOCATION ); - DALI_TEST_EQUALS( tailActor.GetCurrentWorldPosition().y, baseValY, TEST_LOCATION ); + DALI_TEST_GREATER( tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).x, baseValX, TEST_LOCATION ); + DALI_TEST_EQUALS( tailActor.GetCurrentProperty< Vector3 >( Actor::Property::WORLD_POSITION ).y, baseValY, TEST_LOCATION ); popup.SetDisplayState( Popup::HIDDEN ); application.SendNotification(); @@ -1306,7 +1363,7 @@ int UtcDaliPopupTypeToast(void) popup.SetProperty( Popup::Property::ANIMATION_DURATION, 1.0f ); popup.SetTitle( Toolkit::TextLabel::New( "This is a Toast Popup.\nIt will auto-hide itself" ) ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetDisplayState( Toolkit::Popup::SHOWN ); for( int i = 0; i < RENDER_ANIMATION_TEST_DURATION_FRAMES; i++ ) @@ -1355,7 +1412,7 @@ int UtcDaliPopupTypeRegistryCreation(void) ConnectStateSignals( popup ); popup.SetProperty( Popup::Property::ANIMATION_DURATION, 0.0f ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetDisplayState( Toolkit::Popup::SHOWN ); application.SendNotification(); @@ -1389,10 +1446,10 @@ int UtcDaliPopupPropertyTypeRegistryConnectSignal(void) END_TEST; } -int UtcDaliPopupOnControlChildAdd(void) +int UtcDaliPopupOnChildAdd(void) { ToolkitTestApplication application; - tet_infoline( " UtcDaliPopupOnControlChildAdd" ); + tet_infoline( " UtcDaliPopupOnChildAdd" ); // Create the Popup actor Popup popup = Popup::New(); @@ -1415,7 +1472,7 @@ int UtcDaliPopupOnKeyEvent(void) // Create the Popup actor Popup popup = Popup::New(); popup.SetProperty( Popup::Property::ANIMATION_DURATION, 0.0f ); - Stage::GetCurrent().Add( popup ); + application.GetScene().Add( popup ); popup.SetDisplayState( Popup::SHOWN ); application.SendNotification(); @@ -1425,7 +1482,7 @@ int UtcDaliPopupOnKeyEvent(void) popup.SetKeyInputFocus(); - application.ProcessEvent( GenerateKey( "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::Down ) ); + application.ProcessEvent( GenerateKey( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::TOUCH, Device::Subclass::NONE ) ); application.SendNotification(); application.Render(); @@ -1433,3 +1490,26 @@ int UtcDaliPopupOnKeyEvent(void) END_TEST; } + +int UtcDaliPopupSetPopupBackgroundBorderProperty(void) +{ + ToolkitTestApplication application; + + tet_infoline( "Set the background border property of a popup & retrieve it" ); + Popup popup = Popup::New(); + + Rect< int > rect( 40, 30, 20, 10 ); + tet_infoline( "Ensure value we want to set is different from what is already set" ); + DALI_TEST_CHECK( rect != popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >() ); + + tet_infoline( "Set the property and retrieve it to make sure it's the value we set" ); + popup.SetProperty( Popup::Property::POPUP_BACKGROUND_BORDER, rect ); + DALI_TEST_EQUALS( rect, popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >(), TEST_LOCATION ); + + tet_infoline( "Set a vector4 as well which should also work" ); + Vector4 vectorValue( 10.0f, 20.0f, 30.0f, 40.0f ); + popup.SetProperty( Popup::Property::POPUP_BACKGROUND_BORDER, vectorValue ); + DALI_TEST_EQUALS( Rect< int >( 10, 20, 30, 40 ), popup.GetProperty( Popup::Property::POPUP_BACKGROUND_BORDER ).Get< Rect< int > >(), TEST_LOCATION ); + + END_TEST; +}