2 * Copyright (c) 2014 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.
28 #include <dali-test-suite-utils.h>
32 void utc_dali_adaptor_key_startup(void)
34 test_return_value = TET_UNDEF;
37 void utc_dali_adaptor_key_cleanup(void)
39 test_return_value = TET_PASS;
42 // Copied from key-impl.cpp
45 const char* keyName; ///< X string representation
46 const int daliKeyCode; ///< Dali Enum Representation
47 const bool deviceButton; ///< Whether the key is from a button on the device
50 // Taken from key-impl.cpp
51 KeyLookup KeyLookupTable[]=
53 // KeyName DALi Equivalent true if device key
54 { "Escape", DALI_KEY_ESCAPE, false },
55 { "Menu", DALI_KEY_MENU, false },
56 { KEY_CAMERA, DALI_KEY_CAMERA, false },
57 { KEY_CONFIG, DALI_KEY_CONFIG, false },
58 { KEY_POWER, DALI_KEY_POWER, true },
59 { KEY_PAUSE, DALI_KEY_PAUSE, false },
60 { KEY_CANCEL, DALI_KEY_CANCEL, false },
61 { KEY_PLAYCD, DALI_KEY_PLAY_CD, false },
62 { KEY_STOPCD, DALI_KEY_STOP_CD, false },
63 { KEY_PAUSECD, DALI_KEY_PAUSE_CD, false },
64 { KEY_NEXTSONG, DALI_KEY_NEXT_SONG, false },
65 { KEY_PREVIOUSSONG, DALI_KEY_PREVIOUS_SONG, false },
66 { KEY_REWIND, DALI_KEY_REWIND, false },
67 { KEY_FASTFORWARD, DALI_KEY_FASTFORWARD, false },
68 { KEY_MEDIA, DALI_KEY_MEDIA, false },
69 { KEY_PLAYPAUSE, DALI_KEY_PLAY_PAUSE, false },
70 { KEY_MUTE, DALI_KEY_MUTE, false },
71 { KEY_SEND, DALI_KEY_SEND, true },
72 { KEY_SELECT, DALI_KEY_SELECT, true },
73 { KEY_END, DALI_KEY_END, true },
74 { KEY_MENU, DALI_KEY_MENU, true },
75 { KEY_HOME, DALI_KEY_HOME, true },
76 { KEY_BACK, DALI_KEY_BACK, true },
77 { KEY_HOMEPAGE, DALI_KEY_HOMEPAGE, false },
78 { KEY_WEBPAGE, DALI_KEY_WEBPAGE, false },
79 { KEY_MAIL, DALI_KEY_MAIL, false },
80 { KEY_SCREENSAVER, DALI_KEY_SCREENSAVER, false },
81 { KEY_BRIGHTNESSUP, DALI_KEY_BRIGHTNESS_UP, false },
82 { KEY_BRIGHTNESSDOWN, DALI_KEY_BRIGHTNESS_DOWN, false },
83 { KEY_SOFTKBD, DALI_KEY_SOFT_KBD, false },
84 { KEY_QUICKPANEL, DALI_KEY_QUICK_PANEL, false },
85 { KEY_TASKSWITCH, DALI_KEY_TASK_SWITCH, false },
86 { KEY_APPS, DALI_KEY_APPS, false },
87 { KEY_SEARCH, DALI_KEY_SEARCH, false },
88 { KEY_VOICE, DALI_KEY_VOICE, false },
89 { KEY_LANGUAGE, DALI_KEY_LANGUAGE, false },
90 { KEY_VOLUMEUP, DALI_KEY_VOLUME_UP, true },
91 { KEY_VOLUMEDOWN, DALI_KEY_VOLUME_DOWN, true },
93 const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable))/ (sizeof(KeyLookup));
96 // Generate a KeyPressEvent to send to Core
97 Dali::KeyEvent GenerateKeyPress( const std::string& keyName )
100 keyPress.keyPressedName = keyName;
104 int UtcDaliKeyIsKey(void)
106 TestApplication application;
108 for ( std::size_t i = 0; i < KEY_LOOKUP_COUNT; ++i )
110 tet_printf( "Checking %s", KeyLookupTable[i].keyName );
111 DALI_TEST_CHECK( IsKey( GenerateKeyPress( KeyLookupTable[i].keyName ), KeyLookupTable[i].daliKeyCode ) );
116 int UtcDaliKeyIsKeyNegative(void)
118 TestApplication application;
121 DALI_TEST_CHECK( IsKey( GenerateKeyPress( "invalid-key-name" ), DALI_KEY_MUTE ) == false );
123 // Compare with another key value
124 for ( std::size_t i = 0; i < KEY_LOOKUP_COUNT; ++i )
126 tet_printf( "Checking %s", KeyLookupTable[i].keyName );
127 DALI_TEST_CHECK( IsKey( GenerateKeyPress( KeyLookupTable[i].keyName ), KeyLookupTable[ ( i + 1 ) % KEY_LOOKUP_COUNT ].daliKeyCode ) == false );