2 * Copyright (c) 2016 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.
22 #include <dali-toolkit-test-suite-utils.h>
23 #include <dali-toolkit/dali-toolkit.h>
24 #include <toolkit-text-utils.h>
25 #include <dali-toolkit/devel-api/visual-factory/visual-factory.h>
26 #include <dummy-visual.h>
27 #include <../dali-toolkit/dali-toolkit-test-utils/dummy-control.h>
30 using namespace Toolkit;
32 int UtcDaliVisualAction(void)
34 ToolkitTestApplication application;
35 tet_infoline( "Register an ImageVisual and and perform an Action on Visual directly" );
36 Vector2 controlSize( 20.f, 30.f );
39 Property::Map settings;
40 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
42 DummyControl dummyControl = DummyControl::New( true );
43 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
45 tet_infoline( "Register visual and stage control" );
47 Toolkit::Visual::Base visualBaseHandle = Toolkit::Visual::Base( dummyVisualPtr.Get() );
48 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visualBaseHandle );
49 dummyControl.SetSize(200.f, 200.f);
50 Stage::GetCurrent().Add( dummyControl );
52 application.SendNotification();
55 tet_infoline( "Check action counter is 0 before DoAction" );
56 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
58 tet_infoline( "Perform TEST_ACTION action on Visual. Should increase the action counter" );
60 Property::Map attributes;
61 Toolkit::Internal::Visual::Base& internalVisualBase = GetImplementation( visualBaseHandle );
62 internalVisualBase.DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
63 application.SendNotification();
64 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 1, TEST_LOCATION );
69 int UtcDaliVisualActionNotImplemented(void)
71 ToolkitTestApplication application;
72 tet_infoline( "Register an ImageVisual and and perform an Action on a Visual which does not support any Actions" );
73 Vector2 controlSize( 20.f, 30.f );
76 Property::Map settings;
77 Toolkit::Internal::DummyVisualPtr dummyVisualPtr = Toolkit::Internal::DummyVisual::New( settings );
79 DummyControl dummyControl = DummyControl::New( true );
80 Impl::DummyControl& dummyImpl = static_cast<Impl::DummyControl&>(dummyControl.GetImplementation());
82 tet_infoline( "Register visual and stage control" );
84 VisualFactory factory = VisualFactory::Get();
85 Property::Map propertyMap;
86 propertyMap.Insert(Visual::Property::TYPE, Visual::COLOR);
87 propertyMap.Insert(ColorVisual::Property::MIX_COLOR, Color::BLUE);
88 Visual::Base visual = factory.CreateVisual( propertyMap );
90 dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, visual );
91 dummyControl.SetSize(200.f, 200.f);
92 Stage::GetCurrent().Add( dummyControl );
94 application.SendNotification();
97 tet_infoline( "Check action counter is 0 before DoAction" );
98 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );
100 tet_infoline( "Perform TEST_ACTION action on Color Visual which does not support it.. Should not increment the action counter" );
101 Property::Map attributes;
102 GetImplementation( visual ).DoAction( Dali::Toolkit::Internal::DummyVisual::TEST_ACTION, attributes );
103 application.SendNotification();
104 DALI_TEST_EQUALS( dummyVisualPtr->GetActionCounter() , 0, TEST_LOCATION );