2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
24 using namespace Dali::Toolkit;
28 const char* TEST_IMAGE_FILE_NAME = "gallery_image_01.jpg";
31 void utc_gaussian_blur_view_startup(void)
33 test_return_value = TET_UNDEF;
36 void utc_gaussian_blur_view_cleanup(void)
38 test_return_value = TET_PASS;
43 // Negative test case for a method
44 int UtcDaliGaussianBlurViewUninitialized(void)
46 ToolkitTestApplication application;
47 tet_infoline("UtcDaliGaussianBlurViewUninitialized");
49 Toolkit::GaussianBlurView view;
53 // New() must be called to create a GaussianBlurView or it wont be valid.
54 Actor a = Actor::New();
56 DALI_TEST_CHECK( false );
58 catch (Dali::DaliException& e)
60 // Tests that a negative test of an assertion succeeds
61 tet_printf("Assertion %s failed at %s\n", e.mCondition.c_str(), e.mLocation.c_str());
62 DALI_TEST_CHECK(!view);
67 // Positive test case for a method
68 int UtcDaliGaussianBlurViewNew(void)
70 ToolkitTestApplication application;
71 tet_infoline("UtcDaliGaussianBlurViewNew");
73 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
74 DALI_TEST_CHECK( view );
76 Toolkit::GaussianBlurView view2 = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, false);
77 DALI_TEST_CHECK( view2 );
81 // Positive test case for a method
82 int UtcDaliGaussianBlurViewDownCast(void)
84 ToolkitTestApplication application;
85 tet_infoline("UtcDaliGaussianBlurViewDownCast");
87 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
88 BaseHandle handle(view);
90 Toolkit::GaussianBlurView gaussianBlurView = Toolkit::GaussianBlurView::DownCast( handle );
91 DALI_TEST_CHECK( view );
92 DALI_TEST_CHECK( gaussianBlurView );
93 DALI_TEST_CHECK( gaussianBlurView == view );
98 // Positive test case for a method
99 int UtcDaliGaussianBlurViewPropertyNames(void)
101 ToolkitTestApplication application;
102 tet_infoline("UtcDaliGaussianBlurViewPropertyNames");
104 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
105 DALI_TEST_CHECK( view );
107 // Check the names, this names are used in the shader code,
108 // if they change in the shader code, then it has to be updated here.
109 DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("GaussianBlurStrengthPropertyName"), TEST_LOCATION );
113 // Positive test case for a method
114 int UtcDaliGaussianBlurViewAddRemove(void)
116 ToolkitTestApplication application;
117 tet_infoline("UtcDaliGaussianBlurViewAddRemove");
119 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
120 DALI_TEST_CHECK( view );
122 Actor actor = Actor::New();
123 DALI_TEST_CHECK( !actor.OnStage() );
126 view.SetParentOrigin(ParentOrigin::CENTER);
127 view.SetSize(Stage::GetCurrent().GetSize());
129 Stage::GetCurrent().Add(view);
131 DALI_TEST_CHECK( actor.OnStage() );
135 DALI_TEST_CHECK( !actor.OnStage() );
139 // Positive test case for a method
140 int UtcDaliGaussianBlurActivateDeactivate(void)
142 ToolkitTestApplication application;
143 tet_infoline("UtcDaliGaussianBlurActivateDeactivate");
145 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
146 DALI_TEST_CHECK( view );
148 RenderTaskList taskList = Stage::GetCurrent().GetRenderTaskList();
149 DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
151 view.SetParentOrigin(ParentOrigin::CENTER);
152 view.SetSize(Stage::GetCurrent().GetSize());
153 view.Add(Actor::New());
154 Stage::GetCurrent().Add(view);
157 RenderTaskList taskList2 = Stage::GetCurrent().GetRenderTaskList();
158 DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
162 RenderTaskList taskList3 = Stage::GetCurrent().GetRenderTaskList();
163 DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
167 // Positive test case for a method
168 int UtcDaliGaussianBlurViewSetGetBackgroundColor(void)
170 ToolkitTestApplication application;
171 tet_infoline("UtcDaliGaussianBlurViewSetGetBackgroundColor");
173 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New();
174 DALI_TEST_CHECK( view );
176 view.SetBackgroundColor(Dali::Color::RED);
177 Vector4 color = view.GetBackgroundColor();
178 DALI_TEST_CHECK( color == Dali::Color::RED );
182 // Positive test case for a method
183 int UtcDaliGaussianBlurViewSetGetRenderTarget(void)
185 ToolkitTestApplication application;
186 tet_infoline("UtcDaliGaussianBlurViewSetGetRenderTarget");
188 Toolkit::GaussianBlurView view = Toolkit::GaussianBlurView::New(5, 1.5f, Pixel::RGB888, 0.5f, 0.5f, true);
189 DALI_TEST_CHECK( view );
191 view.SetParentOrigin(ParentOrigin::CENTER);
192 view.SetSize(Stage::GetCurrent().GetSize());
193 view.Add(Actor::New());
194 Stage::GetCurrent().Add(view);
197 FrameBufferImage renderTarget = FrameBufferImage::New( 480.0f, 800.0f, Pixel::RGB888 );
198 view.SetUserImageAndOutputRenderTarget(Image::New(TEST_IMAGE_FILE_NAME), renderTarget);
199 DALI_TEST_CHECK( view.GetBlurredRenderTarget() == renderTarget );