Skip to content

Commit

Permalink
Adding tests for keyboard selection
Browse files Browse the repository at this point in the history
  • Loading branch information
adamkankovsky committed Jan 28, 2025
1 parent b402224 commit 5000fcd
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
29 changes: 29 additions & 0 deletions test/check-language
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,35 @@ class TestLanguage(VirtInstallMachineCase):
# test the macedonian language selected
r.check_language("mk_MK.UTF-8")

def testKeyboardLayoutSelection(self):
b = self.browser
m = self.machine
i = Installer(b, m)
l = Language(b, m)

l.dbus_set_language("en_US.UTF-8")
i.open()

l.check_selected_keyboard_on_device("us")
b.wait_in_text("h2", "Welcome to Fedora Linux")

l.select_locale("de_DE")
l.check_selected_locale("de_DE")

l.check_selected_keyboard_on_device("de")

l.select_locale("cs_CZ", is_common=False)
l.check_selected_locale("cs_CZ", is_common=False)

l.check_selected_keyboard_on_device("cz")

l.select_keyboard_layout("cz:qwerty")
l.check_selected_keyboard_on_device("cz", "qwerty")

l.select_locale("en_US")
l.check_selected_locale("en_US")
l.check_selected_keyboard_on_device("us")


if __name__ == '__main__':
test_main()
20 changes: 20 additions & 0 deletions test/helpers/language.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,23 @@ def dbus_set_locale(self, value):
{BOSS_SERVICE} \
{BOSS_OBJECT_PATH} \
{BOSS_INTERFACE} SetLocale s "{value}"')

def select_keyboard_layout(self, layout):
self.browser.select_from_dropdown(".installation-selectors-container select", layout)

def check_selected_keyboard_on_device(self, expected_layout, expected_variant=None):
result = self.machine.execute("localectl status")
layout = None
variant = None

for line in result.splitlines():
if "X11 Layout" in line:
layout = line.split(":")[-1].strip()
if "X11 Model" in line:
variant = line.split(":")[-1].strip()

assert layout == expected_layout, f"Expected layout '{expected_layout}', but got '{layout}'"
if expected_variant:
assert variant == expected_variant, f"Expected variant '{expected_variant}', but got '{variant}'"
else:
assert not variant, f"Expected no variant, but got '{variant}'"

0 comments on commit 5000fcd

Please sign in to comment.