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