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>
22 #include <dali-toolkit/devel-api/controls/bloom-view/bloom-view.h>
26 using namespace Dali::Toolkit;
29 void bloom_view_startup(void)
31 test_return_value = TET_UNDEF;
34 void bloom_view_cleanup(void)
36 test_return_value = TET_PASS;
39 // Negative test case for a method
40 int UtcDaliBloomViewUninitialized(void)
42 ToolkitTestApplication application;
43 tet_infoline(" UtcDaliBloomViewUninitialized");
45 Toolkit::BloomView view;
49 // New() must be called to create a BloomView or it wont be valid.
50 Actor a = Actor::New();
52 DALI_TEST_CHECK( false );
54 catch (Dali::DaliException& e)
56 // Tests that a negative test of an assertion succeeds
57 DALI_TEST_PRINT_ASSERT( e );
58 DALI_TEST_CHECK(!view);
63 // Positive test case for a method
64 int UtcDaliBloomViewNew(void)
66 ToolkitTestApplication application;
67 tet_infoline(" UtcDaliBloomViewNew");
69 Toolkit::BloomView view = Toolkit::BloomView::New();
70 DALI_TEST_CHECK( view );
72 Toolkit::BloomView view2 = Toolkit::BloomView::New(10, 1.0f, Pixel::RGB888, 0.5f, 0.5f);
73 DALI_TEST_CHECK( view2 );
77 // Positive test case for a method
78 int UtcDaliBloomViewDownCast(void)
80 ToolkitTestApplication application;
81 tet_infoline(" UtcDaliBloomViewDownCast");
83 Toolkit::BloomView view = Toolkit::BloomView::New();
84 BaseHandle handle(view);
86 Toolkit::BloomView bloomView = Toolkit::BloomView::DownCast( handle );
87 DALI_TEST_CHECK( view );
88 DALI_TEST_CHECK( bloomView );
89 DALI_TEST_CHECK( bloomView == view );
94 // Positive test case for a method
95 int UtcDaliBloomViewPropertyNames(void)
97 ToolkitTestApplication application;
98 tet_infoline(" UtcDaliBloomViewPropertyNames");
100 Toolkit::BloomView view = Toolkit::BloomView::New();
101 DALI_TEST_CHECK( view );
103 // Check the names, this names are used in the shader code,
104 // if they change in the shader code, then it has to be updated here.
105 DALI_TEST_EQUALS( view.GetBloomThresholdPropertyIndex(), view.GetPropertyIndex("uBloomThreshold"), TEST_LOCATION );
106 DALI_TEST_EQUALS( view.GetBlurStrengthPropertyIndex(), view.GetPropertyIndex("BlurStrengthProperty"), TEST_LOCATION );
107 DALI_TEST_EQUALS( view.GetBloomIntensityPropertyIndex(), view.GetPropertyIndex("uBloomIntensity"), TEST_LOCATION );
108 DALI_TEST_EQUALS( view.GetBloomSaturationPropertyIndex(), view.GetPropertyIndex("uBloomSaturation"), TEST_LOCATION );
109 DALI_TEST_EQUALS( view.GetImageIntensityPropertyIndex(), view.GetPropertyIndex("uImageIntensity"), TEST_LOCATION );
110 DALI_TEST_EQUALS( view.GetImageSaturationPropertyIndex(), view.GetPropertyIndex("uImageSaturation"), TEST_LOCATION );
114 // Positive test case for a method
115 int UtcDaliBloomViewAddRemove(void)
117 ToolkitTestApplication application;
118 tet_infoline(" UtcDaliBloomViewAddRemove");
120 Toolkit::BloomView view = Toolkit::BloomView::New();
121 DALI_TEST_CHECK( view );
123 Actor actor = Actor::New();
124 DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
127 view.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
128 view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize());
130 application.GetScene().Add(view);
132 DALI_TEST_CHECK( actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
136 DALI_TEST_CHECK( !actor.GetProperty< bool >( Actor::Property::CONNECTED_TO_SCENE ) );
140 // Positive test case for a method
141 int UtcDaliBloomActivateDeactivate(void)
143 ToolkitTestApplication application;
144 tet_infoline(" UtcDaliBloomActivateDeactivate");
146 Toolkit::BloomView view = Toolkit::BloomView::New();
147 DALI_TEST_CHECK( view );
149 RenderTaskList taskList = application.GetScene().GetRenderTaskList();
150 DALI_TEST_CHECK( 1u == taskList.GetTaskCount() );
152 view.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::CENTER);
153 view.SetProperty( Actor::Property::SIZE, application.GetScene().GetSize());
154 view.Add(Actor::New());
155 application.GetScene().Add(view);
158 RenderTaskList taskList2 = application.GetScene().GetRenderTaskList();
159 DALI_TEST_CHECK( 1u != taskList2.GetTaskCount() );
163 RenderTaskList taskList3 = application.GetScene().GetRenderTaskList();
164 DALI_TEST_CHECK( 1u == taskList3.GetTaskCount() );
168 int UtcDaliBloomCopyAndAssignment(void)
170 ToolkitTestApplication application;
172 BloomView view = Toolkit::BloomView::New();
173 DALI_TEST_CHECK( view );
175 BloomView copy( view );
176 DALI_TEST_CHECK( view == copy );
179 DALI_TEST_CHECK( ! assign );
182 DALI_TEST_CHECK( assign == view );
187 int UtcDaliBloomTypeRegistry(void)
189 ToolkitTestApplication application;
191 TypeRegistry typeRegistry = TypeRegistry::Get();
192 DALI_TEST_CHECK( typeRegistry );
194 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "BloomView" );
195 DALI_TEST_CHECK( typeInfo );
197 BaseHandle handle = typeInfo.CreateInstance();
198 DALI_TEST_CHECK( handle );
200 BloomView view = BloomView::DownCast( handle );
201 DALI_TEST_CHECK( view );
206 int UtcDaliBloomOnSizeSet(void)
208 ToolkitTestApplication application;
210 BloomView view = Toolkit::BloomView::New();
212 application.GetScene().Add( view );
214 application.SendNotification();
215 application.Render();
217 Vector3 size( 200.0f, 300.0f, 0.0f );
218 view.SetProperty( Actor::Property::SIZE, size );
220 application.SendNotification();
221 application.Render();
223 DALI_TEST_EQUALS( view.GetCurrentProperty< Vector3 >( Actor::Property::SIZE ), size, TEST_LOCATION );