2 * Copyright (c) 2015 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/video-view/video-view.h>
25 using namespace Dali::Toolkit;
29 const char* const TEST_FILE( "test.mp4" );
30 const char* const VOLUME_LEFT( "volumeLeft" );
31 const char* const VOLUME_RIGHT( "volumeRight" );
35 void video_view_startup(void)
37 test_return_value = TET_UNDEF;
40 void video_view_cleanup(void)
42 test_return_value = TET_PASS;
45 // Negative test case for a method
46 int UtcDaliVideoViewUninitialized(void)
48 ToolkitTestApplication application;
49 tet_infoline(" UtcDaliVideoViewUninitialized");
51 Toolkit::VideoView view;
55 // New() must be called to create a VideoView or it wont be valid.
56 Actor a = Actor::New();
58 DALI_TEST_CHECK( false );
60 catch (Dali::DaliException& e)
62 // Tests that a negative test of an assertion succeeds
63 DALI_TEST_PRINT_ASSERT( e );
64 DALI_TEST_CHECK(!view);
69 // Positive test case for a method
70 int UtcDaliVideoViewNew(void)
72 ToolkitTestApplication application;
73 tet_infoline(" UtcDaliVideoViewNew");
75 Toolkit::VideoView view = Toolkit::VideoView::New();
76 DALI_TEST_CHECK( view );
78 Toolkit::VideoView view2 = Toolkit::VideoView::New( "" );
79 DALI_TEST_CHECK( view2 );
83 // Positive test case for a method
84 int UtcDaliVideoViewDownCast(void)
86 ToolkitTestApplication application;
87 tet_infoline(" UtcDaliVideoViewDownCast");
89 Toolkit::VideoView view = Toolkit::VideoView::New();
90 BaseHandle handle(view);
92 Toolkit::VideoView view2 = Toolkit::VideoView::DownCast( handle );
93 DALI_TEST_CHECK( view );
94 DALI_TEST_CHECK( view2 );
95 DALI_TEST_CHECK( view == view2 );
99 // Positive test case for a method
100 int UtcDaliVideoViewProperty1(void)
102 ToolkitTestApplication application;
103 tet_infoline(" UtcDaliVideoViewProperty1");
105 Toolkit::VideoView view = Toolkit::VideoView::New();
106 DALI_TEST_CHECK( view );
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 );
116 // Positive test case for a method
117 int UtcDaliVideoViewProperty1b(void)
119 ToolkitTestApplication application;
120 tet_infoline(" UtcDaliVideoViewProperty1");
122 Toolkit::VideoView view = Toolkit::VideoView::New();
123 DALI_TEST_CHECK( view );
124 Stage stage = Stage::GetCurrent();
129 view.SetProperty( VideoView::Property::VIDEO, Property::Map()
130 .Add("rendererType", "IMAGE")
131 .Add("url", "video.mpg") // Note, videoView doesn't use this url
132 .Add("RENDERING_TARGET", "windowSurfaceTarget" )
134 .Add("height", 100) );
138 Property::Value val = view.GetProperty( VideoView::Property::VIDEO );
139 Property::Map* resultMap = val.GetMap();
141 DALI_TEST_CHECK( resultMap );
142 Property::Value* value = resultMap->Find("url");
143 DALI_TEST_CHECK( value );
144 DALI_TEST_EQUALS( value->Get<std::string>(), "video.mpg", TEST_LOCATION );
146 stage.Remove( view );
151 int UtcDaliVideoViewProperty2(void)
153 ToolkitTestApplication application;
154 tet_infoline(" UtcDaliVideoViewProperty2");
156 Toolkit::VideoView view = Toolkit::VideoView::New();
157 DALI_TEST_CHECK( view );
160 Property::Value val = view.GetProperty( VideoView::Property::LOOPING );
161 DALI_TEST_CHECK( val.Get( looping ) );
162 DALI_TEST_CHECK( !looping );
164 view.SetProperty( VideoView::Property::LOOPING, true );
165 val = view.GetProperty( VideoView::Property::LOOPING );
166 DALI_TEST_CHECK( val.Get( looping ) );
167 DALI_TEST_CHECK( looping );
171 int UtcDaliVideoViewProperty3(void)
173 ToolkitTestApplication application;
174 tet_infoline(" UtcDaliVideoViewProperty3");
176 Toolkit::VideoView view = Toolkit::VideoView::New();
177 DALI_TEST_CHECK( view );
180 Property::Value val = view.GetProperty( VideoView::Property::MUTED );
181 DALI_TEST_CHECK( val.Get( muted ) );
182 DALI_TEST_CHECK( !muted );
184 view.SetProperty( VideoView::Property::MUTED, true );
185 val = view.GetProperty( VideoView::Property::MUTED );
186 DALI_TEST_CHECK( val.Get( muted ) );
187 DALI_TEST_CHECK( muted );
192 int UtcDaliVideoViewProperty4(void)
194 ToolkitTestApplication application;
195 tet_infoline(" UtcDaliVideoViewProperty4");
197 Toolkit::VideoView view = Toolkit::VideoView::New();
198 DALI_TEST_CHECK( view );
204 map.Insert( VOLUME_LEFT, 1.0f );
205 map.Insert( VOLUME_RIGHT, 0.5f );
208 view.SetProperty( VideoView::Property::VOLUME, map );
209 Property::Value val4 = view.GetProperty( VideoView::Property::VOLUME );
210 DALI_TEST_CHECK( val4.Get( map2 ) );
212 Property::Value* volumeLeft = map.Find( VOLUME_LEFT );
213 Property::Value* volumeRight = map.Find( VOLUME_RIGHT );
215 DALI_TEST_CHECK( volumeLeft && volumeLeft->Get( left ) );
216 DALI_TEST_CHECK( volumeRight && volumeRight->Get( right ) );
217 DALI_TEST_CHECK( left == 1.0f );
218 DALI_TEST_CHECK( right == 0.5f );
223 int UtcDaliVideoViewCopyAndAssignment(void)
225 ToolkitTestApplication application;
227 VideoView view = Toolkit::VideoView::New();
228 DALI_TEST_CHECK( view );
230 VideoView copy( view );
231 DALI_TEST_CHECK( view == copy );
234 DALI_TEST_CHECK( !assign );
237 DALI_TEST_CHECK( assign == view );
242 int UtcDaliVideoViewTypeRegistry(void)
244 ToolkitTestApplication application;
246 TypeRegistry typeRegistry = TypeRegistry::Get();
247 DALI_TEST_CHECK( typeRegistry );
249 TypeInfo typeInfo = typeRegistry.GetTypeInfo( "VideoView" );
250 DALI_TEST_CHECK( typeInfo );
252 BaseHandle handle = typeInfo.CreateInstance();
253 DALI_TEST_CHECK( handle );
255 VideoView view = VideoView::DownCast( handle );
256 DALI_TEST_CHECK( view );
261 int UtcDaliVideoViewMethodsForCoverage(void)
263 ToolkitTestApplication application;
265 VideoView videoView = VideoView::New();
266 DALI_TEST_CHECK( videoView );
271 videoView.Forward(10);
272 videoView.Backward(10);
273 VideoView::VideoViewSignalType& signal = videoView.FinishedSignal();
274 DALI_TEST_EQUALS( 0, signal.GetConnectionCount(), TEST_LOCATION );