(Touch) Updated programming guide, Automated Tests & KeyboardFocusManager to use...
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-VideoView.cpp
1 /*
2  * Copyright (c) 2015 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 <dali-toolkit/public-api/controls/video-view/video-view.h>
23
24 using namespace Dali;
25 using namespace Dali::Toolkit;
26
27 namespace
28 {
29 const char* const TEST_FILE( "test.mp4" );
30 const char* const VOLUME_LEFT( "volumeLeft" );
31 const char* const VOLUME_RIGHT( "volumeRight" );
32
33 }
34
35 void video_view_startup(void)
36 {
37   test_return_value = TET_UNDEF;
38 }
39
40 void video_view_cleanup(void)
41 {
42   test_return_value = TET_PASS;
43 }
44
45 // Negative test case for a method
46 int UtcDaliVideoViewUninitialized(void)
47 {
48   ToolkitTestApplication application;
49   tet_infoline(" UtcDaliVideoViewUninitialized");
50
51   Toolkit::VideoView view;
52
53   try
54   {
55     // New() must be called to create a VideoView or it wont be valid.
56     Actor a = Actor::New();
57     view.Add( a );
58     DALI_TEST_CHECK( false );
59   }
60   catch (Dali::DaliException& e)
61   {
62     // Tests that a negative test of an assertion succeeds
63     DALI_TEST_PRINT_ASSERT( e );
64     DALI_TEST_CHECK(!view);
65   }
66   END_TEST;
67 }
68
69 // Positive test case for a method
70 int UtcDaliVideoViewNew(void)
71 {
72   ToolkitTestApplication application;
73   tet_infoline(" UtcDaliVideoViewNew");
74
75   Toolkit::VideoView view = Toolkit::VideoView::New();
76   DALI_TEST_CHECK( view );
77
78   Toolkit::VideoView view2 = Toolkit::VideoView::New( "" );
79   DALI_TEST_CHECK( view2 );
80   END_TEST;
81 }
82
83 // Positive test case for a method
84 int UtcDaliVideoViewDownCast(void)
85 {
86   ToolkitTestApplication application;
87   tet_infoline(" UtcDaliVideoViewDownCast");
88
89   Toolkit::VideoView view = Toolkit::VideoView::New();
90   BaseHandle handle(view);
91
92   Toolkit::VideoView view2 = Toolkit::VideoView::DownCast( handle );
93   DALI_TEST_CHECK( view );
94   DALI_TEST_CHECK( view2 );
95   DALI_TEST_CHECK( view == view2 );
96   END_TEST;
97 }
98
99 // Positive test case for a method
100 int UtcDaliVideoViewProperty1(void)
101 {
102   ToolkitTestApplication application;
103   tet_infoline(" UtcDaliVideoViewProperty1");
104
105   Toolkit::VideoView view = Toolkit::VideoView::New();
106   DALI_TEST_CHECK( view );
107
108   std::string file;
109   view.SetProperty( VideoView::Property::VIDEO, TEST_FILE );
110   Property::Value val = view.GetProperty( VideoView::Property::VIDEO );
111   DALI_TEST_CHECK( val.Get( file ) );
112   DALI_TEST_CHECK( file == TEST_FILE );
113   END_TEST;
114 }
115
116 int UtcDaliVideoViewProperty2(void)
117 {
118   ToolkitTestApplication application;
119   tet_infoline(" UtcDaliVideoViewProperty2");
120
121   Toolkit::VideoView view = Toolkit::VideoView::New();
122   DALI_TEST_CHECK( view );
123
124   bool looping;
125   Property::Value val = view.GetProperty( VideoView::Property::LOOPING );
126   DALI_TEST_CHECK( val.Get( looping ) );
127   DALI_TEST_CHECK( !looping );
128
129   view.SetProperty( VideoView::Property::LOOPING, true );
130   val = view.GetProperty( VideoView::Property::LOOPING );
131   DALI_TEST_CHECK( val.Get( looping ) );
132   DALI_TEST_CHECK( looping );
133   END_TEST;
134 }
135
136 int UtcDaliVideoViewProperty3(void)
137 {
138   ToolkitTestApplication application;
139   tet_infoline(" UtcDaliVideoViewProperty3");
140
141   Toolkit::VideoView view = Toolkit::VideoView::New();
142   DALI_TEST_CHECK( view );
143
144   bool muted;
145   Property::Value val = view.GetProperty( VideoView::Property::MUTED );
146   DALI_TEST_CHECK( val.Get( muted ) );
147   DALI_TEST_CHECK( !muted );
148
149   view.SetProperty( VideoView::Property::MUTED, true );
150   val = view.GetProperty( VideoView::Property::MUTED );
151   DALI_TEST_CHECK( val.Get( muted ) );
152   DALI_TEST_CHECK( muted );
153   END_TEST;
154 }
155
156 int UtcDaliVideoViewProperty4(void)
157 {
158   ToolkitTestApplication application;
159   tet_infoline(" UtcDaliVideoViewProperty4");
160
161   Toolkit::VideoView view = Toolkit::VideoView::New();
162   DALI_TEST_CHECK( view );
163
164   float left, right;
165   left = right = 0.f;
166
167   Property::Map map;
168   map.Insert( VOLUME_LEFT, 1.0f );
169   map.Insert( VOLUME_RIGHT, 0.5f );
170
171   Property::Map map2;
172   view.SetProperty( VideoView::Property::VOLUME, map );
173   Property::Value val4 = view.GetProperty( VideoView::Property::VOLUME );
174   DALI_TEST_CHECK( val4.Get( map2 ) );
175
176   Property::Value* volumeLeft = map.Find( VOLUME_LEFT );
177   Property::Value* volumeRight = map.Find( VOLUME_RIGHT );
178
179   DALI_TEST_CHECK( volumeLeft && volumeLeft->Get( left ) );
180   DALI_TEST_CHECK( volumeRight && volumeRight->Get( right ) );
181   DALI_TEST_CHECK( left == 1.0f );
182   DALI_TEST_CHECK( right == 0.5f );
183
184   END_TEST;
185 }
186
187 int UtcDaliVideoViewCopyAndAssignment(void)
188 {
189   ToolkitTestApplication application;
190
191   VideoView view = Toolkit::VideoView::New();
192   DALI_TEST_CHECK( view );
193
194   VideoView copy( view );
195   DALI_TEST_CHECK( view == copy );
196
197   VideoView assign;
198   DALI_TEST_CHECK( !assign );
199
200   assign = copy;
201   DALI_TEST_CHECK( assign == view );
202
203   END_TEST;
204 }
205
206 int UtcDaliVideoViewTypeRegistry(void)
207 {
208   ToolkitTestApplication application;
209
210   TypeRegistry typeRegistry = TypeRegistry::Get();
211   DALI_TEST_CHECK( typeRegistry );
212
213   TypeInfo typeInfo = typeRegistry.GetTypeInfo( "VideoView" );
214   DALI_TEST_CHECK( typeInfo );
215
216   BaseHandle handle = typeInfo.CreateInstance();
217   DALI_TEST_CHECK( handle );
218
219   VideoView view = VideoView::DownCast( handle );
220   DALI_TEST_CHECK( view );
221
222   END_TEST;
223 }