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.
18 #include <dali-test-suite-utils.h>
19 #include <dali/devel-api/events/key-event-devel.h>
20 #include <dali/integration-api/events/key-event-integ.h>
21 #include <dali/public-api/dali-core.h>
28 void utc_dali_key_event_startup(void)
30 test_return_value = TET_UNDEF;
33 void utc_dali_key_event_cleanup(void)
35 test_return_value = TET_PASS;
40 // Key Event Test references
41 const static int SHIFT_MODIFIER = 0x1;
42 const static int CTRL_MODIFIER = 0x2;
43 const static int ALT_MODIFIER = 0x4;
44 const static int SHIFT_AND_CTRL_MODIFIER = SHIFT_MODIFIER | CTRL_MODIFIER;
45 const static int SHIFT_AND_ALT_MODIFIER = SHIFT_MODIFIER | ALT_MODIFIER;
46 const static int CTRL_AND_ALT_MODIFIER = CTRL_MODIFIER | ALT_MODIFIER;
48 const static char* TEST_STRING_1 = "alpha";
50 // Stores data that is populated in the callback and will be read by the TET cases
54 : functorCalled(false)
60 functorCalled = false;
62 receivedKeyEvent.Reset();
68 KeyEvent receivedKeyEvent;
72 // Functor that sets the data when called
73 struct KeyEventReceivedFunctor
75 KeyEventReceivedFunctor(SignalData& data)
80 bool operator()(Actor actor, const KeyEvent& keyEvent)
82 signalData.functorCalled = true;
83 signalData.receivedKeyEvent = keyEvent;
84 signalData.keyedActor = actor;
89 SignalData& signalData;
94 int UtcDaliKeyEventConstructor(void)
96 TestApplication application; // Reset all test adapter return codes
98 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
99 DALI_TEST_CHECK(event);
101 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
102 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
103 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
104 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
105 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
106 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
107 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION); // check state
108 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
109 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
110 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
111 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
116 int UtcDaliKeyEventCopyAssignment(void)
118 // Test Assignment operator
119 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
120 DALI_TEST_CHECK(event);
122 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
123 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
124 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
125 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
126 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
127 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
128 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION); // check state
129 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
130 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
131 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
132 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
134 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
135 DALI_TEST_CHECK(event2);
137 DALI_TEST_EQUALS(TEST_STRING_1, event2.GetKeyName(), TEST_LOCATION); // check key name
138 DALI_TEST_EQUALS("J", event2.GetLogicalKey(), TEST_LOCATION); // check logical key string
139 DALI_TEST_EQUALS("j", event2.GetKeyString(), TEST_LOCATION); // check key string
140 DALI_TEST_EQUALS(88, event2.GetKeyCode(), TEST_LOCATION); // check keyCode
141 DALI_TEST_EQUALS(CTRL_MODIFIER, event2.GetKeyModifier(), TEST_LOCATION); // check modifier
142 DALI_TEST_EQUALS(0lu, event2.GetTime(), TEST_LOCATION); // check time
143 DALI_TEST_EQUALS(KeyEvent::UP, event2.GetState(), TEST_LOCATION); // check state
144 DALI_TEST_EQUALS("", event2.GetCompose(), TEST_LOCATION); // check compose
145 DALI_TEST_EQUALS("", event2.GetDeviceName(), TEST_LOCATION); // check device name
146 DALI_TEST_EQUALS(Device::Class::USER, event2.GetDeviceClass(), TEST_LOCATION); // check device class
147 DALI_TEST_EQUALS(Device::Subclass::FINGER, event2.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
150 DALI_TEST_CHECK(event);
152 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
153 DALI_TEST_EQUALS("J", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
154 DALI_TEST_EQUALS("j", event.GetKeyString(), TEST_LOCATION); // check key string
155 DALI_TEST_EQUALS(88, event.GetKeyCode(), TEST_LOCATION); // check keyCode
156 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
157 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
158 DALI_TEST_EQUALS(KeyEvent::UP, event.GetState(), TEST_LOCATION); // check state
159 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
160 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
161 DALI_TEST_EQUALS(Device::Class::USER, event.GetDeviceClass(), TEST_LOCATION); // check device class
162 DALI_TEST_EQUALS(Device::Subclass::FINGER, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
167 int UtcDaliKeyEventCopyConstructor(void)
169 // Test Assignment operator
170 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
171 DALI_TEST_CHECK(event);
173 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
174 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
175 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
176 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
177 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
178 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
179 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION); // check state
180 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
181 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
182 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
183 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
185 KeyEvent event2(event);
186 DALI_TEST_CHECK(event2);
188 DALI_TEST_EQUALS(TEST_STRING_1, event2.GetKeyName(), TEST_LOCATION); // check key name
189 DALI_TEST_EQUALS("I", event2.GetLogicalKey(), TEST_LOCATION); // check logical key string
190 DALI_TEST_EQUALS("i", event2.GetKeyString(), TEST_LOCATION); // check key string
191 DALI_TEST_EQUALS(99, event2.GetKeyCode(), TEST_LOCATION); // check keyCode
192 DALI_TEST_EQUALS(SHIFT_MODIFIER, event2.GetKeyModifier(), TEST_LOCATION); // check modifier
193 DALI_TEST_EQUALS(0lu, event2.GetTime(), TEST_LOCATION); // check time
194 DALI_TEST_EQUALS(KeyEvent::DOWN, event2.GetState(), TEST_LOCATION); // check state
195 DALI_TEST_EQUALS("", event2.GetCompose(), TEST_LOCATION); // check compose
196 DALI_TEST_EQUALS("", event2.GetDeviceName(), TEST_LOCATION); // check device name
197 DALI_TEST_EQUALS(Device::Class::NONE, event2.GetDeviceClass(), TEST_LOCATION); // check device class
198 DALI_TEST_EQUALS(Device::Subclass::NONE, event2.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
203 int UtcDaliKeyEventMoveAssignment(void)
205 // Test Assignment operator
206 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
207 DALI_TEST_CHECK(event);
209 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
210 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
211 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
212 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
213 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
214 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
215 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION); // check state
216 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
217 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
218 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
219 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
222 move = std::move(event);
223 DALI_TEST_CHECK(move);
225 DALI_TEST_EQUALS(TEST_STRING_1, move.GetKeyName(), TEST_LOCATION); // check key name
226 DALI_TEST_EQUALS("I", move.GetLogicalKey(), TEST_LOCATION); // check logical key string
227 DALI_TEST_EQUALS("i", move.GetKeyString(), TEST_LOCATION); // check key string
228 DALI_TEST_EQUALS(99, move.GetKeyCode(), TEST_LOCATION); // check keyCode
229 DALI_TEST_EQUALS(SHIFT_MODIFIER, move.GetKeyModifier(), TEST_LOCATION); // check modifier
230 DALI_TEST_EQUALS(0lu, move.GetTime(), TEST_LOCATION); // check time
231 DALI_TEST_EQUALS(KeyEvent::DOWN, move.GetState(), TEST_LOCATION); // check state
232 DALI_TEST_EQUALS("", move.GetCompose(), TEST_LOCATION); // check compose
233 DALI_TEST_EQUALS("", move.GetDeviceName(), TEST_LOCATION); // check device name
234 DALI_TEST_EQUALS(Device::Class::NONE, move.GetDeviceClass(), TEST_LOCATION); // check device class
235 DALI_TEST_EQUALS(Device::Subclass::NONE, move.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
237 DALI_TEST_CHECK(!event);
242 int UtcDaliKeyEventMoveConstructor(void)
244 // Test Assignment operator
245 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
246 DALI_TEST_CHECK(event);
248 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION); // check key name
249 DALI_TEST_EQUALS("I", event.GetLogicalKey(), TEST_LOCATION); // check logical key string
250 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION); // check key string
251 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION); // check keyCode
252 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check modifier
253 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION); // check time
254 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION); // check state
255 DALI_TEST_EQUALS("", event.GetCompose(), TEST_LOCATION); // check compose
256 DALI_TEST_EQUALS("", event.GetDeviceName(), TEST_LOCATION); // check device name
257 DALI_TEST_EQUALS(Device::Class::NONE, event.GetDeviceClass(), TEST_LOCATION); // check device class
258 DALI_TEST_EQUALS(Device::Subclass::NONE, event.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
260 KeyEvent move = std::move(event);
261 DALI_TEST_CHECK(move);
263 DALI_TEST_EQUALS(TEST_STRING_1, move.GetKeyName(), TEST_LOCATION); // check key name
264 DALI_TEST_EQUALS("I", move.GetLogicalKey(), TEST_LOCATION); // check logical key string
265 DALI_TEST_EQUALS("i", move.GetKeyString(), TEST_LOCATION); // check key string
266 DALI_TEST_EQUALS(99, move.GetKeyCode(), TEST_LOCATION); // check keyCode
267 DALI_TEST_EQUALS(SHIFT_MODIFIER, move.GetKeyModifier(), TEST_LOCATION); // check modifier
268 DALI_TEST_EQUALS(0lu, move.GetTime(), TEST_LOCATION); // check time
269 DALI_TEST_EQUALS(KeyEvent::DOWN, move.GetState(), TEST_LOCATION); // check state
270 DALI_TEST_EQUALS("", move.GetCompose(), TEST_LOCATION); // check compose
271 DALI_TEST_EQUALS("", move.GetDeviceName(), TEST_LOCATION); // check device name
272 DALI_TEST_EQUALS(Device::Class::NONE, move.GetDeviceClass(), TEST_LOCATION); // check device class
273 DALI_TEST_EQUALS(Device::Subclass::NONE, move.GetDeviceSubclass(), TEST_LOCATION); // check device subclass
275 DALI_TEST_CHECK(!event);
280 // Positive test case for a method
281 int UtcDaliKeyEventIsShiftModifier(void)
283 TestApplication application; // Reset all test adapter return codes
285 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
286 DALI_TEST_CHECK(event);
288 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
289 DALI_TEST_EQUALS(false, event.IsShiftModifier(), TEST_LOCATION); // check IsShiftModifier
291 DevelKeyEvent::SetKeyModifier(event, SHIFT_MODIFIER); // Set to Shift Modifier
293 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
295 DALI_TEST_EQUALS(true, event.IsShiftModifier(), TEST_LOCATION); // check IsShiftModifier
300 // Positive test case for a method
301 int UtcDaliKeyEventIsCtrlModifier(void)
303 TestApplication application; // Reset all test adapter return codes
305 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
306 DALI_TEST_CHECK(event);
308 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
309 DALI_TEST_EQUALS(false, event.IsCtrlModifier(), TEST_LOCATION); // check IsCtrlModifier
311 DevelKeyEvent::SetKeyModifier(event, CTRL_MODIFIER); // Set to Ctrl Modifier
313 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
315 DALI_TEST_EQUALS(true, event.IsCtrlModifier(), TEST_LOCATION); // check IsCtrlModifier
319 // Positive test case for a method
320 int UtcDaliKeyEventIsAltModifier(void)
322 TestApplication application; // Reset all test adapter return codes
324 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
325 DALI_TEST_CHECK(event);
327 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
328 DALI_TEST_EQUALS(false, event.IsAltModifier(), TEST_LOCATION); // check IsAltModifier
330 DevelKeyEvent::SetKeyModifier(event, ALT_MODIFIER); // Set to Alt Modifier
332 DALI_TEST_EQUALS(ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION); // check able to set
334 DALI_TEST_EQUALS(true, event.IsAltModifier(), TEST_LOCATION); // IsAltModifier
338 // Positive fail test case for a method
339 int UtcDaliKeyEventIsNotShiftModifier(void)
341 TestApplication application; // Reset all test adapter return codes
343 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, CTRL_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
345 DALI_TEST_EQUALS(CTRL_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
347 DALI_TEST_EQUALS(false, event.IsShiftModifier(), TEST_LOCATION);
351 // Positive fail test case for a method
352 int UtcDaliKeyEventIsNotCtrlModifier(void)
354 TestApplication application; // Reset all test adapter return codes
356 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, ALT_MODIFIER, 0lu, KeyEvent::UP, "", "", Device::Class::NONE, Device::Subclass::NONE);
358 DALI_TEST_EQUALS(ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
360 DALI_TEST_EQUALS(false, event.IsCtrlModifier(), TEST_LOCATION);
364 // Positive fail test case for a method
365 int UtcDaliKeyEventIsNotAltModifier(void)
367 TestApplication application; // Reset all test adapter return codes
369 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_MODIFIER, 0lu, KeyEvent::UP, "", "", Device::Class::NONE, Device::Subclass::NONE);
371 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
373 DALI_TEST_EQUALS(false, event.IsAltModifier(), TEST_LOCATION);
377 // Positive test case for a method
378 int UtcDaliKeyEventANDModifer(void)
380 TestApplication application; // Reset all test adapter return codes
382 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_AND_CTRL_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
383 DALI_TEST_EQUALS(true, (bool)(event.IsCtrlModifier() & event.IsShiftModifier()), TEST_LOCATION);
385 DevelKeyEvent::SetKeyModifier(event, SHIFT_MODIFIER); // Set to Shift Modifier
387 DALI_TEST_EQUALS(false, (bool)(event.IsCtrlModifier() & event.IsShiftModifier()), TEST_LOCATION);
391 // Positive test case for a method
392 int UtcDaliKeyEventORModifer(void)
394 TestApplication application; // Reset all test adapter return codes
396 Dali::KeyEvent event = DevelKeyEvent::New("i", "I", "i", 0, SHIFT_AND_CTRL_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
397 DALI_TEST_EQUALS(true, (bool)(event.IsCtrlModifier() | event.IsAltModifier()), TEST_LOCATION);
399 DevelKeyEvent::SetKeyModifier(event, SHIFT_MODIFIER); // Set to Shift Modifier
401 DALI_TEST_EQUALS(false, (bool)(event.IsCtrlModifier() & event.IsAltModifier()), TEST_LOCATION);
405 int UtcDaliIntegrationKeyEvent(void)
407 TestApplication application;
410 Integration::KeyEvent keyEvent;
411 DALI_TEST_EQUALS(keyEvent.type, Integration::Event::Key, TEST_LOCATION);
412 DALI_TEST_CHECK(keyEvent.keyName == std::string());
413 DALI_TEST_CHECK(keyEvent.logicalKey == std::string());
414 DALI_TEST_CHECK(keyEvent.keyString == std::string());
415 DALI_TEST_EQUALS(keyEvent.keyCode, -1, TEST_LOCATION);
416 DALI_TEST_EQUALS(keyEvent.keyModifier, 0, TEST_LOCATION);
417 DALI_TEST_EQUALS(keyEvent.time, 0lu, TEST_LOCATION);
418 DALI_TEST_EQUALS(keyEvent.state, Integration::KeyEvent::DOWN, TEST_LOCATION);
419 DALI_TEST_EQUALS(keyEvent.compose, std::string(), TEST_LOCATION);
420 DALI_TEST_EQUALS(keyEvent.deviceName, std::string(), TEST_LOCATION);
421 DALI_TEST_EQUALS(keyEvent.deviceClass, Device::Class::NONE, TEST_LOCATION);
422 DALI_TEST_EQUALS(keyEvent.deviceSubclass, Device::Subclass::NONE, TEST_LOCATION);
426 const std::string keyName("keyName");
427 const std::string logicalKey("logicalKey");
428 const std::string keyString("keyString");
429 const int keyCode(333);
430 const int keyModifier(312);
431 const unsigned long timeStamp(132);
432 const Integration::KeyEvent::State keyState(Integration::KeyEvent::UP);
433 const std::string compose("compose");
434 const std::string deviceName("hwKeyboard");
435 const Device::Class::Type deviceClass = Device::Class::KEYBOARD;
436 const Device::Subclass::Type deviceSubclass = Device::Subclass::NONE;
438 Integration::KeyEvent keyEvent(keyName, logicalKey, keyString, keyCode, keyModifier, timeStamp, keyState, compose, deviceName, deviceClass, deviceSubclass);
439 DALI_TEST_EQUALS(keyEvent.type, Integration::Event::Key, TEST_LOCATION);
440 DALI_TEST_CHECK(keyEvent.keyName == keyName);
441 DALI_TEST_CHECK(keyEvent.logicalKey == logicalKey);
442 DALI_TEST_CHECK(keyEvent.keyString == keyString);
443 DALI_TEST_EQUALS(keyEvent.keyCode, keyCode, TEST_LOCATION);
444 DALI_TEST_EQUALS(keyEvent.keyModifier, keyModifier, TEST_LOCATION);
445 DALI_TEST_EQUALS(keyEvent.time, timeStamp, TEST_LOCATION);
446 DALI_TEST_EQUALS(keyEvent.state, keyState, TEST_LOCATION);
447 DALI_TEST_EQUALS(keyEvent.compose, compose, TEST_LOCATION);
448 DALI_TEST_EQUALS(keyEvent.deviceName, deviceName, TEST_LOCATION);
449 DALI_TEST_EQUALS(keyEvent.deviceClass, deviceClass, TEST_LOCATION);
450 DALI_TEST_EQUALS(keyEvent.deviceSubclass, deviceSubclass, TEST_LOCATION);
455 int UtcDaliKeyEventSetKeyName(void)
457 TestApplication application;
459 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
461 DALI_TEST_EQUALS(TEST_STRING_1, event.GetKeyName(), TEST_LOCATION);
463 DevelKeyEvent::SetKeyName(event, "keyName");
464 DALI_TEST_EQUALS("keyName", event.GetKeyName(), TEST_LOCATION);
469 int UtcDaliKeyEventSetKeyString(void)
471 TestApplication application;
473 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
475 DALI_TEST_EQUALS("i", event.GetKeyString(), TEST_LOCATION);
477 DevelKeyEvent::SetKeyString(event, "keyString");
478 DALI_TEST_EQUALS("keyString", event.GetKeyString(), TEST_LOCATION);
483 int UtcDaliKeyEventSetKeyCode(void)
485 TestApplication application;
487 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
489 DALI_TEST_EQUALS(99, event.GetKeyCode(), TEST_LOCATION);
491 DevelKeyEvent::SetKeyCode(event, 88);
492 DALI_TEST_EQUALS(88, event.GetKeyCode(), TEST_LOCATION);
497 int UtcDaliKeyEventSetKeyModifier(void)
499 TestApplication application;
501 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
503 DALI_TEST_EQUALS(SHIFT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
505 DevelKeyEvent::SetKeyModifier(event, ALT_MODIFIER);
506 DALI_TEST_EQUALS(ALT_MODIFIER, event.GetKeyModifier(), TEST_LOCATION);
511 int UtcDaliKeyEventSetTime(void)
513 TestApplication application;
515 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
517 DALI_TEST_EQUALS(0lu, event.GetTime(), TEST_LOCATION);
519 DevelKeyEvent::SetTime(event, 100lu);
520 DALI_TEST_EQUALS(100lu, event.GetTime(), TEST_LOCATION);
525 int UtcDaliKeyEventSetState(void)
527 TestApplication application;
529 Dali::KeyEvent event = DevelKeyEvent::New(TEST_STRING_1, "I", "i", 99, SHIFT_MODIFIER, 0lu, KeyEvent::DOWN, "", "", Device::Class::NONE, Device::Subclass::NONE);
531 DALI_TEST_EQUALS(KeyEvent::DOWN, event.GetState(), TEST_LOCATION);
533 DevelKeyEvent::SetState(event, KeyEvent::UP);
534 DALI_TEST_EQUALS(KeyEvent::UP, event.GetState(), TEST_LOCATION);