2 * Copyright (c) 2020 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.
21 #include <dali/public-api/dali-core.h>
22 #include <dali/integration-api/events/key-event-integ.h>
23 #include <dali/devel-api/events/key-event-devel.h>
25 #include <dali-test-suite-utils.h>
29 void utc_dali_key_event_startup(void)
31 test_return_value = TET_UNDEF;
34 void utc_dali_key_event_cleanup(void)
36 test_return_value = TET_PASS;
42 // Key Event Test references
43 const static int SHIFT_MODIFIER = 0x1;
44 const static int CTRL_MODIFIER = 0x2;
45 const static int ALT_MODIFIER = 0x4;
46 const static int SHIFT_AND_CTRL_MODIFIER = SHIFT_MODIFIER | CTRL_MODIFIER;
47 const static int SHIFT_AND_ALT_MODIFIER = SHIFT_MODIFIER | ALT_MODIFIER;
48 const static int CTRL_AND_ALT_MODIFIER = CTRL_MODIFIER | ALT_MODIFIER;
50 const static char* TEST_STRING_1 = "alpha";
53 // Stores data that is populated in the callback and will be read by the TET cases
57 : functorCalled(false)
62 functorCalled = false;
64 receivedKeyEvent.Reset();
70 KeyEvent receivedKeyEvent;
74 // Functor that sets the data when called
75 struct KeyEventReceivedFunctor
77 KeyEventReceivedFunctor( SignalData& data ) : signalData( data ) { }
79 bool operator()( Actor actor, const KeyEvent& keyEvent )
81 signalData.functorCalled = true;
82 signalData.receivedKeyEvent = keyEvent;
83 signalData.keyedActor = actor;
88 SignalData& signalData;
93 int UtcDaliKeyEventConstructor(void)
95 TestApplication application; // Reset all test adapter return codes
97 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
98 DALI_TEST_CHECK( event );
100 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
101 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
102 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
103 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
104 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
105 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
106 DALI_TEST_EQUALS(KeyEvent::Down, event.GetState(), TEST_LOCATION); // check state
107 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
108 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
109 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
110 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
115 int UtcDaliKeyEventCopyAssignment(void)
117 // Test Assignment operator
118 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
119 DALI_TEST_CHECK( event );
121 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
122 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
123 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
124 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
125 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
126 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
127 DALI_TEST_EQUALS(KeyEvent::Down, event.GetState(), TEST_LOCATION); // check state
128 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
129 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
130 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
131 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
133 Dali::KeyEvent event2 = DevelKeyEvent::New(TEST_STRING_1, "J", "j", 88, CTRL_MODIFIER, 0lu, KeyEvent::Up, "", "", Device::Class::USER, Device::Subclass::FINGER); // set name to test, key string to i and modifier to shift
134 DALI_TEST_CHECK( event2 );
136 DALI_TEST_EQUALS(TEST_STRING_1, event2.GetKeyName(), TEST_LOCATION); // check key name
137 DALI_TEST_EQUALS("J", event2.GetLogicalKey(), TEST_LOCATION); // check logical key string
138 DALI_TEST_EQUALS("j", event2.GetKeyString(), TEST_LOCATION); // check key string
139 DALI_TEST_EQUALS(88, event2.GetKeyCode(), TEST_LOCATION); // check keyCode
140 DALI_TEST_EQUALS(CTRL_MODIFIER, event2.GetKeyModifier(), TEST_LOCATION); // check modifier
141 DALI_TEST_EQUALS(0lu, event2.GetTime(), TEST_LOCATION); // check time
142 DALI_TEST_EQUALS(KeyEvent::Up, event2.GetState(), TEST_LOCATION); // check state
143 DALI_TEST_EQUALS("", event2.GetCompose(), TEST_LOCATION); // check compose
144 DALI_TEST_EQUALS("", event2.GetDeviceName(), TEST_LOCATION); // check device name
145 DALI_TEST_EQUALS(Device::Class::USER, event2.GetDeviceClass(), TEST_LOCATION); // check device class
146 DALI_TEST_EQUALS(Device::Subclass::FINGER, event2.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
149 DALI_TEST_CHECK( event );
151 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
152 DALI_TEST_EQUALS("J", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
153 DALI_TEST_EQUALS("j", event.GetKeyString(), TEST_LOCATION); // check key string
154 DALI_TEST_EQUALS(88, event.GetKeyCode(), TEST_LOCATION); // check keyCode
155 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
156 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
157 DALI_TEST_EQUALS(KeyEvent::Up, event.GetState(), TEST_LOCATION); // check state
158 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
159 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
160 DALI_TEST_EQUALS(Device::Class::USER, event.GetDeviceClass(), TEST_LOCATION); // check device class
161 DALI_TEST_EQUALS(Device::Subclass::FINGER, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
166 int UtcDaliKeyEventCopyConstructor(void)
168 // Test Assignment operator
169 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
170 DALI_TEST_CHECK( event );
172 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
173 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
174 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
175 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
176 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
177 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
178 DALI_TEST_EQUALS(KeyEvent::Down, event.GetState(), TEST_LOCATION); // check state
179 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
180 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
181 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
182 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
184 KeyEvent event2( event );
185 DALI_TEST_CHECK( event2 );
187 DALI_TEST_EQUALS(TEST_STRING_1, event2.GetKeyName(), TEST_LOCATION); // check key name
188 DALI_TEST_EQUALS("I", event2.GetLogicalKey(), TEST_LOCATION); // check logical key string
189 DALI_TEST_EQUALS("i", event2.GetKeyString(), TEST_LOCATION); // check key string
190 DALI_TEST_EQUALS(99, event2.GetKeyCode(), TEST_LOCATION); // check keyCode
191 DALI_TEST_EQUALS(SHIFT_MODIFIER, event2.GetKeyModifier(), TEST_LOCATION); // check modifier
192 DALI_TEST_EQUALS(0lu, event2.GetTime(), TEST_LOCATION); // check time
193 DALI_TEST_EQUALS(KeyEvent::Down, event2.GetState(), TEST_LOCATION); // check state
194 DALI_TEST_EQUALS("", event2.GetCompose(), TEST_LOCATION); // check compose
195 DALI_TEST_EQUALS("", event2.GetDeviceName(), TEST_LOCATION); // check device name
196 DALI_TEST_EQUALS(Device::Class::NONE, event2.GetDeviceClass(), TEST_LOCATION); // check device class
197 DALI_TEST_EQUALS(Device::Subclass::NONE, event2.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
202 int UtcDaliKeyEventMoveAssignment(void)
204 // Test Assignment operator
205 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
206 DALI_TEST_CHECK( event );
208 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
209 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
210 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
211 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
212 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
213 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
214 DALI_TEST_EQUALS(KeyEvent::Down, event.GetState(), TEST_LOCATION); // check state
215 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
216 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
217 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
218 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
221 move = std::move( event );
222 DALI_TEST_CHECK( move );
224 DALI_TEST_EQUALS(TEST_STRING_1, move.GetKeyName(), TEST_LOCATION); // check key name
225 DALI_TEST_EQUALS("I", move.GetLogicalKey(), TEST_LOCATION); // check logical key string
226 DALI_TEST_EQUALS("i", move.GetKeyString(), TEST_LOCATION); // check key string
227 DALI_TEST_EQUALS(99, move.GetKeyCode(), TEST_LOCATION); // check keyCode
228 DALI_TEST_EQUALS(SHIFT_MODIFIER, move.GetKeyModifier(), TEST_LOCATION); // check modifier
229 DALI_TEST_EQUALS(0lu, move.GetTime(), TEST_LOCATION); // check time
230 DALI_TEST_EQUALS(KeyEvent::Down, move.GetState(), TEST_LOCATION); // check state
231 DALI_TEST_EQUALS("", move.GetCompose(), TEST_LOCATION); // check compose
232 DALI_TEST_EQUALS("", move.GetDeviceName(), TEST_LOCATION); // check device name
233 DALI_TEST_EQUALS(Device::Class::NONE, move.GetDeviceClass(), TEST_LOCATION); // check device class
234 DALI_TEST_EQUALS(Device::Subclass::NONE, move.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
236 DALI_TEST_CHECK( !event );
241 int UtcDaliKeyEventMoveConstructor(void)
243 // Test Assignment operator
244 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
245 DALI_TEST_CHECK( event );
247 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
248 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
249 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
250 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
251 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
252 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
253 DALI_TEST_EQUALS(KeyEvent::Down, event.GetState(), TEST_LOCATION); // check state
254 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
255 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
256 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
257 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
259 KeyEvent move = std::move( event );
260 DALI_TEST_CHECK( move );
262 DALI_TEST_EQUALS(TEST_STRING_1, move.GetKeyName(), TEST_LOCATION); // check key name
263 DALI_TEST_EQUALS("I", move.GetLogicalKey(), TEST_LOCATION); // check logical key string
264 DALI_TEST_EQUALS("i", move.GetKeyString(), TEST_LOCATION); // check key string
265 DALI_TEST_EQUALS(99, move.GetKeyCode(), TEST_LOCATION); // check keyCode
266 DALI_TEST_EQUALS(SHIFT_MODIFIER, move.GetKeyModifier(), TEST_LOCATION); // check modifier
267 DALI_TEST_EQUALS(0lu, move.GetTime(), TEST_LOCATION); // check time
268 DALI_TEST_EQUALS(KeyEvent::Down, move.GetState(), TEST_LOCATION); // check state
269 DALI_TEST_EQUALS("", move.GetCompose(), TEST_LOCATION); // check compose
270 DALI_TEST_EQUALS("", move.GetDeviceName(), TEST_LOCATION); // check device name
271 DALI_TEST_EQUALS(Device::Class::NONE, move.GetDeviceClass(), TEST_LOCATION); // check device class
272 DALI_TEST_EQUALS(Device::Subclass::NONE, move.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
274 DALI_TEST_CHECK( !event );
279 // Positive test case for a method
280 int UtcDaliKeyEventIsShiftModifier(void)
282 TestApplication application; // Reset all test adapter return codes
284 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, CTRL_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
285 DALI_TEST_CHECK( event );
287 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
288 DALI_TEST_EQUALS(false, event.IsShiftModifier(), TEST_LOCATION); // check IsShiftModifier
290 DevelKeyEvent::SetKeyModifier( event, SHIFT_MODIFIER ); // Set to Shift Modifier
292 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
294 DALI_TEST_EQUALS(true, event.IsShiftModifier(), TEST_LOCATION); // check IsShiftModifier
299 // Positive test case for a method
300 int UtcDaliKeyEventIsCtrlModifier(void)
302 TestApplication application; // Reset all test adapter return codes
304 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
305 DALI_TEST_CHECK( event );
307 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
308 DALI_TEST_EQUALS(false, event.IsCtrlModifier(), TEST_LOCATION); // check IsCtrlModifier
310 DevelKeyEvent::SetKeyModifier( event, CTRL_MODIFIER ); // Set to Ctrl Modifier
312 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
314 DALI_TEST_EQUALS(true, event.IsCtrlModifier(), TEST_LOCATION); // check IsCtrlModifier
318 // Positive test case for a method
319 int UtcDaliKeyEventIsAltModifier(void)
321 TestApplication application; // Reset all test adapter return codes
323 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE); // set name to test, key string to i and modifier to shift
324 DALI_TEST_CHECK( event );
326 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
327 DALI_TEST_EQUALS(false, event.IsAltModifier(), TEST_LOCATION); // check IsAltModifier
329 DevelKeyEvent::SetKeyModifier( event, ALT_MODIFIER ); // Set to Alt Modifier
331 DALI_TEST_EQUALS(ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
333 DALI_TEST_EQUALS(true, event.IsAltModifier(), TEST_LOCATION); // IsAltModifier
337 // Positive fail test case for a method
338 int UtcDaliKeyEventIsNotShiftModifier(void)
340 TestApplication application; // Reset all test adapter return codes
342 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, CTRL_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
344 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
346 DALI_TEST_EQUALS(false, event.IsShiftModifier(), TEST_LOCATION);
350 // Positive fail test case for a method
351 int UtcDaliKeyEventIsNotCtrlModifier(void)
353 TestApplication application; // Reset all test adapter return codes
355 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, ALT_MODIFIER, 0lu, KeyEvent::Up, "", "", Device::Class::NONE, Device::Subclass::NONE);
357 DALI_TEST_EQUALS(ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
359 DALI_TEST_EQUALS(false, event.IsCtrlModifier(), TEST_LOCATION);
363 // Positive fail test case for a method
364 int UtcDaliKeyEventIsNotAltModifier(void)
366 TestApplication application; // Reset all test adapter return codes
368 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_MODIFIER, 0lu, KeyEvent::Up, "", "", Device::Class::NONE, Device::Subclass::NONE);
370 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
372 DALI_TEST_EQUALS(false, event.IsAltModifier(), TEST_LOCATION);
376 // Positive test case for a method
377 int UtcDaliKeyEventANDModifer(void)
379 TestApplication application; // Reset all test adapter return codes
381 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_AND_CTRL_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
382 DALI_TEST_EQUALS(true, (bool)(event.IsCtrlModifier() & event.IsShiftModifier()), TEST_LOCATION);
384 DevelKeyEvent::SetKeyModifier( event, SHIFT_MODIFIER ); // Set to Shift Modifier
386 DALI_TEST_EQUALS(false, (bool)(event.IsCtrlModifier() & event.IsShiftModifier()), TEST_LOCATION);
390 // Positive test case for a method
391 int UtcDaliKeyEventORModifer(void)
393 TestApplication application; // Reset all test adapter return codes
395 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_AND_CTRL_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
396 DALI_TEST_EQUALS(true, (bool)(event.IsCtrlModifier() | event.IsAltModifier()), TEST_LOCATION);
398 DevelKeyEvent::SetKeyModifier( event, SHIFT_MODIFIER ); // Set to Shift Modifier
400 DALI_TEST_EQUALS(false, (bool)(event.IsCtrlModifier() & event.IsAltModifier()), TEST_LOCATION);
404 int UtcDaliIntegrationKeyEvent(void)
406 TestApplication application;
409 Integration::KeyEvent keyEvent;
410 DALI_TEST_EQUALS( keyEvent.type, Integration::Event::Key, TEST_LOCATION );
411 DALI_TEST_CHECK( keyEvent.keyName == std::string() );
412 DALI_TEST_CHECK( keyEvent.logicalKey == std::string() );
413 DALI_TEST_CHECK( keyEvent.keyString == std::string() );
414 DALI_TEST_EQUALS( keyEvent.keyCode, -1, TEST_LOCATION );
415 DALI_TEST_EQUALS( keyEvent.keyModifier, 0, TEST_LOCATION );
416 DALI_TEST_EQUALS( keyEvent.time, 0lu, TEST_LOCATION );
417 DALI_TEST_EQUALS( keyEvent.state, Integration::KeyEvent::Down, TEST_LOCATION);
418 DALI_TEST_EQUALS( keyEvent.compose, std::string(), TEST_LOCATION);
419 DALI_TEST_EQUALS( keyEvent.deviceName, std::string(), TEST_LOCATION);
420 DALI_TEST_EQUALS( keyEvent.deviceClass, Device::Class::NONE, TEST_LOCATION);
421 DALI_TEST_EQUALS( keyEvent.deviceSubclass, Device::Subclass::NONE, TEST_LOCATION);
425 const std::string keyName("keyName");
426 const std::string logicalKey("logicalKey");
427 const std::string keyString("keyString");
428 const int keyCode(333);
429 const int keyModifier(312);
430 const unsigned long timeStamp(132);
431 const Integration::KeyEvent::State keyState(Integration::KeyEvent::Up);
432 const std::string compose("compose");
433 const std::string deviceName("hwKeyboard");
434 const Device::Class::Type deviceClass = Device::Class::KEYBOARD;
435 const Device::Subclass::Type deviceSubclass = Device::Subclass::NONE;
437 Integration::KeyEvent keyEvent(keyName, logicalKey, keyString, keyCode, keyModifier, timeStamp, keyState, compose, deviceName, deviceClass, deviceSubclass );
438 DALI_TEST_EQUALS( keyEvent.type, Integration::Event::Key, TEST_LOCATION );
439 DALI_TEST_CHECK( keyEvent.keyName == keyName );
440 DALI_TEST_CHECK( keyEvent.logicalKey == logicalKey );
441 DALI_TEST_CHECK( keyEvent.keyString == keyString );
442 DALI_TEST_EQUALS( keyEvent.keyCode, keyCode, TEST_LOCATION );
443 DALI_TEST_EQUALS( keyEvent.keyModifier, keyModifier, TEST_LOCATION );
444 DALI_TEST_EQUALS( keyEvent.time, timeStamp, TEST_LOCATION );
445 DALI_TEST_EQUALS( keyEvent.state, keyState, TEST_LOCATION);
446 DALI_TEST_EQUALS( keyEvent.compose, compose, TEST_LOCATION);
447 DALI_TEST_EQUALS( keyEvent.deviceName, deviceName, TEST_LOCATION);
448 DALI_TEST_EQUALS( keyEvent.deviceClass, deviceClass, TEST_LOCATION);
449 DALI_TEST_EQUALS( keyEvent.deviceSubclass, deviceSubclass, TEST_LOCATION);
454 int UtcDaliKeyEventSetKeyName(void)
456 TestApplication application;
458 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
460 DALI_TEST_EQUALS( TEST_STRING_1, event.GetKeyName(), TEST_LOCATION );
462 DevelKeyEvent::SetKeyName( event, "keyName" );
463 DALI_TEST_EQUALS( "keyName", event.GetKeyName(), TEST_LOCATION );
468 int UtcDaliKeyEventSetKeyString(void)
470 TestApplication application;
472 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
474 DALI_TEST_EQUALS( "i", event.GetKeyString(), TEST_LOCATION );
476 DevelKeyEvent::SetKeyString( event, "keyString" );
477 DALI_TEST_EQUALS( "keyString", event.GetKeyString(), TEST_LOCATION );
482 int UtcDaliKeyEventSetKeyCode(void)
484 TestApplication application;
486 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
488 DALI_TEST_EQUALS( 99, event.GetKeyCode(), TEST_LOCATION );
490 DevelKeyEvent::SetKeyCode( event, 88 );
491 DALI_TEST_EQUALS( 88, event.GetKeyCode(), TEST_LOCATION );
496 int UtcDaliKeyEventSetKeyModifier(void)
498 TestApplication application;
500 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
502 DALI_TEST_EQUALS( SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION );
504 DevelKeyEvent::SetKeyModifier( event, ALT_MODIFIER );
505 DALI_TEST_EQUALS( ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION );
510 int UtcDaliKeyEventSetTime(void)
512 TestApplication application;
514 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
516 DALI_TEST_EQUALS( 0lu, event.GetTime(), TEST_LOCATION );
518 DevelKeyEvent::SetTime( event, 100lu );
519 DALI_TEST_EQUALS( 100lu, event.GetTime(), TEST_LOCATION );
524 int UtcDaliKeyEventSetState(void)
526 TestApplication application;
528 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::Down, "", "", Device::Class::NONE, Device::Subclass::NONE);
530 DALI_TEST_EQUALS( KeyEvent::Down, event.GetState(), TEST_LOCATION );
532 DevelKeyEvent::SetState( event, KeyEvent::Up );
533 DALI_TEST_EQUALS( KeyEvent::Up, event.GetState(), TEST_LOCATION );