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=6fe0fdefca598da550fc93c959db15d7597897c3;hb=HEAD;hpb=f781537e1453775663bb7f89adb495957dfa61ef 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 6fe0fde..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) 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. @@ -17,6 +17,8 @@ #include #include +#include +#include #include #include #include @@ -27,352 +29,20 @@ #include #include #include +#include #include +#include +#include + +// for Internal::StyleManager +#include using namespace Dali; using namespace Dali::Toolkit; namespace { -const char* defaultTheme = -"{\n" -" \"constants\":\n" -" {\n" -" \"CONFIG_SCRIPT_LOG_LEVEL\":\"NoLogging\"\n" -" },\n" -" \"styles\":\n" -" {\n" -" \"textlabel\":\n" -" {\n" -" \"pointSize\":18\n" -" },\n" -"\n" -" \"textlabelFontSize0\":\n" -" {\n" -" \"pointSize\":8\n" -" },\n" -" \"textlabelFontSize1\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textlabelFontSize2\":\n" -" {\n" -" \"pointSize\":15\n" -" },\n" -" \"textlabelFontSize3\":\n" -" {\n" -" \"pointSize\":19\n" -" },\n" -" \"textlabelFontSize4\":\n" -" {\n" -" \"pointSize\":25\n" -" },\n" -"\n" -" \"textfield\":\n" -" {\n" -" \"pointSize\":18,\n" -" \"primaryCursorColor\":[0.0,0.72,0.9,1.0],\n" -" \"secondaryCursorColor\":[0.0,0.72,0.9,1.0],\n" -" \"cursorWidth\":3,\n" -" \"selectionHighlightColor\":[0.75,0.96,1.0,1.0],\n" -" \"grabHandleImage\" : \"{DALI_STYLE_IMAGE_DIR}cursor_handler_drop_center.png\",\n" -" \"selectionHandleImageLeft\" : {\"filename\":\"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_left.png\" },\n" -" \"selectionHandleImageRight\": {\"filename\":\"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_right.png\" }\n" -" },\n" -"\n" -" \"textfieldFontSize0\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textfieldFontSize1\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textfieldFontSize2\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textfieldFontSize3\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textfieldFontSize4\":\n" -" {\n" -" \"pointSize\":10\n" -" },\n" -" \"textselectionpopup\":\n" -" {\n" -" \"popupMaxSize\":[656,72],\n" -" \"optionDividerSize\":[2,0],\n" -" \"popupDividerColor\":[0.23,0.72,0.8,0.11],\n" -" \"popupIconColor\":[1.0,1.0,1.0,1.0],\n" -" \"popupPressedColor\":[0.24,0.72,0.8,0.11],\n" -" \"background\": {\n" -" \"rendererType\": \"nPatch\",\n" -" \"imageUrl\": \"{DALI_IMAGE_DIR}selection-popup-bg.9.png\"\n" -" },\n" -" \"popupFadeInDuration\":0.25,\n" -" \"popupFadeOutDuration\":0.25\n" -" },\n" -" \"textselectionpopupbutton\":\n" -" {\n" -" \"label\":\n" -" {\n" -" \"pointSize\":8,\n" -" \"fontStyle\":\"{\\\\""weight\\\\"":\\\\""light\\\\""}\"\n" -" }\n" -" },\n" -" \"textselectiontoolbar\":\n" -" {\n" -" \"enableOvershoot\":true,\n" -" \"scrollView\":\n" -" {\n" -" \"overshootAnimationSpeed\":360.0,\n" -" \"overshootSize\":[720.0,130.0]\n" -" }\n" -" },\n" -" \"scrollview\":\n" -" {\n" -" \"overshootEffectColor\":\"B018\",\n" -" \"overshootAnimationSpeed\":360.0,\n" -" \"overshootSize\":[720.0,130.0]\n" -" },\n" -" \"itemview\":\n" -" {\n" -" \"overshootEffectColor\":\"B018\",\n" -" \"overshootAnimationSpeed\":360.0,\n" -" \"overshootSize\":[720.0,130.0]\n" -" },\n" -" \"texteditor\":\n" -" {\n" -" \"pointSize\":18,\n" -" \"primaryCursorColor\":[0.0,0.72,0.9,1.0],\n" -" \"secondaryCursorColor\":[0.0,0.72,0.9,1.0],\n" -" \"cursorWidth\":3,\n" -" \"selectionHighlightColor\":[0.75,0.96,1.0,1.0],\n" -" \"grabHandleImage\" : \"{DALI_STYLE_IMAGE_DIR}cursor_handler_drop_center.png\",\n" -" \"selectionHandleImageLeft\" : {\"filename\":\"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_left.png\" },\n" -" \"selectionHandleImageRight\": {\"filename\":\"{DALI_STYLE_IMAGE_DIR}selection_handle_drop_right.png\" }\n" -" },\n" -" \"ComplexControl\":\n" -" {\n" -" \"states\":\n" -" {\n" -" \"NORMAL\":\n" -" {\n" -" \"states\":\n" -" {\n" -" \"SELECTED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"GRADIENT\",\n" -" \"startPosition\": [-1, -1],\n" -" \"endPosition\": [1, 1],\n" -" \"spreadMethod\": \"REPEAT\",\n" -" \"stopOffset\": [0.2, 0.8],\n" -" \"stopColor\": [ [ 1,0,0,1], [0,1,0,1] ]\n" -" }\n" -" }\n" -" },\n" -" \"UNSELECTED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"COLOR\",\n" -" \"mixColor\": [ 1,0,0,1]\n" -" }\n" -" }\n" -" }\n" -" },\n" -" \"transitions\":\n" -" {\n" -" \"visualName\":\"*\",\n" -" \"effect\":\"CROSSFADE\",\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT\",\n" -" \"duration\":0.3\n" -" }\n" -" }\n" -" },\n" -" \"FOCUSED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"GRADIENT\",\n" -" \"startPosition\": [-1, -1],\n" -" \"endPosition\": [1, 1],\n" -" \"spreadMethod\": \"REPEAT\",\n" -" \"stopOffset\": [0.3, 0.9],\n" -" \"stopColor\": [ [ 0,0,1,1], [0,1,1,1] ]\n" -" },\n" -" \"focusVisual\":\n" -" {\n" -" \"visualType\":\"IMAGE\",\n" -" \"url\": \"focus.png\"\n" -" }\n" -" },\n" -" \"entryTransition\":\n" -" {\n" -" \"target\":\"focusVisual\",\n" -" \"property\":\"mixColor\",\n" -" \"initialValue\":[0,0,0,0],\n" -" \"targetValue\":[1,1,1,1],\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT_SINE\",\n" -" \"timePeriod\": \n" -" {\n" -" \"duration\":0.5,\n" -" \"delay\":0\n" -" }\n" -" }\n" -" },\n" -" \"exitTransition\":\n" -" {\n" -" \"target\":\"focusVisual\",\n" -" \"property\":\"mixColor\",\n" -" \"initialValue\":[1,1,1,1],\n" -" \"targetValue\":[0,0,0,0],\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT_SINE\",\n" -" \"timePeriod\": \n" -" {\n" -" \"duration\":0.5,\n" -" \"delay\":0\n" -" }\n" -" }\n" -" }\n" -" },\n" -" \"DISABLED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"COLOR\",\n" -" \"mixColor\": [1,0,0,1]\n" -" }\n" -" }\n" -" }\n" -" },\n" -" \"transitions\":\n" -" [\n" -" {\n" -" \"effect\":\"CROSSFADE\",\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT\",\n" -" \"duration\":0.3\n" -" }\n" -" }\n" -" ]\n" -" },\n" -" \"BasicControl\":\n" -" {\n" -" \"states\":\n" -" {\n" -" \"NORMAL\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"GRADIENT\",\n" -" \"startPosition\": [-1, -1],\n" -" \"endPosition\": [1, 1],\n" -" \"spreadMethod\": \"REPEAT\",\n" -" \"stopOffset\": [0.2, 0.8],\n" -" \"stopColor\": [ [ 1,0,0,1], [0,1,0,1] ]\n" -" }\n" -" }\n" -" },\n" -" \"FOCUSED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"GRADIENT\",\n" -" \"startPosition\": [-1, -1],\n" -" \"endPosition\": [1, 1],\n" -" \"spreadMethod\": \"REPEAT\",\n" -" \"stopOffset\": [0.3, 0.9],\n" -" \"stopColor\": [ [ 0,0,1,1], [0,1,1,1] ]\n" -" },\n" -" \"focusVisual\":\n" -" {\n" -" \"visualType\":\"IMAGE\",\n" -" \"url\": \"focus.png\"\n" -" }\n" -" },\n" -" \"entryTransition\":\n" -" {\n" -" \"target\":\"focusVisual\",\n" -" \"property\":\"mixColor\",\n" -" \"initialValue\":[0,0,0,0],\n" -" \"targetValue\":[1,1,1,1],\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT_SINE\",\n" -" \"timePeriod\": \n" -" {\n" -" \"duration\":0.5,\n" -" \"delay\":0\n" -" }\n" -" }\n" -" },\n" -" \"exitTransition\":\n" -" {\n" -" \"target\":\"focusVisual\",\n" -" \"property\":\"mixColor\",\n" -" \"initialValue\":[1,1,1,1],\n" -" \"targetValue\":[0,0,0,0],\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT_SINE\",\n" -" \"timePeriod\": \n" -" {\n" -" \"duration\":0.5,\n" -" \"delay\":0\n" -" }\n" -" }\n" -" }\n" -" },\n" -" \"DISABLED\":\n" -" {\n" -" \"visuals\":\n" -" {\n" -" \"foregroundVisual\":\n" -" {\n" -" \"visualType\":\"COLOR\",\n" -" \"mixColor\": [1,0,0,1]\n" -" }\n" -" }\n" -" }\n" -" },\n" -" \"transitions\":\n" -" [\n" -" {\n" -" \"effect\":\"CROSSFADE\",\n" -" \"animator\":\n" -" {\n" -" \"alphaFunction\":\"EASE_IN_OUT\",\n" -" \"duration\":0.3\n" -" }\n" -" }\n" -" ]\n" -" }\n" -" }\n" -"}\n"; +std::string defaultTheme; } // anonymous namespace @@ -382,6 +52,9 @@ const char* defaultTheme = void dali_style_manager_startup(void) { test_return_value = TET_UNDEF; + + std::ifstream t("src/dali-toolkit-styling/default-theme.json"); + defaultTheme = std::string((std::istreambuf_iterator(t)), std::istreambuf_iterator()); } void dali_style_manager_cleanup(void) @@ -389,6 +62,54 @@ void dali_style_manager_cleanup(void) test_return_value = TET_PASS; } + +Visual::Base CheckVisual( Impl::DummyControl& dummyImpl, Property::Index visualId, int type, const char* location ) +{ + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(visualId), true, location); + Visual::Base visual = dummyImpl.GetVisual(visualId); + DALI_TEST_EQUALS( (bool)visual, true, location ); + Property::Map map; + visual.CreatePropertyMap( map ); + Property::Value* value = map.Find( Toolkit::Visual::Property::TYPE ); + DALI_TEST_EQUALS( value != NULL, true, location ); + + int visualType; + value->Get( visualType ); + DALI_TEST_EQUALS( visualType, type, location ); + return visual; +} + + +Integration::Bitmap* CreateBitmap( unsigned int imageWidth, unsigned int imageHeight, unsigned int initialColor, Pixel::Format pixelFormat ) +{ + Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_RETAIN ); + Integration::PixelBuffer* pixbuffer = bitmap->GetPackedPixelsProfile()->ReserveBuffer( pixelFormat, imageWidth, imageHeight, imageWidth, imageHeight ); + unsigned int bytesPerPixel = GetBytesPerPixel( pixelFormat ); + + memset( pixbuffer, initialColor, imageHeight * imageWidth * bytesPerPixel ); + + return bitmap; +} + +Integration::ResourcePointer CustomizeNinePatch( ToolkitTestApplication& application, + unsigned int ninePatchImageWidth, + unsigned int ninePatchImageHeight) +{ + TestPlatformAbstraction& platform = application.GetPlatform(); + + Pixel::Format pixelFormat = Pixel::RGBA8888; + + tet_infoline("Create Bitmap"); + platform.SetClosestImageSize(Vector2( ninePatchImageWidth, ninePatchImageHeight)); + Integration::Bitmap* bitmap = CreateBitmap( ninePatchImageWidth, ninePatchImageHeight, 0xFF, pixelFormat ); + + tet_infoline("Getting resource"); + Integration::ResourcePointer resourcePtr(bitmap); + platform.SetSynchronouslyLoadedResource( resourcePtr); + + return resourcePtr; +} + int UtcDaliStyleManagerConstructorP(void) { ToolkitTestApplication application; @@ -401,7 +122,7 @@ int UtcDaliStyleManagerConstructorP(void) int UtcDaliStyleManagerCopyConstructorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager( styleManager ); @@ -412,7 +133,7 @@ int UtcDaliStyleManagerCopyConstructorP(void) int UtcDaliStyleManagerAssignmentOperatorP(void) { - TestApplication application; + ToolkitTestApplication application; StyleManager styleManager = StyleManager::Get(); StyleManager copyOfStyleManager = styleManager; @@ -512,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(); @@ -626,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(); @@ -767,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(); @@ -835,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(); @@ -887,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(); @@ -922,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(); @@ -948,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; } @@ -988,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(); @@ -1071,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; @@ -1154,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; @@ -1200,7 +942,7 @@ int UtcDaliStyleManagerStyleChangedSignalFontSizeTextEditor(void) } -int UtcDaliStyleManagerVisualTransitionParsing(void) +int UtcDaliStyleManagerSetState01(void) { tet_infoline("Instantiate dummy control and test state/visual/transition capture" ); Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", @@ -1214,20 +956,41 @@ int UtcDaliStyleManagerVisualTransitionParsing(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 ); DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); Visual::Base visual1 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + Visual::Base labelVisual1 = dummyImpl.GetVisual(DummyControl::Property::LABEL_VISUAL); + Property::Map labelMap; + labelVisual1.CreatePropertyMap( labelMap ); + labelMap[TextVisual::Property::TEXT] = "New text"; + VisualFactory factory = VisualFactory::Get(); + labelVisual1 = factory.CreateVisual(labelMap); + dummyImpl.UnregisterVisual(DummyControl::Property::LABEL_VISUAL ); + dummyImpl.RegisterVisual(DummyControl::Property::LABEL_VISUAL, labelVisual1 ); actor.SetProperty( DevelControl::Property::STATE, DevelControl::FOCUSED ); DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOCUS_VISUAL), true, TEST_LOCATION); + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::LABEL_VISUAL), true, TEST_LOCATION); Visual::Base visual2 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + Visual::Base labelVisual2 = dummyImpl.GetVisual(DummyControl::Property::LABEL_VISUAL); DALI_TEST_CHECK( visual1 != visual2 ); + DALI_TEST_CHECK( labelVisual1 != labelVisual2 ); + labelMap.Clear(); + labelVisual2.CreatePropertyMap( labelMap ); + Property::Value* textValue = labelMap.Find( Toolkit::TextVisual::Property::TEXT, "text"); + DALI_TEST_CHECK( textValue ); + Property::Value* pointSizeValue = labelMap.Find( Toolkit::TextVisual::Property::POINT_SIZE, "pointSize"); + tet_infoline( "Check that the instance data has been copied to the new text visual\n"); + DALI_TEST_EQUALS( textValue->Get(), "New text", TEST_LOCATION ); + DALI_TEST_EQUALS( pointSizeValue->Get(), 10, TEST_LOCATION ); + actor.SetProperty( DevelControl::Property::STATE, DevelControl::DISABLED ); @@ -1241,11 +1004,21 @@ int UtcDaliStyleManagerVisualTransitionParsing(void) DALI_TEST_CHECK( visual1 != visual3 ); DALI_TEST_CHECK( visual2 != visual3 ); + Visual::Base labelVisual3 = dummyImpl.GetVisual(DummyControl::Property::LABEL_VISUAL); + DALI_TEST_CHECK( labelVisual2 != labelVisual3 ); + + labelVisual2.CreatePropertyMap( labelMap ); + textValue = labelMap.Find(Toolkit::TextVisual::Property::TEXT, "text"); + DALI_TEST_CHECK( textValue ); + pointSizeValue = labelMap.Find(Toolkit::TextVisual::Property::POINT_SIZE, "pointSize"); + tet_infoline( "Check that the instance data has been copied to the new text visual\n"); + DALI_TEST_EQUALS( textValue->Get(), "New text", TEST_LOCATION ); + DALI_TEST_EQUALS( pointSizeValue->Get(), 10, TEST_LOCATION ); + END_TEST; } - -int UtcDaliStyleManagerVisualTransitionParsing02(void) +int UtcDaliStyleManagerSetState02(void) { tet_infoline("Instantiate dummy control and test state/visual/transition capture" ); Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", @@ -1258,25 +1031,388 @@ int UtcDaliStyleManagerVisualTransitionParsing02(void) StyleManager styleManager = StyleManager::Get(); DummyControl actor = DummyControl::New(true); - actor.SetProperty(DevelControl::Property::STATE, "FOCUSED"); - - actor.SetStyleName("ComplexControl"); - Stage::GetCurrent().Add(actor); + actor.SetStyleName("BasicControl"); + application.GetScene().Add(actor); Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); + + int state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::NORMAL, TEST_LOCATION ); DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); Visual::Base visual1 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "FOCUSED" ).Add("withTransitions", false)); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::FOCUSED, TEST_LOCATION ); + + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOCUS_VISUAL), true, TEST_LOCATION); + + Visual::Base visual2 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + DALI_TEST_CHECK( visual1 != visual2 ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "DISABLED" ).Add("withTransitions", false)); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::DISABLED, TEST_LOCATION ); + + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); + + Visual::Base visual3 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + + Visual::Base testVisual = dummyImpl.GetVisual(DummyControl::Property::FOCUS_VISUAL); + DALI_TEST_CHECK( !testVisual ); + testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL); + DALI_TEST_CHECK( !testVisual ); + testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL2); + DALI_TEST_CHECK( !testVisual ); + testVisual = dummyImpl.GetVisual(DummyControl::Property::LABEL_VISUAL); + DALI_TEST_CHECK( testVisual ); + + + DALI_TEST_CHECK( visual1 != visual3 ); + DALI_TEST_CHECK( visual2 != visual3 ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "NORMAL" ).Add("withTransitions", false)); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::NORMAL, TEST_LOCATION ); + + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); + + visual1 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); DALI_TEST_CHECK( visual1 ); - Property::Map map; - visual1.CreatePropertyMap( map ); - Property::Value* value = map.Find( Visual::Property::TYPE ); - DALI_TEST_CHECK( value ); - int visualType; - value->Get( visualType ); + Visual::Base focusVisual = dummyImpl.GetVisual(DummyControl::Property::FOCUS_VISUAL); + DALI_TEST_CHECK( !focusVisual ); + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOCUS_VISUAL), false, TEST_LOCATION); + + + END_TEST; +} + + +int UtcDaliStyleManagerSetState03N(void) +{ + tet_infoline("Instantiate dummy control and test state transition without state style" ); + Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", + defaultTheme ); + + ToolkitTestApplication application; + + StyleChangedSignalChecker styleChangedSignalHandler; + Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); + StyleManager styleManager = StyleManager::Get(); + + DummyControl actor = DummyControl::New(true); + actor.SetStyleName("NoStyles"); + application.GetScene().Add(actor); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + Property::Map propertyMap; + propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); + propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE); + VisualFactory factory = VisualFactory::Get(); + Visual::Base visual = factory.CreateVisual( propertyMap ); + dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); + + int state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::NORMAL, TEST_LOCATION ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "FOCUSED" ).Add("withTransitions", false)); + + Visual::Base testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL); + DALI_TEST_CHECK( testVisual = visual ); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::FOCUSED, TEST_LOCATION ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "DISABLED" ).Add("withTransitions", false)); + + testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL); + DALI_TEST_CHECK( testVisual = visual ); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::DISABLED, TEST_LOCATION ); + + END_TEST; +} + + +int UtcDaliStyleManagerSetState04N(void) +{ + tet_infoline("Instantiate dummy control and test state transition with style without state" ); + Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", + defaultTheme ); + + ToolkitTestApplication application; + + StyleChangedSignalChecker styleChangedSignalHandler; + Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); + StyleManager styleManager = StyleManager::Get(); + + DummyControl actor = DummyControl::New(true); + actor.SetStyleName("NoStateStyle"); + application.GetScene().Add(actor); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + Property::Map propertyMap; + propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR); + propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE); + VisualFactory factory = VisualFactory::Get(); + Visual::Base visual = factory.CreateVisual( propertyMap ); + dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual ); + + int state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::NORMAL, TEST_LOCATION ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "FOCUSED" ).Add("withTransitions", false)); + + Visual::Base testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL); + DALI_TEST_CHECK( testVisual = visual ); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::FOCUSED, TEST_LOCATION ); + + actor.SetProperty( DevelControl::Property::STATE, + Property::Map().Add( "state", "DISABLED" ).Add("withTransitions", false)); + + testVisual = dummyImpl.GetVisual(DummyControl::Property::TEST_VISUAL); + DALI_TEST_CHECK( testVisual = visual ); + + state = actor.GetProperty( DevelControl::Property::STATE ); + DALI_TEST_EQUALS( state, (int) DevelControl::DISABLED, TEST_LOCATION ); + + END_TEST; +} + +int UtcDaliStyleManagerSetSubState01(void) +{ + tet_infoline("Instantiate dummy control and test state/visual/transition capture" ); + Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", + defaultTheme ); + + ToolkitTestApplication application; + + StyleChangedSignalChecker styleChangedSignalHandler; + Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); + StyleManager styleManager = StyleManager::Get(); + + DummyControl actor = DummyControl::New(true); + actor.SetProperty(DevelControl::Property::STATE, "NORMAL"); + actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED"); + actor.SetStyleName("ComplexControl"); + application.GetScene().Add(actor); + + Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::GRADIENT, TEST_LOCATION); + + actor.SetProperty(DevelControl::Property::SUB_STATE, "UNSELECTED"); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::COLOR, TEST_LOCATION); + + actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED"); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::GRADIENT, TEST_LOCATION); + + END_TEST; +} + + +int UtcDaliStyleManagerSetSubState02(void) +{ + tet_infoline("Instantiate complex control and test state/substate change" ); + Test::StyleMonitor::SetThemeFileOutput( DALI_STYLE_DIR "dali-toolkit-default-theme.json", + defaultTheme ); + + ToolkitTestApplication application; + + StyleChangedSignalChecker styleChangedSignalHandler; + Dali::StyleMonitor styleMonitor = Dali::StyleMonitor::Get(); + StyleManager styleManager = StyleManager::Get(); + + DummyControl actor = DummyControl::New(true); + actor.SetProperty(DevelControl::Property::STATE, "NORMAL"); + actor.SetProperty(DevelControl::Property::SUB_STATE, "SELECTED"); + tet_infoline( "Setting state to NORMAL/SELECTED before re-styling\n"); + + actor.SetStyleName("ComplexControl"); + application.GetScene().Add(actor); + + Integration::ResourcePointer ninePatch = CustomizeNinePatch( application, 30, 30 ); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::GRADIENT, TEST_LOCATION); + + actor.SetProperty(DevelControl::Property::SUB_STATE, "UNSELECTED"); + tet_infoline( "Changing substate to UNSELECTED - check visual changes\n"); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::COLOR, TEST_LOCATION); + + actor.SetProperty(DevelControl::Property::STATE, "FOCUSED"); + 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::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::N_PATCH, TEST_LOCATION); + + DALI_TEST_CHECK( fgVisual1 == fgVisual2 ); + DALI_TEST_CHECK( focusVisual1 == focusVisual2 ); + + actor.SetProperty(DevelControl::Property::STATE, "NORMAL"); + tet_infoline( "Changing state to NORMAL - Expect to change to NORMAL/SELECTED \n"); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL2, Toolkit::Visual::GRADIENT, TEST_LOCATION); + + Visual::Base focusVisual = dummyImpl.GetVisual(DummyControl::Property::FOCUS_VISUAL); + DALI_TEST_CHECK( ! focusVisual ); + + actor.SetProperty(DevelControl::Property::STATE, "DISABLED"); + tet_infoline( "Changing state to DISABLED - Expect to change to DISABLED/SELECTED \n"); + + CheckVisual( dummyImpl, DummyControl::Property::FOREGROUND_VISUAL, Toolkit::Visual::COLOR, TEST_LOCATION); + CheckVisual( dummyImpl, DummyControl::Property::TEST_VISUAL, Toolkit::Visual::IMAGE, TEST_LOCATION); + + Visual::Base testVisual = dummyImpl.GetVisual(DummyControl::Property::FOCUS_VISUAL); + DALI_TEST_CHECK( ! testVisual ); + testVisual = dummyImpl.GetVisual(DummyControl::Property::LABEL_VISUAL); + DALI_TEST_CHECK( ! testVisual ); + + 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; - DALI_TEST_EQUALS( visualType, (int)Toolkit::Visual::GRADIENT, TEST_LOCATION ); + 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; }