Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(109)

Unified Diff: ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc

Issue 817983002: ozone: xkb: Load keymaps on worker thread & cache them (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
diff --git a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
index 5af74e1373df64d10b71d6b8a96eea04254a8f6c..0ae34b6151d95e891416a6bc3f15c2d21217de49 100644
--- a/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
+++ b/ui/events/ozone/layout/xkb/xkb_keyboard_layout_engine_unittest.cc
@@ -39,6 +39,12 @@ class VkTestXkbKeyboardLayoutEngine : public XkbKeyboardLayoutEngine {
ui::KeyboardCode key_code;
};
+ struct RuleNames {
+ std::string layout_name;
+ std::string layout;
+ std::string variant;
+ };
+
public:
VkTestXkbKeyboardLayoutEngine(const XkbKeyCodeConverter& keycode_converter)
: XkbKeyboardLayoutEngine(keycode_converter), entry_(nullptr) {
@@ -743,4 +749,69 @@ TEST_F(XkbLayoutEngineVkTest, KeyboardCodeForPrintable) {
}
}
+TEST_F(XkbLayoutEngineVkTest, XkbRuleNamesForLayoutName) {
+ static const VkTestXkbKeyboardLayoutEngine::RuleNames kVkeyTestCase[] = {
+ /* 0 */ {"us", "us", ""},
+ /* 1 */ {"jp", "jp", ""},
+ /* 2 */ {"us(intl)", "us", "intl"},
+ /* 3 */ {"us(altgr-intl)", "us", "altgr-intl"},
+ /* 4 */ {"us(dvorak)", "us", "dvorak"},
+ /* 5 */ {"us(colemak)", "us", "colemak"},
+ /* 6 */ {"be", "be", ""},
+ /* 7 */ {"fr", "fr", ""},
+ /* 8 */ {"ca", "ca", ""},
+ /* 9 */ {"ch(fr)", "ch", "fr"},
+ /* 10 */ {"ca(multix)", "ca", "multix"},
+ /* 11 */ {"de", "de", ""},
+ /* 12 */ {"de(neo)", "de", "neo"},
+ /* 13 */ {"ch", "ch", ""},
+ /* 14 */ {"ru", "ru", ""},
+ /* 15 */ {"ru(phonetic)", "ru", "phonetic"},
+ /* 16 */ {"br", "br", ""},
+ /* 17 */ {"bg", "bg", ""},
+ /* 18 */ {"bg(phonetic)", "bg", "phonetic"},
+ /* 19 */ {"ca(eng)", "ca", "eng"},
+ /* 20 */ {"cz", "cz", ""},
+ /* 21 */ {"cz(qwerty)", "cz", "qwerty"},
+ /* 22 */ {"ee", "ee", ""},
+ /* 23 */ {"es", "es", ""},
+ /* 24 */ {"es(cat)", "es", "cat"},
+ /* 25 */ {"dk", "dk", ""},
+ /* 26 */ {"gr", "gr", ""},
+ /* 27 */ {"il", "il", ""},
+ /* 28 */ {"latam", "latam", ""},
+ /* 29 */ {"lt", "lt", ""},
+ /* 30 */ {"lv(apostrophe)", "lv", "apostrophe"},
+ /* 31 */ {"hr", "hr", ""},
+ /* 32 */ {"gb(extd)", "gb", "extd"},
+ /* 33 */ {"gb(dvorak)", "gb", "dvorak"},
+ /* 34 */ {"fi", "fi", ""},
+ /* 35 */ {"hu", "hu", ""},
+ /* 36 */ {"it", "it", ""},
+ /* 37 */ {"is", "is", ""},
+ /* 38 */ {"no", "no", ""},
+ /* 39 */ {"pl", "pl", ""},
+ /* 40 */ {"pt", "pt", ""},
+ /* 41 */ {"ro", "ro", ""},
+ /* 42 */ {"se", "se", ""},
+ /* 43 */ {"sk", "sk", ""},
+ /* 44 */ {"si", "si", ""},
+ /* 45 */ {"rs", "rs", ""},
+ /* 46 */ {"tr", "tr", ""},
+ /* 47 */ {"ua", "ua", ""},
+ /* 48 */ {"by", "by", ""},
+ /* 49 */ {"am", "am", ""},
+ /* 50 */ {"ge", "ge", ""},
+ /* 51 */ {"mn", "mn", ""},
+ /* 52 */ {"ie", "ie", ""}};
+ for (size_t i = 0; i < arraysize(kVkeyTestCase); ++i) {
+ SCOPED_TRACE(i);
+ const VkTestXkbKeyboardLayoutEngine::RuleNames* e = &kVkeyTestCase[i];
+ scoped_ptr<xkb_rule_names> names =
+ layout_engine_->GetXkbRuleNames(e->layout_name);
+ EXPECT_EQ(names.get()->layout, e->layout);
+ EXPECT_EQ(names.get()->variant, e->variant);
+ }
+}
+
} // namespace ui

Powered by Google App Engine
This is Rietveld 408576698