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=6a81e06357abdc9db001e8db10fc65b4a421061a;hb=b3f769e350cf3c159ab22bd947f1e98d47cb4038;hpb=ec1cd006ed99fe40e444e90c8b3e6eb01ca2bc8b 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 6a81e06..3d9e206 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) 2016 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,9 +29,13 @@ #include #include #include -#include #include #include +#include +#include + +// for Internal::StyleManager +#include using namespace Dali; using namespace Dali::Toolkit; @@ -66,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; @@ -87,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) { @@ -118,7 +122,7 @@ int UtcDaliStyleManagerConstructorP(void) int UtcDaliStyleManagerCopyConstructorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager( styleManager ); @@ -129,7 +133,7 @@ int UtcDaliStyleManagerCopyConstructorP(void) int UtcDaliStyleManagerAssignmentOperatorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager = styleManager; @@ -229,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(); @@ -343,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(); @@ -484,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(); @@ -552,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(); @@ -604,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(); @@ -639,10 +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::TextLabel label2 = Toolkit::TextLabel::New(labelStr); - Stage::GetCurrent().Add( label2 ); + Toolkit::TextField field = Toolkit::TextField::New(); + application.GetScene().Add( field ); + + Toolkit::TextEditor editor = Toolkit::TextEditor::New(); + application.GetScene().Add( editor ); StyleChangedSignalChecker styleChangedSignalHandler; Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); @@ -665,6 +678,18 @@ int UtcDaliStyleManagerStyleChangedSignalFontFamily(void) DALI_TEST_EQUALS( familyStr, "Times New Roman", TEST_LOCATION); + // Check that the field's font style has been altered + family = field.GetProperty(TextField::Property::FONT_FAMILY); + family.Get( familyStr ); + + DALI_TEST_EQUALS( familyStr, "Times New Roman", TEST_LOCATION); + + // Check that the editor's font style has been altered + family = editor.GetProperty(TextEditor::Property::FONT_FAMILY); + family.Get( familyStr ); + + DALI_TEST_EQUALS( familyStr, "Times New Roman", TEST_LOCATION); + END_TEST; } @@ -705,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(); @@ -788,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; @@ -871,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; @@ -931,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 ); @@ -1007,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 ); @@ -1087,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; @@ -1136,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; @@ -1186,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 ); @@ -1230,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 ); @@ -1249,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::Visual::IMAGE, 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::Visual::IMAGE, 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 ); @@ -1282,3 +1307,103 @@ int UtcDaliStyleManagerSetSubState02(void) END_TEST; } + + +int UtcDaliStyleManagerConfigSectionTest(void) +{ + tet_infoline("Test that the properties in config section are works" ); + + 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" + " \"styles\":\n" + " {\n" + " }\n" + "}\n"; + + Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", defaultTheme ); + + ToolkitTestApplication application; + + Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); + + Property::Map config = Toolkit::DevelStyleManager::GetConfigurations( styleManager ); + bool alwaysShowFocus = config["alwaysShowFocus"].Get(); + 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.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, "", "", 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 + 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")); + + // 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")); + + // 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")); + + END_TEST; +}