2 * Copyright (c) 2021 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/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);