From d12649a0afd1097a4915007316b402ee4f5cc1a2 Mon Sep 17 00:00:00 2001 From: Lukáš Růžička Date: Jan 22 2020 15:05:28 +0000 Subject: Add more tests and needles. --- diff --git a/lib/libgedit.pm b/lib/libgedit.pm index c9cd06e..2d9fac6 100644 --- a/lib/libgedit.pm +++ b/lib/libgedit.pm @@ -72,6 +72,39 @@ sub open_file { assert_screen "gedit_text_added"; } +sub find_text { + send_key "ctrl-f"; + type_safely "sweetest"; + send_key "ret"; + # The found item is blue at first and after any action it changes to yellow. Let's move the cursor to + # change it into yellow for assertion. + send_key "left"; + assert_screen "gedit_text_found"; +} + +sub find_and_replace { + send_key "ctrl-h"; + type_safely "Gale"; + # Now, to move to the Replace field we need to hit tab twice + send_key "tab"; + send_key "tab"; + type_safely "Wind"; + assert_and_click "gedit_find"; + assert_and_click "gedit_replace"; + # Move out the floating window and put cursor at the end. + send_key "esc"; + send_key "ctrl-end"; + assert_screen "gedit_text_replaced"; +} + +sub clear_highlight { + assert_and_click "gnome_burger_menu"; + assert_and_click "gedit_clear_highlight"; + # Move cursor out of text. + send_key "ctrl_end"; + assert_screen "gedit_text_added"; +} + 1; diff --git a/needles/gnome/gedit/gedit_clear_highlight.json b/needles/gnome/gedit/gedit_clear_highlight.json new file mode 100644 index 0000000..88ad6ec --- /dev/null +++ b/needles/gnome/gedit/gedit_clear_highlight.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_clear_highlight" + ], + "area": [ + { + "xpos": 784, + "ypos": 290, + "width": 104, + "height": 21, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_clear_highlight.png b/needles/gnome/gedit/gedit_clear_highlight.png new file mode 100644 index 0000000..cef7979 Binary files /dev/null and b/needles/gnome/gedit/gedit_clear_highlight.png differ diff --git a/needles/gnome/gedit/gedit_find.json b/needles/gnome/gedit/gedit_find.json new file mode 100644 index 0000000..555f7d7 --- /dev/null +++ b/needles/gnome/gedit/gedit_find.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_find" + ], + "area": [ + { + "xpos": 482, + "ypos": 372, + "width": 36, + "height": 19, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_find.png b/needles/gnome/gedit/gedit_find.png new file mode 100644 index 0000000..9013f46 Binary files /dev/null and b/needles/gnome/gedit/gedit_find.png differ diff --git a/needles/gnome/gedit/gedit_found_text.json b/needles/gnome/gedit/gedit_found_text.json new file mode 100644 index 0000000..703ba1b --- /dev/null +++ b/needles/gnome/gedit/gedit_found_text.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_found_text" + ], + "area": [ + { + "xpos": 102, + "ypos": 165, + "width": -64, + "height": 17, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_found_text.png b/needles/gnome/gedit/gedit_found_text.png new file mode 100644 index 0000000..356203e Binary files /dev/null and b/needles/gnome/gedit/gedit_found_text.png differ diff --git a/needles/gnome/gedit/gedit_replace.json b/needles/gnome/gedit/gedit_replace.json new file mode 100644 index 0000000..51a5af4 --- /dev/null +++ b/needles/gnome/gedit/gedit_replace.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_replace" + ], + "area": [ + { + "xpos": 583, + "ypos": 526, + "width": 56, + "height": 20, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_replace.png b/needles/gnome/gedit/gedit_replace.png new file mode 100644 index 0000000..71b9e71 Binary files /dev/null and b/needles/gnome/gedit/gedit_replace.png differ diff --git a/needles/gnome/gedit/gedit_replace_all.json b/needles/gnome/gedit/gedit_replace_all.json new file mode 100644 index 0000000..29af722 --- /dev/null +++ b/needles/gnome/gedit/gedit_replace_all.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_replace_all" + ], + "area": [ + { + "xpos": 453, + "ypos": 526, + "width": 79, + "height": 18, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_replace_all.png b/needles/gnome/gedit/gedit_replace_all.png new file mode 100644 index 0000000..df1e836 Binary files /dev/null and b/needles/gnome/gedit/gedit_replace_all.png differ diff --git a/needles/gnome/gedit/gedit_text_replaced.json b/needles/gnome/gedit/gedit_text_replaced.json new file mode 100644 index 0000000..dfd10ed --- /dev/null +++ b/needles/gnome/gedit/gedit_text_replaced.json @@ -0,0 +1,15 @@ +{ + "properties": [], + "tags": [ + "gedit_text_replaced" + ], + "area": [ + { + "xpos": 2, + "ypos": 166, + "width": 315, + "height": 15, + "type": "match" + } + ] +} \ No newline at end of file diff --git a/needles/gnome/gedit/gedit_text_replaced.png b/needles/gnome/gedit/gedit_text_replaced.png new file mode 100644 index 0000000..ec9fb66 Binary files /dev/null and b/needles/gnome/gedit/gedit_text_replaced.png differ diff --git a/tests/apptests/gedit.pm b/tests/apptests/gedit.pm index fbef7b0..6940b60 100644 --- a/tests/apptests/gedit.pm +++ b/tests/apptests/gedit.pm @@ -6,12 +6,15 @@ use libgedit; # This is a master file for all gedit's functionality tests. If you want to add more tests, please create # them separately and register them here in this master file. +# The test will start the application several times and test a bunch of features. sub run { my $self = shift; + # Start the application + libgedit::start(); + # Test the About menu - libgedit::start(); libgedit::about(); # Enter text @@ -35,6 +38,15 @@ sub run { # Start anew and open the saved file. libgedit::start(); libgedit::open_file(); + + # Find a piece of text + libgedit::find_text(); + + # Clear the highlighted background + libgedit::clear_highlights(); + + # Find and replace a word + libgedit::find_and_replace; } sub test_flags {