diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-05 20:47:38 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-05 20:48:09 -0400 |
commit | cd7c0f8ae907602d2aee6ac3d55acb8db7ea52d0 (patch) | |
tree | f7bc65b44598609fe089a0f4a8c9731b44b31cf4 | |
parent | 5f91bb81ed059f5898886e1b71cd9e8e1006e113 (diff) | |
download | gtk+-quick-keyboard-input.tar.gz |
Add a test for quick key eventsquick-keyboard-input
-rw-r--r-- | testsuite/headless/headless-input-tests.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/testsuite/headless/headless-input-tests.py b/testsuite/headless/headless-input-tests.py index 99e5251e80..9425580e39 100644 --- a/testsuite/headless/headless-input-tests.py +++ b/testsuite/headless/headless-input-tests.py @@ -33,6 +33,7 @@ def wait(millis): display = None window = None +entry = None expected_change = None def key_pressed_cb (controller, keyval, keycode, state): @@ -227,11 +228,44 @@ def launch_observer(): # we need to wait out the map animation, or pointer coords will be off wait(1000) +def launch_entry(): + global display + global window + global entry + + if verbose: + print('launch entry') + + if display == None: + display = Gdk.Display.open(os.getenv('WAYLAND_DISPLAY')) + + window = Gtk.Window.new() + + entry = Gtk.Entry.new() + + window.set_child(entry) + + window.connect('notify::is-active', got_active) + window.maximize() + window.present() + + wait(500) + + assert window.is_active(), "Observer not active" + assert window.get_width() == 1024, "Window not maximized" + assert window.get_height() == 768, "Window not maximized" + + # we need to wait out the map animation, or pointer coords will be off + wait(1000) + def stop_observer(): global window window.destroy() window = None +def expect_entry_text(text): + assert text == entry.get_text(), "Unexpected entry text: " + entry.get_text() + def key_press(keyval): if verbose: print(f'press key {keyval}') @@ -290,6 +324,27 @@ def basic_keyboard_tests(): print("Error in basic_keyboard_tests: {0}".format(e)) terminate() +def quick_typing_test(): + try: + launch_entry() + + key_press(Gdk.KEY_T) + key_release(Gdk.KEY_T) + key_press(Gdk.KEY_e) + key_release(Gdk.KEY_e) + key_press(Gdk.KEY_s) + key_release(Gdk.KEY_s) + key_press(Gdk.KEY_t) + key_release(Gdk.KEY_t) + + wait(100) + expect_entry_text("Test") + + stop_observer() + except AssertionError as e: + print("Error in quick_typing_test: {0}".format(e)) + terminate() + def basic_pointer_tests(): try: pointer_move(-100.0, -100.0) @@ -508,6 +563,7 @@ def mutter_appeared(name): basic_keyboard_tests() basic_pointer_tests() dnd_tests() + quick_typing_test() session.Stop() |