Revert "License conversion from Flora to Apache 2.0"
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-unmanaged / utc-Dali-GaussianBlurView.cpp
1 //
2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 #include <iostream>
18 #include <stdlib.h>
19 #include <dali-toolkit-test-suite-utils.h>
20 #include <dali-toolkit/dali-toolkit.h>
21
22 using namespace Dali;
23 using namespace Dali::Toolkit;
24
25 namespace
26 {
27 const char* TEST_IMAGE_FILE_NAME =  "gallery_image_01.jpg";
28 } // namespace
29
30 void utc_gaussian_blur_view_startup(void)
31 {
32   test_return_value = TET_UNDEF;
33 }
34
35 void utc_gaussian_blur_view_cleanup(void)
36 {
37   test_return_value = TET_PASS;
38 }
39
40
41
42 // Negative test case for a method
43 int UtcDaliGaussianBlurViewUninitialized(void)
44 {
45   ToolkitTestApplication application;
46   tet_infoline("UtcDaliGaussianBlurViewUninitialized");
47
48   Toolkit::GaussianBlurView view;
49
50   try
51   {
52     // New() must be called to create a GaussianBlurView or it wont be valid.
53     Actor a = Actor::New();
54     view.Add( a );
55     DALI_TEST_CHECK( false );
56   }
57   catch (Dali::DaliException& e)
58   {
59     // Tests that a negative test of an assertion succeeds
60     tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
61     DALI_TEST_CHECK(!view);
62   }
63   END_TEST;
64 }
65
66 // Positive test case for a method
67 int UtcDaliGaussianBlurViewNew(void)
68 {
69   ToolkitTestApplication application;
70   tet_infoline("UtcDaliGaussianBlurViewNew");
71
72   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
73   DALI_TEST_CHECK( view );
74
75   Toolkit::GaussianBlurView view2 = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, false);
76   DALI_TEST_CHECK( view2 );
77   END_TEST;
78 }
79
80 // Positive test case for a method
81 int UtcDaliGaussianBlurViewDownCast(void)
82 {
83   ToolkitTestApplication application;
84   tet_infoline("UtcDaliGaussianBlurViewDownCast");
85
86   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
87   BaseHandle handle(view);
88
89   Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast( handle );
90   DALI_TEST_CHECK( view );
91   DALI_TEST_CHECK( gaussianBlurView );
92   DALI_TEST_CHECK( gaussianBlurView == view );
93   END_TEST;
94 }
95
96
97 // Positive test case for a method
98 int UtcDaliGaussianBlurViewPropertyNames(void)
99 {
100   ToolkitTestApplication application;
101   tet_infoline("UtcDaliGaussianBlurViewPropertyNames");
102
103   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
104   DALI_TEST_CHECK( view );
105
106   // Check the names, this names are used in the shader code,
107   // if they change in the shader code, then it has to be updated here.
108   DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("GaussianBlurStrengthPropertyName"), TEST_LOCATION );
109   END_TEST;
110 }
111
112 // Positive test case for a method
113 int UtcDaliGaussianBlurViewAddRemove(void)
114 {
115   ToolkitTestApplication application;
116   tet_infoline("UtcDaliGaussianBlurViewAddRemove");
117
118   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
119   DALI_TEST_CHECK( view );
120
121   Actor actor = Actor::New();
122   DALI_TEST_CHECK( !actor.OnStage() );
123
124
125   view.SetParentOrigin(ParentOrigin::CENTER);
126   view.SetSize(Stage::GetCurrent().GetSize());
127   view.Add(actor);
128   Stage::GetCurrent().Add(view);
129
130   DALI_TEST_CHECK( actor.OnStage() );
131
132   view.Remove(actor);
133
134   DALI_TEST_CHECK( !actor.OnStage() );
135   END_TEST;
136 }
137
138 // Positive test case for a method
139 int UtcDaliGaussianBlurActivateDeactivate(void)
140 {
141   ToolkitTestApplication application;
142   tet_infoline("UtcDaliGaussianBlurActivateDeactivate");
143
144   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
145   DALI_TEST_CHECK( view );
146
147   RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
148   DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
149
150   view.SetParentOrigin(ParentOrigin::CENTER);
151   view.SetSize(Stage::GetCurrent().GetSize());
152   view.Add(Actor::New());
153   Stage::GetCurrent().Add(view);
154   view.Activate();
155
156   RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
157   DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
158
159   view.Deactivate();
160
161   RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
162   DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
163   END_TEST;
164 }
165
166 // Positive test case for a method
167 int UtcDaliGaussianBlurViewSetGetBackgroundColor(void)
168 {
169   ToolkitTestApplication application;
170   tet_infoline("UtcDaliGaussianBlurViewSetGetBackgroundColor");
171
172   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
173   DALI_TEST_CHECK( view );
174
175   view.SetBackgroundColor(Dali::Color::RED);
176   Vector4 color = view.GetBackgroundColor();
177   DALI_TEST_CHECK( color == Dali::Color::RED );
178   END_TEST;
179 }
180
181 // Positive test case for a method
182 int UtcDaliGaussianBlurViewSetGetRenderTarget(void)
183 {
184   ToolkitTestApplication application;
185   tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget");
186
187   Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true);
188   DALI_TEST_CHECK( view );
189
190   view.SetParentOrigin(ParentOrigin::CENTER);
191   view.SetSize(Stage::GetCurrent().GetSize());
192   view.Add(Actor::New());
193   Stage::GetCurrent().Add(view);
194   view.Activate();
195
196   FrameBufferImage renderTarget = FrameBufferImage::New( 480.0f, 800.0f, Pixel::RGB888 );
197   view.SetUserImageAndOutputRenderTarget(Image::New(TEST_IMAGE_FILE_NAME), renderTarget);
198   DALI_TEST_CHECK( view.GetBlurredRenderTarget() == renderTarget );
199   END_TEST;
200 }