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/public-api/controls/camera-view/camera-view.h>
25 using namespace Dali::Toolkit;
27 // Negative test case for a method
28 int UtcDaliCameraViewUninitialized(void)
30 ToolkitTestApplication application;
31 tet_infoline(" UtcDaliCameraViewUninitialized");
33 Toolkit::CameraView view;
37 // New() must be called to create a CameraView or it wont be valid.
38 Actor a = Actor::New();
40 DALI_TEST_CHECK(false);
42 catch(Dali::DaliException& e)
44 // Tests that a negative test of an assertion succeeds
45 DALI_TEST_PRINT_ASSERT(e);
46 DALI_TEST_CHECK(!view);
51 // Positive test case for a method
52 int UtcDaliCameraViewNew(void)
54 ToolkitTestApplication application;
55 tet_infoline(" UtcDaliCameraViewNew");
57 Toolkit::CameraView view = Toolkit::CameraView::New(dummy);
58 DALI_TEST_CHECK(view);
62 // Positive test case for a method
63 int UtcDaliCameraViewDownCast(void)
65 ToolkitTestApplication application;
66 tet_infoline(" UtcDaliCameraViewDownCast");
69 Toolkit::CameraView view = Toolkit::CameraView::New(dummy);
70 BaseHandle handle(view);
72 Toolkit::CameraView view2 = Toolkit::CameraView::DownCast(handle);
73 DALI_TEST_CHECK(view);
74 DALI_TEST_CHECK(view2);
75 DALI_TEST_CHECK(view == view2);
79 int UtcDaliCameraViewCopyAndAssignment(void)
81 ToolkitTestApplication application;
82 tet_infoline("UtcDaliCameraViewCopyAndAssignment");
85 CameraView view = Toolkit::CameraView::New(dummy);
86 DALI_TEST_CHECK(view);
88 CameraView copy(view);
89 DALI_TEST_CHECK(view == copy);
92 DALI_TEST_CHECK(!assign);
95 DALI_TEST_CHECK(assign == view);
100 int UtcDaliCameraViewMoveAssignment(void)
102 ToolkitTestApplication application;
103 tet_infoline("UtcDaliCameraViewMoveAssignment");
106 CameraView view = Toolkit::CameraView::New(dummy);
107 DALI_TEST_EQUALS(1, view.GetBaseObject().ReferenceCount(), TEST_LOCATION);
110 moved = std::move(view);
111 DALI_TEST_CHECK(moved);
112 DALI_TEST_EQUALS(1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION);
113 DALI_TEST_CHECK(!view);
118 int UtcDaliCameraViewTypeRegistry(void)
120 ToolkitTestApplication application;
121 tet_infoline("UtcDaliCameraViewTypeRegistry");
123 TypeRegistry typeRegistry = TypeRegistry::Get();
124 DALI_TEST_CHECK(typeRegistry);
126 TypeInfo typeInfo = typeRegistry.GetTypeInfo("CameraView");
127 DALI_TEST_CHECK(typeInfo);
129 BaseHandle handle = typeInfo.CreateInstance();
130 DALI_TEST_CHECK(handle);
132 CameraView view = CameraView::DownCast(handle);
133 DALI_TEST_CHECK(view);
138 int UtcDaliCameraViewWindowDisplayType(void)
140 ToolkitTestApplication application;
141 tet_infoline("UtcDaliCameraViewWindowDisplayType");
144 CameraView cameraView = CameraView::New(dummy, Dali::Toolkit::CameraView::DisplayType::WINDOW);
145 DALI_TEST_CHECK(cameraView);
147 application.GetScene().Add(cameraView);
152 application.SendNotification();
153 application.Render();
154 DALI_TEST_CHECK(true);
156 catch(Dali::DaliException& e)
158 DALI_TEST_PRINT_ASSERT(e);
159 DALI_TEST_CHECK(false);
165 int UtcDaliCameraViewImageDisplayType(void)
167 ToolkitTestApplication application;
168 tet_infoline("UtcDaliCameraViewImageDisplayType");
171 CameraView cameraView = CameraView::New(dummy, Dali::Toolkit::CameraView::DisplayType::IMAGE);
172 DALI_TEST_CHECK(cameraView);
174 application.GetScene().Add(cameraView);
179 application.SendNotification();
180 application.Render();
181 DALI_TEST_CHECK(true);
183 catch(Dali::DaliException& e)
185 DALI_TEST_PRINT_ASSERT(e);
186 DALI_TEST_CHECK(false);
192 int UtcDaliCameraViewCoverUpdateDisplayArea1(void)
194 ToolkitTestApplication application;
195 tet_infoline("UtcDaliCameraViewUpdateDisplayArea1");
198 CameraView view = CameraView::New(dummy, Dali::Toolkit::CameraView::DisplayType::WINDOW);
199 DALI_TEST_CHECK(view);
201 application.GetScene().Add(view);
203 application.SendNotification();
204 application.Render();
206 Vector3 vector(100.0f, 100.0f, 0.0f);
207 view.SetProperty(Actor::Property::SIZE, vector);
209 application.SendNotification();
210 application.Render();
212 // Check the size in the new frame
213 DALI_TEST_CHECK(vector == view.GetCurrentProperty<Vector3>(Actor::Property::SIZE));
215 application.GetScene().Remove(view);
220 int UtcDaliCameraViewCoverUpdateDisplayArea2(void)
222 ToolkitTestApplication application;
223 tet_infoline("UtcDaliCameraViewUpdateDisplayArea2");
226 CameraView view = CameraView::New(dummy, Dali::Toolkit::CameraView::DisplayType::WINDOW);
227 DALI_TEST_CHECK(view);
229 application.GetScene().Add(view);
231 application.SendNotification();
232 application.Render();
234 Vector3 vector(100.0f, 100.0f, 0.0f);
235 view.SetProperty(Actor::Property::SIZE, vector);
237 application.SendNotification();
238 application.Render();
240 // Check the size in the new frame
241 DALI_TEST_CHECK(vector == view.GetCurrentProperty<Vector3>(Actor::Property::SIZE));
243 application.GetScene().Remove(view);