X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-styling%2Futc-Dali-StyleManager.cpp;h=3d9e206506892d44ab720ef999bba192473a42e4;hp=e8348f13e2e2ddb302f5c93a507552c13e95d7b4;hb=HEAD;hpb=19a1ff15f95dc628021de1eabeedd357de1944c2 diff --git a/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp b/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp index e8348f1..0d6c4ae 100644 --- a/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp +++ b/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -29,15 +29,14 @@ #include #include #include -#include -#include #include #include -#include -#include #include #include +// for Internal::StyleManager +#include + using namespace Dali; using namespace Dali::Toolkit; @@ -71,7 +70,7 @@ Visual::Base CheckVisual( Impl::DummyControl& dummyImpl, Property::Index visualI DALI_TEST_EQUALS( (bool)visual, true, location ); Property::Map map; visual.CreatePropertyMap( map ); - Property::Value* value = map.Find( Visual::Property::TYPE ); + Property::Value* value = map.Find( Toolkit::Visual::Property::TYPE ); DALI_TEST_EQUALS( value != NULL, true, location ); int visualType; @@ -92,7 +91,7 @@ Integration::Bitmap* CreateBitmap( unsigned int imageWidth, unsigned int imageHe return bitmap; } -Integration::ResourcePointer CustomizeNinePatch( TestApplication& application, +Integration::ResourcePointer CustomizeNinePatch( ToolkitTestApplication& application, unsigned int ninePatchImageWidth, unsigned int ninePatchImageHeight) { @@ -123,7 +122,7 @@ int UtcDaliStyleManagerConstructorP(void) int UtcDaliStyleManagerCopyConstructorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager( styleManager ); @@ -134,7 +133,7 @@ int UtcDaliStyleManagerCopyConstructorP(void) int UtcDaliStyleManagerAssignmentOperatorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager = styleManager; @@ -234,14 +233,20 @@ int UtcDaliStyleManagerApplyTheme(void) // Add 2 buttons to test how many times the signal is sent Test::TestButton testButton = Test::TestButton::New(); Test::TestButton testButton2 = Test::TestButton::New(); - Stage::GetCurrent().Add( testButton ); - Stage::GetCurrent().Add( testButton2 ); + application.GetScene().Add( testButton ); + application.GetScene().Add( testButton2 ); StyleChangedSignalChecker styleChangedSignalHandler; StyleChangedSignalChecker styleChangedSignalHandler2; StyleManager styleManager = StyleManager::Get(); styleManager.StyleChangedSignal().Connect(&styleChangedSignalHandler, &StyleChangedSignalChecker::OnStyleChanged); + // To ensure we make VisualFactory + VisualFactory factory = VisualFactory::Get(); + Property::Map propertyMap; + propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::TEXT ); + Visual::Base textVisual = factory.CreateVisual( propertyMap ); + // Render and notify application.SendNotification(); application.Render(); @@ -348,7 +353,7 @@ int UtcDaliStyleManagerApplyDefaultTheme(void) ToolkitTestApplication application; Test::TestButton testButton = Test::TestButton::New(); - Stage::GetCurrent().Add( testButton ); + application.GetScene().Add( testButton ); StyleChangedSignalChecker styleChangedSignalHandler; StyleManager styleManager = StyleManager::Get(); @@ -489,8 +494,8 @@ int UtcDaliStyleManagerApplyStyle(void) // Add 2 buttons Test::TestButton testButton = Test::TestButton::New(); Test::TestButton testButton2 = Test::TestButton::New(); - Stage::GetCurrent().Add( testButton ); - Stage::GetCurrent().Add( testButton2 ); + application.GetScene().Add( testButton ); + application.GetScene().Add( testButton2 ); StyleChangedSignalChecker styleChangedSignalHandler; StyleManager styleManager = StyleManager::Get(); @@ -557,8 +562,8 @@ int UtcDaliStyleManagerIncludeStyleP(void) // Add 2 buttons Test::TestButton testButton = Test::TestButton::New(); Test::TestButton testButton2 = Test::TestButton::New(); - Stage::GetCurrent().Add( testButton ); - Stage::GetCurrent().Add( testButton2 ); + application.GetScene().Add( testButton ); + application.GetScene().Add( testButton2 ); StyleChangedSignalChecker styleChangedSignalHandler; StyleManager styleManager = StyleManager::Get(); @@ -609,8 +614,8 @@ int UtcDaliStyleManagerIncludeStyleN(void) // Add 2 buttons Test::TestButton testButton = Test::TestButton::New(); Test::TestButton testButton2 = Test::TestButton::New(); - Stage::GetCurrent().Add( testButton ); - Stage::GetCurrent().Add( testButton2 ); + application.GetScene().Add( testButton ); + application.GetScene().Add( testButton2 ); StyleChangedSignalChecker styleChangedSignalHandler; StyleManager styleManager = StyleManager::Get(); @@ -644,13 +649,13 @@ int UtcDaliStyleManagerStyleChangedSignalFontFamily(void) std::string labelStr("Label"); Toolkit::TextLabel label = Toolkit::TextLabel::New(labelStr); - Stage::GetCurrent().Add( label ); + application.GetScene().Add( label ); Toolkit::TextField field = Toolkit::TextField::New(); - Stage::GetCurrent().Add( field ); + application.GetScene().Add( field ); Toolkit::TextEditor editor = Toolkit::TextEditor::New(); - Stage::GetCurrent().Add( editor ); + application.GetScene().Add( editor ); StyleChangedSignalChecker styleChangedSignalHandler; Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); @@ -725,10 +730,10 @@ int UtcDaliStyleManagerStyleChangedSignalFontSize(void) std::string labelStr("Label"); Toolkit::TextLabel label = Toolkit::TextLabel::New(labelStr); - Stage::GetCurrent().Add( label ); + application.GetScene().Add( label ); Toolkit::TextLabel label2 = Toolkit::TextLabel::New(labelStr); - Stage::GetCurrent().Add( label2 ); + application.GetScene().Add( label2 ); StyleChangedSignalChecker styleChangedSignalHandler; StyleMonitor styleMonitor = StyleMonitor::Get(); @@ -808,10 +813,10 @@ int UtcDaliStyleManagerStyleChangedSignalFontSizeTextField(void) std::string fieldStr("Field"); Toolkit::TextField field = Toolkit::TextField::New(); field.SetProperty( Toolkit::TextField::Property::TEXT, fieldStr ); - Stage::GetCurrent().Add( field ); + application.GetScene().Add( field ); Toolkit::TextField field2 = Toolkit::TextField::New(); - Stage::GetCurrent().Add( field2 ); + application.GetScene().Add( field2 ); field2.SetProperty( Toolkit::TextField::Property::TEXT, fieldStr ); StyleChangedSignalChecker styleChangedSignalHandler; @@ -891,10 +896,10 @@ int UtcDaliStyleManagerStyleChangedSignalFontSizeTextEditor(void) std::string editorStr("Editor"); Toolkit::TextEditor editor = Toolkit::TextEditor::New(); editor.SetProperty( Toolkit::TextEditor::Property::TEXT, editorStr ); - Stage::GetCurrent().Add( editor ); + application.GetScene().Add( editor ); Toolkit::TextEditor editor2 = Toolkit::TextEditor::New(); - Stage::GetCurrent().Add( editor2 ); + application.GetScene().Add( editor2 ); editor2.SetProperty( Toolkit::TextEditor::Property::TEXT, editorStr ); StyleChangedSignalChecker styleChangedSignalHandler; @@ -951,7 +956,7 @@ int UtcDaliStyleManagerSetState01(void) DummyControl actor = DummyControl::New(true); actor.SetStyleName("BasicControl"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); @@ -1027,7 +1032,7 @@ int UtcDaliStyleManagerSetState02(void) DummyControl actor = DummyControl::New(true); actor.SetStyleName("BasicControl"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); @@ -1107,7 +1112,7 @@ int UtcDaliStyleManagerSetState03N(void) DummyControl actor = DummyControl::New(true); actor.SetStyleName("NoStyles"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); Property::Map propertyMap; @@ -1156,7 +1161,7 @@ int UtcDaliStyleManagerSetState04N(void) DummyControl actor = DummyControl::New(true); actor.SetStyleName("NoStateStyle"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); Property::Map propertyMap; @@ -1206,7 +1211,7 @@ int UtcDaliStyleManagerSetSubState01(void) actor.SetProperty(DevelControl::Property::STATE, "NORMAL"); actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED"); actor.SetStyleName("ComplexControl"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); @@ -1250,7 +1255,7 @@ int UtcDaliStyleManagerSetSubState02(void) tet_infoline( "Setting state to NORMAL/SELECTED before re-styling\n"); actor.SetStyleName("ComplexControl"); - Stage::GetCurrent().Add(actor); + application.GetScene().Add(actor); Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); @@ -1269,13 +1274,13 @@ int UtcDaliStyleManagerSetSubState02(void) tet_infoline( "Changing state to FOCUSED - check visual changes\n"); Visual::Base fgVisual1 = CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::GRADIENT, TEST_LOCATION); - Visual::Base focusVisual1 = CheckVisual( dummyImpl, DummyControl::Property::FOCUS_VISUAL, Toolkit::DevelVisual::N_PATCH, TEST_LOCATION); + Visual::Base focusVisual1 = CheckVisual( dummyImpl, DummyControl::Property::FOCUS_VISUAL, Toolkit::Visual::N_PATCH, TEST_LOCATION); actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED"); tet_infoline( "Changing substate to SELECTED - Expect no change\n"); Visual::Base fgVisual2 = CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::GRADIENT, TEST_LOCATION); - Visual::Base focusVisual2 = CheckVisual( dummyImpl, DummyControl::Property::FOCUS_VISUAL, Toolkit::DevelVisual::N_PATCH, TEST_LOCATION); + Visual::Base focusVisual2 = CheckVisual( dummyImpl, DummyControl::Property::FOCUS_VISUAL, Toolkit::Visual::N_PATCH, TEST_LOCATION); DALI_TEST_CHECK( fgVisual1 == fgVisual2 ); DALI_TEST_CHECK( focusVisual1 == focusVisual2 ); @@ -1310,8 +1315,13 @@ int UtcDaliStyleManagerConfigSectionTest(void) const char* defaultTheme = "{\n" + " \"constants\":\n" + " {\n" + " \"TEST\":\"broken\"\n" + " },\n" " \"config\":\n" " {\n" + " \"brokenImageUrl\":\"{TEST}|{TEST}|{TEST|TEST.png\",\n" " \"alwaysShowFocus\":false,\n" " \"clearFocusOnEscape\":false\n" " },\n" @@ -1331,17 +1341,78 @@ int UtcDaliStyleManagerConfigSectionTest(void) DALI_TEST_CHECK( !alwaysShowFocus ); bool clearFocusOnEscape = config["clearFocusOnEscape"].Get(); DALI_TEST_CHECK( !clearFocusOnEscape ); + std::string brokenImageUrl = config["brokenImageUrl"].Get(); + DALI_TEST_CHECK( brokenImageUrl.compare( "broken|broken|{TEST|TEST.png" ) == 0 ); // For coverage Toolkit::TextEditor editor = Toolkit::TextEditor::New(); - editor.SetKeyboardFocusable( true ); - Stage::GetCurrent().Add( editor ); + editor.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE, true ); + application.GetScene().Add( editor ); Toolkit::KeyboardFocusManager::Get().SetCurrentFocusActor( editor ); - application.ProcessEvent( Integration::KeyEvent( "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::Down, "", DevelDevice::Class::NONE, DevelDevice::Subclass::NONE ) ); + application.ProcessEvent( Integration::KeyEvent( "", "", "", DALI_KEY_ESCAPE, 0, 0, Integration::KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE ) ); application.SendNotification(); application.Render(); END_TEST; } + + +int UtcDaliStyleManagerNewWithAdditionalBehavior(void) +{ + ToolkitTestApplication application; + + Toolkit::StyleManager styleManager = StyleManager::Get(); + Toolkit::Internal::StyleManager& styleManagerImpl = GetImpl(styleManager); + + auto checkup = [&styleManagerImpl](int enableStyleChangeSignal, const Control& control){ + DALI_TEST_EQUALS( enableStyleChangeSignal, styleManagerImpl.ControlStyleChangeSignal().GetConnectionCount(), TEST_LOCATION ); + }; + + // Default New + // Note: TextField and TextEditor have TextSelectionPopup + tet_infoline( "Check whether ControlStyleChangeSignal connected in default New\n"); + checkup(1, Control::New()); + checkup(1, ImageView::New()); + checkup(1, ImageView::New("url")); + checkup(1, ImageView::New("url", Dali::ImageDimensions(32u, 32u))); + checkup(1, TextLabel::New()); + checkup(1, TextLabel::New("text")); + checkup(2, TextField::New()); + checkup(2, TextEditor::New()); + + // New with additional behaviour, but enable style change signals + tet_infoline( "Check whether ControlStyleChangeSignal connected in non-disable style change signals\n"); + checkup(1, Control::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT)); + checkup(1, Control::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)); + checkup(1, Control::New(Toolkit::Control::ControlBehaviour::REQUIRES_KEYBOARD_NAVIGATION_SUPPORT)); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT)); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "url")); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "url", Dali::ImageDimensions(32u, 32u))); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "url")); + checkup(1, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "url", Dali::ImageDimensions(32u, 32u))); + checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT)); + checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT, "text")); + checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)); + checkup(1, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION, "text")); + checkup(2, TextField::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT)); + checkup(2, TextField::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)); + checkup(2, TextEditor::New(Toolkit::Control::ControlBehaviour::CONTROL_BEHAVIOUR_DEFAULT)); + checkup(2, TextEditor::New(Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION)); + + // New with additional behaviour, so disable style change signals + tet_infoline( "Check whether ControlStyleChangeSignal did not connected\n"); + checkup(0, Control::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS)); + checkup(0, Control::New(Toolkit::Control::ControlBehaviour(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS | Toolkit::Control::ControlBehaviour::DISABLE_SIZE_NEGOTIATION))); + checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS)); + checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "url")); + checkup(0, ImageView::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "url", Dali::ImageDimensions(32u, 32u))); + checkup(0, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS)); + checkup(0, TextLabel::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS, "text")); + checkup(1, TextField::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS)); + checkup(1, TextEditor::New(Toolkit::Control::ControlBehaviour::DISABLE_STYLE_CHANGE_SIGNALS)); + + END_TEST; +}