Button Upgrade to use Text Visual
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / utc-Dali-CheckBoxButton.cpp
1 /*
2  * Copyright (c) 2014 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
23 #include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
24 #include <dali-toolkit/devel-api/visuals/text-visual-properties.h>
25
26
27 using namespace Dali;
28 using namespace Toolkit;
29
30 namespace
31 {
32
33 static bool gCheckBoxButtonState = false;
34 bool CheckBoxButtonClicked( Button button )
35 {
36   gCheckBoxButtonState = button.IsSelected();
37   return true;
38 }
39
40 } // namespace
41
42 void checkbox_button_startup(void)
43 {
44   test_return_value = TET_UNDEF;
45 }
46
47 void checkbox_button_cleanup(void)
48 {
49   test_return_value = TET_PASS;
50 }
51
52 int UtcDaliCheckBoxButtonConstructorP(void)
53 {
54   TestApplication application;
55
56   CheckBoxButton checkBox;
57
58   DALI_TEST_CHECK( !checkBox );
59   END_TEST;
60 }
61
62 int UtcDaliCheckBoxButtonCopyConstructorP(void)
63 {
64   TestApplication application;
65
66   // Initialize an object, ref count == 1
67   CheckBoxButton checkBox = CheckBoxButton::New();
68
69   CheckBoxButton copy( checkBox );
70   DALI_TEST_CHECK( copy );
71   END_TEST;
72 }
73
74 int UtcDaliCheckBoxButtonAssignmentOperatorP(void)
75 {
76   TestApplication application;
77
78   CheckBoxButton checkBox = CheckBoxButton::New();
79
80   CheckBoxButton copy( checkBox );
81   DALI_TEST_CHECK( copy );
82
83   DALI_TEST_CHECK( checkBox == copy );
84   END_TEST;
85 }
86
87 int UtcDaliCheckBoxButtonNewP(void)
88 {
89   TestApplication application;
90
91   CheckBoxButton checkBox = CheckBoxButton::New();
92
93   DALI_TEST_CHECK( checkBox );
94   END_TEST;
95 }
96
97 int UtcDaliCheckBoxButtonDownCastP(void)
98 {
99   TestApplication application;
100
101   CheckBoxButton checkBox = CheckBoxButton::New();
102
103   BaseHandle object(checkBox);
104
105   CheckBoxButton checkBox2 = CheckBoxButton::DownCast( object );
106   DALI_TEST_CHECK(checkBox2);
107
108   CheckBoxButton checkBox3 = DownCast< CheckBoxButton >(object);
109   DALI_TEST_CHECK(checkBox3);
110   END_TEST;
111 }
112
113 int UtcDaliCheckBoxButtonDownCastN(void)
114 {
115   TestApplication application;
116
117   BaseHandle unInitializedObject;
118
119   CheckBoxButton checkBox1 = CheckBoxButton::DownCast( unInitializedObject );
120   DALI_TEST_CHECK( !checkBox1 );
121
122   CheckBoxButton checkBox2 = DownCast< CheckBoxButton >( unInitializedObject );
123   DALI_TEST_CHECK( !checkBox2 );
124   END_TEST;
125 }
126
127 int UtcDaliCheckBoxButtonSetGetSelected(void)
128 {
129   ToolkitTestApplication application;
130   tet_infoline(" UtcDaliCheckBoxButtonSetGetSelected");
131
132   CheckBoxButton checkBoxButton = CheckBoxButton::New();
133   checkBoxButton.StateChangedSignal().Connect( &CheckBoxButtonClicked );
134
135   // global var used to check if CheckBoxButtonClicked is called;
136   gCheckBoxButtonState = false;
137
138   checkBoxButton.SetSelected( true );
139
140   DALI_TEST_CHECK( checkBoxButton.IsSelected() );
141   DALI_TEST_CHECK( gCheckBoxButtonState );
142
143   checkBoxButton.SetSelected( false );
144
145   DALI_TEST_CHECK( !checkBoxButton.IsSelected() );
146   DALI_TEST_CHECK( !gCheckBoxButtonState );
147
148   checkBoxButton.SetSelected( true );
149
150   DALI_TEST_CHECK( checkBoxButton.IsSelected() );
151   DALI_TEST_CHECK( gCheckBoxButtonState );
152   END_TEST;
153 }
154
155 int UtcDaliCheckBoxSetLabelP(void)
156 {
157   TestApplication application;
158
159   CheckBoxButton checkBox = CheckBoxButton::New();
160
161   Property::Map propertyMap;
162
163   propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT )
164              .Add( Toolkit::TextVisual::Property::TEXT, "activate" )
165              .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f );
166
167   checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap );
168
169   DALI_TEST_EQUALS( checkBox.GetLabelText(), "activate", TEST_LOCATION ); // Change to use GerProperty once that code is implemented
170   END_TEST;
171 }
172
173 int UtcDaliCheckBoxSetLabelDisabledP(void)
174 {
175   TestApplication application;
176
177   CheckBoxButton checkBox = CheckBoxButton::New();
178   Stage::GetCurrent().Add( checkBox );
179
180   checkBox.SetSize( Vector2( 20.0f, 20.0f ) );
181   checkBox.SetDisabledBackgroundImage( "Image.jpg" );
182
183   application.SendNotification();
184   application.Render();
185
186   Property::Map propertyMap;
187
188   propertyMap.Add( Toolkit::Visual::Property::TYPE, Toolkit::DevelVisual::TEXT )
189              .Add( Toolkit::TextVisual::Property::TEXT, "activate" )
190              .Add( Toolkit::TextVisual::Property::POINT_SIZE, 15.0f );
191
192   checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), true);
193   checkBox.SetProperty( checkBox.GetPropertyIndex("label"), propertyMap );
194
195   DALI_TEST_CHECK(  checkBox.GetProperty<bool>(checkBox.GetPropertyIndex("disabled")) );
196   DALI_TEST_EQUALS( checkBox.GetLabelText(), "activate", TEST_LOCATION ); // Change to use GetProperty once that code is implemented
197
198   END_TEST;
199 }
200
201 int UtcDaliCheckBoxSettingDisabled(void)
202 {
203   ToolkitTestApplication application;
204
205   CheckBoxButton checkBox = CheckBoxButton::New();
206
207   checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), true);
208   DALI_TEST_CHECK(  checkBox.GetProperty<bool>(checkBox.GetPropertyIndex("disabled")) );
209
210   checkBox.SetProperty(checkBox.GetPropertyIndex("disabled"), false);
211
212   DALI_TEST_CHECK(  !checkBox.GetProperty<bool>(checkBox.GetPropertyIndex("disabled")) );
213
214   END_TEST;
215 }