2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
8 // http://floralicense.org/license/
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.
19 #include <dali-toolkit-test-suite-utils.h>
20 #include <dali-toolkit/dali-toolkit.h>
23 using namespace Dali::Toolkit;
27 const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg";
30 void utc_gaussian_blur_view_startup(void)
32 test_return_value = TET_UNDEF;
35 void utc_gaussian_blur_view_cleanup(void)
37 test_return_value = TET_PASS;
42 // Negative test case for a method
43 int UtcDaliGaussianBlurViewUninitialized(void)
45 ToolkitTestApplication application;
46 tet_infoline("UtcDaliGaussianBlurViewUninitialized");
48 Toolkit::GaussianBlurView view;
52 // New() must be called to create a GaussianBlurView or it wont be valid.
53 Actor a = Actor::New();
55 DALI_TEST_CHECK( false );
57 catch (Dali::DaliException& e)
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);
66 // Positive test case for a method
67 int UtcDaliGaussianBlurViewNew(void)
69 ToolkitTestApplication application;
70 tet_infoline("UtcDaliGaussianBlurViewNew");
72 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
73 DALI_TEST_CHECK( view );
75 Toolkit::GaussianBlurView view2 = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, false);
76 DALI_TEST_CHECK( view2 );
80 // Positive test case for a method
81 int UtcDaliGaussianBlurViewDownCast(void)
83 ToolkitTestApplication application;
84 tet_infoline("UtcDaliGaussianBlurViewDownCast");
86 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
87 BaseHandle handle(view);
89 Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast( handle );
90 DALI_TEST_CHECK( view );
91 DALI_TEST_CHECK( gaussianBlurView );
92 DALI_TEST_CHECK( gaussianBlurView == view );
97 // Positive test case for a method
98 int UtcDaliGaussianBlurViewPropertyNames(void)
100 ToolkitTestApplication application;
101 tet_infoline("UtcDaliGaussianBlurViewPropertyNames");
103 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
104 DALI_TEST_CHECK( view );
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 );
112 // Positive test case for a method
113 int UtcDaliGaussianBlurViewAddRemove(void)
115 ToolkitTestApplication application;
116 tet_infoline("UtcDaliGaussianBlurViewAddRemove");
118 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
119 DALI_TEST_CHECK( view );
121 Actor actor = Actor::New();
122 DALI_TEST_CHECK( !actor.OnStage() );
125 view.SetParentOrigin(ParentOrigin::CENTER);
126 view.SetSize(Stage::GetCurrent().GetSize());
128 Stage::GetCurrent().Add(view);
130 DALI_TEST_CHECK( actor.OnStage() );
134 DALI_TEST_CHECK( !actor.OnStage() );
138 // Positive test case for a method
139 int UtcDaliGaussianBlurActivateDeactivate(void)
141 ToolkitTestApplication application;
142 tet_infoline("UtcDaliGaussianBlurActivateDeactivate");
144 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
145 DALI_TEST_CHECK( view );
147 RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
148 DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
150 view.SetParentOrigin(ParentOrigin::CENTER);
151 view.SetSize(Stage::GetCurrent().GetSize());
152 view.Add(Actor::New());
153 Stage::GetCurrent().Add(view);
156 RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
157 DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
161 RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
162 DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
166 // Positive test case for a method
167 int UtcDaliGaussianBlurViewSetGetBackgroundColor(void)
169 ToolkitTestApplication application;
170 tet_infoline("UtcDaliGaussianBlurViewSetGetBackgroundColor");
172 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
173 DALI_TEST_CHECK( view );
175 view.SetBackgroundColor(Dali::Color::RED);
176 Vector4 color = view.GetBackgroundColor();
177 DALI_TEST_CHECK( color == Dali::Color::RED );
181 // Positive test case for a method
182 int UtcDaliGaussianBlurViewSetGetRenderTarget(void)
184 ToolkitTestApplication application;
185 tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget");
187 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true);
188 DALI_TEST_CHECK( view );
190 view.SetParentOrigin(ParentOrigin::CENTER);
191 view.SetSize(Stage::GetCurrent().GetSize());
192 view.Add(Actor::New());
193 Stage::GetCurrent().Add(view);
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 );