2 * Copyright (c) 2022 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.
18 #include <dali-toolkit-test-suite-utils.h>
19 #include <dali-toolkit/dali-toolkit.h>
20 #include <dali-toolkit/devel-api/controls/bloom-view/bloom-view.h>
25 using namespace Dali::Toolkit;
27 void bloom_view_startup(void)
29 test_return_value = TET_UNDEF;
32 void bloom_view_cleanup(void)
34 test_return_value = TET_PASS;
37 // Negative test case for a method
38 int UtcDaliBloomViewUninitialized(void)
40 ToolkitTestApplication application;
41 tet_infoline(" UtcDaliBloomViewUninitialized");
43 Toolkit::BloomView view;
47 // New() must be called to create a BloomView or it wont be valid.
48 Actor a = Actor::New();
50 DALI_TEST_CHECK(false);
52 catch(Dali::DaliException& e)
54 // Tests that a negative test of an assertion succeeds
55 DALI_TEST_PRINT_ASSERT(e);
56 DALI_TEST_CHECK(!view);
61 // Positive test case for a method
62 int UtcDaliBloomViewNew(void)
64 ToolkitTestApplication application;
65 tet_infoline(" UtcDaliBloomViewNew");
67 Toolkit::BloomView view = Toolkit::BloomView::New();
68 DALI_TEST_CHECK(view);
70 Toolkit::BloomView view2 = Toolkit::BloomView::New(10, 1.0f, Pixel::RGB888, 0.5f, 0.5f);
71 DALI_TEST_CHECK(view2);
75 // Positive test case for a method
76 int UtcDaliBloomViewDownCast(void)
78 ToolkitTestApplication application;
79 tet_infoline(" UtcDaliBloomViewDownCast");
81 Toolkit::BloomView view = Toolkit::BloomView::New();
82 BaseHandle handle(view);
84 Toolkit::BloomView bloomView = Toolkit::BloomView::DownCast(handle);
85 DALI_TEST_CHECK(view);
86 DALI_TEST_CHECK(bloomView);
87 DALI_TEST_CHECK(bloomView == view);
91 // Positive test case for a method
92 int UtcDaliBloomViewPropertyNames(void)
94 ToolkitTestApplication application;
95 tet_infoline(" UtcDaliBloomViewPropertyNames");
97 Toolkit::BloomView view = Toolkit::BloomView::New();
98 DALI_TEST_CHECK(view);
100 // Check the names, this names are used in the shader code,
101 // if they change in the shader code, then it has to be updated here.
102 DALI_TEST_EQUALS(view.GetBloomThresholdPropertyIndex(), view.GetPropertyIndex("uBloomThreshold"), TEST_LOCATION);
103 DALI_TEST_EQUALS(view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("BlurStrengthProperty"), TEST_LOCATION);
104 DALI_TEST_EQUALS(view.GetBloomIntensityPropertyIndex(), view.GetPropertyIndex("uBloomIntensity"), TEST_LOCATION);
105 DALI_TEST_EQUALS(view.GetBloomSaturationPropertyIndex(), view.GetPropertyIndex("uBloomSaturation"), TEST_LOCATION);
106 DALI_TEST_EQUALS(view.GetImageIntensityPropertyIndex(), view.GetPropertyIndex("uImageIntensity"), TEST_LOCATION);
107 DALI_TEST_EQUALS(view.GetImageSaturationPropertyIndex(), view.GetPropertyIndex("uImageSaturation"), TEST_LOCATION);
111 // Positive test case for a method
112 int UtcDaliBloomViewAddRemove(void)
114 ToolkitTestApplication application;
115 tet_infoline(" UtcDaliBloomViewAddRemove");
117 Toolkit::BloomView view = Toolkit::BloomView::New();
118 DALI_TEST_CHECK(view);
120 Actor actor = Actor::New();
121 DALI_TEST_CHECK(!actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE));
123 view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
124 view.SetProperty(Actor::Property::SIZE, application.GetScene().GetSize());
126 application.GetScene().Add(view);
128 DALI_TEST_CHECK(actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE));
132 DALI_TEST_CHECK(!actor.GetProperty<bool>(Actor::Property::CONNECTED_TO_SCENE));
136 // Positive test case for a method
137 int UtcDaliBloomActivateDeactivate(void)
139 ToolkitTestApplication application;
140 tet_infoline(" UtcDaliBloomActivateDeactivate");
142 Toolkit::BloomView view = Toolkit::BloomView::New();
143 DALI_TEST_CHECK(view);
145 RenderTaskList taskList = application.GetScene().GetRenderTaskList();
146 DALI_TEST_CHECK(1u == taskList.GetTaskCount());
148 view.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER);
149 view.SetProperty(Actor::Property::SIZE, application.GetScene().GetSize());
150 view.Add(Actor::New());
151 application.GetScene().Add(view);
154 RenderTaskList taskList2 = application.GetScene().GetRenderTaskList();
155 DALI_TEST_CHECK(1u != taskList2.GetTaskCount());
159 RenderTaskList taskList3 = application.GetScene().GetRenderTaskList();
160 DALI_TEST_CHECK(1u == taskList3.GetTaskCount());
164 int UtcDaliBloomCopyAndAssignment(void)
166 ToolkitTestApplication application;
168 BloomView view = Toolkit::BloomView::New();
169 DALI_TEST_CHECK(view);
171 BloomView copy(view);
172 DALI_TEST_CHECK(view == copy);
175 DALI_TEST_CHECK(!assign);
178 DALI_TEST_CHECK(assign == view);
183 int UtcDaliBloomTypeRegistry(void)
185 ToolkitTestApplication application;
187 TypeRegistry typeRegistry = TypeRegistry::Get();
188 DALI_TEST_CHECK(typeRegistry);
190 TypeInfo typeInfo = typeRegistry.GetTypeInfo("BloomView");
191 DALI_TEST_CHECK(typeInfo);
193 BaseHandle handle = typeInfo.CreateInstance();
194 DALI_TEST_CHECK(handle);
196 BloomView view = BloomView::DownCast(handle);
197 DALI_TEST_CHECK(view);
202 int UtcDaliBloomOnSizeSet(void)
204 ToolkitTestApplication application;
206 BloomView view = Toolkit::BloomView::New();
208 application.GetScene().Add(view);
210 application.SendNotification();
211 application.Render();
213 Vector3 size(200.0f, 300.0f, 0.0f);
214 view.SetProperty(Actor::Property::SIZE, size);
216 application.SendNotification();
217 application.Render();
219 DALI_TEST_EQUALS(view.GetCurrentProperty<Vector3>(Actor::Property::SIZE), size, TEST_LOCATION);