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=6fe0fdefca598da550fc93c959db15d7597897c3;hp=ff6e7df1b8c7daf6c0c5531c719ea6eac792933c;hb=refs%2Fchanges%2F53%2F113753%2F8;hpb=3dce4163d27820a63fedb91ad4628efc3f864152 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 ff6e7df..6fe0fde 100644 --- a/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp +++ b/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp @@ -1,4 +1,4 @@ -/* + /* * Copyright (c) 2016 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -25,6 +25,9 @@ #include #include #include +#include +#include +#include using namespace Dali; using namespace Dali::Toolkit; @@ -150,6 +153,223 @@ const char* defaultTheme = " \"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"; @@ -158,6 +378,7 @@ const char* defaultTheme = + void dali_style_manager_startup(void) { test_return_value = TET_UNDEF; @@ -977,3 +1198,85 @@ int UtcDaliStyleManagerStyleChangedSignalFontSizeTextEditor(void) END_TEST; } + + +int UtcDaliStyleManagerVisualTransitionParsing(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.SetStyleName("BasicControl"); + Stage::GetCurrent().Add(actor); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + + 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, 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); + + Visual::Base visual2 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + DALI_TEST_CHECK( visual1 != visual2 ); + + actor.SetProperty( DevelControl::Property::STATE, DevelControl::DISABLED ); + + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); + + Visual::Base visual3 = dummyImpl.GetVisual(DummyControl::Property::FOREGROUND_VISUAL); + 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); + + DALI_TEST_CHECK( visual1 != visual3 ); + DALI_TEST_CHECK( visual2 != visual3 ); + + END_TEST; +} + + +int UtcDaliStyleManagerVisualTransitionParsing02(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, "FOCUSED"); + + actor.SetStyleName("ComplexControl"); + Stage::GetCurrent().Add(actor); + + Impl::DummyControl& dummyImpl = static_cast(actor.GetImplementation()); + + DALI_TEST_EQUALS(dummyImpl.IsVisualEnabled(DummyControl::Property::FOREGROUND_VISUAL), true, TEST_LOCATION); + Visual::Base 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 ); + + DALI_TEST_EQUALS( visualType, (int)Toolkit::Visual::GRADIENT, TEST_LOCATION ); + + END_TEST; +}