(Vector) Drop frames when the animation is delayed
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-CanvasView.cpp
1 /*
2  * Copyright (c) 2021 Samsung Electronics Co., Ltd.
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 #include <iostream>
19 #include <stdlib.h>
20 #include <dali-toolkit-test-suite-utils.h>
21 #include <dali-toolkit/dali-toolkit.h>
22 #include <test-application.h>
23 #include <dali-toolkit/devel-api/controls/canvas-view/canvas-view.h>
24 #include <dali/devel-api/adaptor-framework/canvas-renderer-shape.h>
25
26
27 using namespace Dali;
28 using namespace Toolkit;
29
30 namespace
31 {
32
33
34 } // namespace
35
36 void utc_dali_toolkit_canvasview_startup(void)
37 {
38   test_return_value = TET_UNDEF;
39 }
40
41 void utc_dali_toolkit_canvasview_cleanup(void)
42 {
43   test_return_value = TET_PASS;
44 }
45
46 int UtcDaliCanvasViewConstructorP(void)
47 {
48   ToolkitTestApplication application;
49   CanvasView canvasView;
50
51   DALI_TEST_CHECK( !canvasView );
52   END_TEST;
53 }
54
55 int UtcDaliCanvasViewMoveAssignment(void)
56 {
57   ToolkitTestApplication application;
58   CanvasView canvasView = CanvasView::New(Vector2(100, 100));
59
60   CanvasView moved = std::move( canvasView );
61   DALI_TEST_CHECK( moved );
62   DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
63   DALI_TEST_CHECK( !canvasView );
64
65   END_TEST;
66 }
67
68 int UtcDaliCanvasViewAssignmentConstructorP(void)
69 {
70   ToolkitTestApplication application;
71   CanvasView canvasView = CanvasView::New(Vector2(100, 100));
72
73   CanvasView copy( canvasView );
74   DALI_TEST_CHECK( copy );
75
76   DALI_TEST_CHECK( canvasView == copy );
77   END_TEST;
78 }
79
80 int UtcDaliCanvasViewAssignmentOperatorP(void)
81 {
82   ToolkitTestApplication application;
83   const CanvasView canvasView = CanvasView::New(Vector2(100, 100));
84
85   CanvasView assign;
86   DALI_TEST_CHECK( !assign );
87
88   assign = canvasView ;
89   DALI_TEST_CHECK( assign == canvasView);
90   END_TEST;
91 }
92
93 int UtcDaliCanvasViewNewP(void)
94 {
95   ToolkitTestApplication application;
96   CanvasView canvasView = CanvasView::New(Vector2(100, 100));
97
98   DALI_TEST_CHECK( canvasView );
99   END_TEST;
100 }
101
102 int UtcDaliCanvasViewDownCastP(void)
103 {
104   ToolkitTestApplication application;
105   CanvasView canvasView = CanvasView::New(Vector2(100,100));
106
107   BaseHandle object(canvasView);
108
109   CanvasView canvasView2 = CanvasView::DownCast( object );
110   DALI_TEST_CHECK(canvasView2);
111
112   CanvasView canvasView3 = DownCast< CanvasView >(object);
113   DALI_TEST_CHECK(canvasView3);
114   END_TEST;
115 }
116
117 int UtcDaliCanvasViewDownCastN(void)
118 {
119   ToolkitTestApplication application;
120   BaseHandle unInitializedObject;
121
122   CanvasView canvasView1 = CanvasView::DownCast( unInitializedObject );
123   DALI_TEST_CHECK( !canvasView1 );
124
125   CanvasView canvasView2 = DownCast< CanvasView >( unInitializedObject );
126   DALI_TEST_CHECK( !canvasView2 );
127   END_TEST;
128 }
129
130 int UtcDaliCanvasViewAddP(void)
131 {
132   ToolkitTestApplication application;
133   CanvasView canvasView = CanvasView::New(Vector2(100,100));
134   DALI_TEST_CHECK( canvasView );
135
136   Dali::CanvasRenderer::Shape shape = Dali::CanvasRenderer::Shape::New();
137
138   shape.AddRect(Rect<float>(10, 10, 10, 10), Vector2(0, 0));
139
140   canvasView.AddDrawable(shape);
141
142   END_TEST;
143 }
144
145 int UtcDaliCanvasViewAddN(void)
146 {
147   ToolkitTestApplication application;
148   CanvasView canvasView = CanvasView::New(Vector2(100,100));
149   DALI_TEST_CHECK( canvasView );
150
151   Dali::CanvasRenderer::Shape shape;
152
153   canvasView.AddDrawable(shape);
154
155   END_TEST;
156 }
157
158 int UtcDaliCanvasViewChangeSizeP(void)
159 {
160   ToolkitTestApplication application;
161
162   CanvasView canvasView = CanvasView::New(Vector2(100,100));
163   DALI_TEST_CHECK( canvasView );
164
165   application.GetScene().Add(canvasView);
166   application.SendNotification();
167   application.Render();
168
169   canvasView.SetProperty(Actor::Property::SIZE, Vector2(300, 300));
170
171   application.SendNotification();
172   application.Render();
173
174   Property::Value pv = canvasView.GetProperty(Actor::Property::SIZE);
175   Vector3 v3;
176   pv.Get(v3);
177   DALI_TEST_EQUALS( v3, Vector3(300, 300, 0), TEST_LOCATION );
178
179   END_TEST;
180 }
181
182 int UtcDaliCanvasViewSizeN(void)
183 {
184   ToolkitTestApplication application;
185
186   CanvasView canvasView = CanvasView::New(Vector2(100,100));
187   DALI_TEST_CHECK( canvasView );
188
189   application.GetScene().Add(canvasView);
190   application.SendNotification();
191   application.Render();
192
193   canvasView.SetProperty(Actor::Property::SIZE, Vector2(-999, -999));
194
195   application.SendNotification();
196   application.Render();
197
198   Property::Value pv = canvasView.GetProperty(Actor::Property::SIZE);
199   Vector3 v3;
200   pv.Get(v3);
201   DALI_TEST_EQUALS( v3, Vector3(-999, -999, 0), TEST_LOCATION );
202
203   END_TEST;
204 }