[dali_2.0.15] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-ShadowView.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18 #include <iostream>
19 #include <stdlib.h>
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
22 #include <dali-toolkit/devel-api/controls/shadow-view/shadow-view.h>
23
24
25 using namespace Dali;
26 using namespace Dali::Toolkit;
27
28 void shadow_view_startup(void)
29 {
30   test_return_value = TET_UNDEF;
31 }
32
33 void shadow_view_cleanup(void)
34 {
35   test_return_value = TET_PASS;
36 }
37
38
39 // Negative test case for a method
40 int UtcDaliShadowViewUninitialized(void)
41 {
42   ToolkitTestApplication application;
43   tet_infoline("UtcDaliShadowViewUninitialized");
44
45   Toolkit::ShadowView view;
46   try
47   {
48     // New() must be called to create a GaussianBlurView or it wont be valid.
49     Actor a = Actor::New();
50     view.Add( a );
51     DALI_TEST_CHECK( false );
52   }
53   catch (Dali::DaliException& e)
54   {
55     // Tests that a negative test of an assertion succeeds
56     DALI_TEST_PRINT_ASSERT( e );
57     DALI_TEST_CHECK(!view);
58   }
59   END_TEST;
60 }
61
62 // Positive test case for a method
63 int UtcDaliShadowViewNew(void)
64 {
65   ToolkitTestApplication application;
66   tet_infoline("UtcDaliShadowViewNew");
67
68   Toolkit::ShadowView view = Toolkit::ShadowView::New();
69   DALI_TEST_CHECK( view );
70
71   Toolkit::ShadowView view2 = Toolkit::ShadowView::New(1.0f, 1.0f);
72   DALI_TEST_CHECK( view2 );
73   END_TEST;
74 }
75
76 // Positive test case for a method
77 int UtcDaliShadowViewDownCast(void)
78 {
79   ToolkitTestApplication application;
80   tet_infoline("UtcDaliShadowViewDownCast");
81
82   Toolkit::ShadowView view = Toolkit::ShadowView::New();
83   BaseHandle handle(view);
84
85   Toolkit::ShadowView shadowView = Toolkit::ShadowView::DownCast( handle );
86   DALI_TEST_CHECK( view );
87   DALI_TEST_CHECK( shadowView );
88   DALI_TEST_CHECK( shadowView == view );
89   END_TEST;
90 }
91
92 // Positive test case for a method
93 int UtcDaliShadowViewPropertyNames(void)
94 {
95   ToolkitTestApplication application;
96   tet_infoline("UtcDaliShadowViewPropertyNames");
97
98   Toolkit::ShadowView view = Toolkit::ShadowView::New();
99   DALI_TEST_CHECK( view );
100
101   // Check the names, this names are used in the shader code,
102   // if they change in the shader code, then it has to be updated here.
103   DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("BlurStrengthProperty"), TEST_LOCATION );
104   DALI_TEST_EQUALS( view.GetShadowColorPropertyIndex(), view.GetPropertyIndex("ShadowColorProperty"), TEST_LOCATION );
105   END_TEST;
106 }
107
108 // Positive test case for a method
109 int UtcDaliShadowViewAddRemove(void)
110 {
111   ToolkitTestApplication application;
112   tet_infoline("UtcDaliShadowViewAddRemove");
113
114   Toolkit::ShadowView view = Toolkit::ShadowView::New();
115   DALI_TEST_CHECK( view );
116
117   Actor actor = Actor::New();
118   DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
119
120
121   view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
122   view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize());
123   view.Add(actor);
124   application.GetScene().Add(view);
125
126   DALI_TEST_CHECK( actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
127
128   view.Remove(actor);
129
130   DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
131   END_TEST;
132 }
133
134 // Positive test case for a method
135 int UtcDaliShadowViewActivateDeactivate(void)
136 {
137   ToolkitTestApplication application;
138   tet_infoline("UtcDaliShadowViewActivateDeactivate");
139
140   Toolkit::ShadowView view = Toolkit::ShadowView::New();
141   DALI_TEST_CHECK( view );
142
143   RenderTaskList taskList = application.GetScene().GetRenderTaskList();
144   DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
145
146   view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
147   view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize());
148   view.Add(Actor::New());
149   application.GetScene().Add(view);
150   view.Activate();
151
152   RenderTaskList taskList2 = application.GetScene().GetRenderTaskList();
153   DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
154
155   view.Deactivate();
156
157   RenderTaskList taskList3 = application.GetScene().GetRenderTaskList();
158   DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
159   END_TEST;
160 }