1 //
2 // Copyright RIME Developers
3 // Distributed under the BSD License
4 //
5 // 2011-04-07 GONG Chen <chen.sst@gmail.com>
6 //
7 #include <gtest/gtest.h>
8 #include <rime/key_table.h>
9
TEST(RimeKeyTableTest,KeycodeLookup)10 TEST(RimeKeyTableTest, KeycodeLookup) {
11 EXPECT_EQ(kControlMask, RimeGetModifierByName("Control"));
12 EXPECT_EQ(0, RimeGetModifierByName("abracadabra"));
13 EXPECT_EQ(0, RimeGetModifierByName("control"));
14 EXPECT_STREQ("Control", RimeGetModifierName(kControlMask));
15 EXPECT_STREQ("Release", RimeGetModifierName(kReleaseMask));
16 EXPECT_STREQ("Control", RimeGetModifierName(kControlMask | kReleaseMask));
17 }
18
TEST(RimeKeyTableTest,ModifierLookup)19 TEST(RimeKeyTableTest, ModifierLookup) {
20 EXPECT_EQ(XK_A, RimeGetKeycodeByName("A"));
21 EXPECT_EQ(XK_z, RimeGetKeycodeByName("z"));
22 EXPECT_EQ(XK_0, RimeGetKeycodeByName("0"));
23 EXPECT_EQ(XK_grave, RimeGetKeycodeByName("grave"));
24 EXPECT_EQ(XK_VoidSymbol, RimeGetKeycodeByName("abracadabra"));
25 EXPECT_EQ(XK_VoidSymbol, RimeGetKeycodeByName("Control+c"));
26 EXPECT_STREQ("a", RimeGetKeyName(XK_a));
27 EXPECT_STREQ("space", RimeGetKeyName(XK_space));
28 EXPECT_STREQ(NULL, RimeGetKeyName(0xfffe));
29 EXPECT_STREQ(NULL, RimeGetKeyName(0xfffffe));
30 }
31