[gtk/wip/chergert/4575-fix-texthistory-selection: 2/4] testsuite: add failing test for delete selection




commit 99d8dd751e74bd383c7c0cc775cc6cd3ff2080ea
Author: Christian Hergert <chergert redhat com>
Date:   Sun Dec 26 12:46:16 2021 -0800

    testsuite: add failing test for delete selection
    
    This adds a test to expose the failure of #4575 which results in the
    selection being incorrect when performing a delete as we are likely
    already in a begin_user_action()/end_user_action() pair.
    
    Related #4575

 testsuite/gtk/texthistory.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
---
diff --git a/testsuite/gtk/texthistory.c b/testsuite/gtk/texthistory.c
index 4da0dc5ab0..933c8611e9 100644
--- a/testsuite/gtk/texthistory.c
+++ b/testsuite/gtk/texthistory.c
@@ -619,6 +619,22 @@ test_issue_4276 (void)
   run_test (commands, G_N_ELEMENTS (commands), 0);
 }
 
+static void
+test_issue_4575 (void)
+{
+  const Command commands[] = {
+    { INSERT, 0, -1, "this is some text", "this is some text", SET, UNSET, UNSET },
+    { SELECT, 5, 8, NULL, NULL, SET, UNSET, UNSET },
+    { BEGIN_USER, -1, -1, NULL, NULL, UNSET, UNSET, UNSET },
+    { DELETE_KEY, 5, 8, "is ", "this some text", UNSET, UNSET, UNSET, IGNORE_SELECT },
+    { END_USER, -1, -1, NULL, NULL, SET, UNSET, UNSET },
+    { UNDO, -1, -1, NULL, "this is some text", SET, SET, UNSET },
+    { CHECK_SELECT, 5, 8, NULL, "this is some text", SET, SET, UNSET },
+  };
+
+  run_test (commands, G_N_ELEMENTS (commands), 0);
+}
+
 int
 main (int   argc,
       char *argv[])
@@ -640,6 +656,7 @@ main (int   argc,
   g_test_add_func ("/Gtk/TextHistory/test13", test13);
   g_test_add_func ("/Gtk/TextHistory/test14", test14);
   g_test_add_func ("/Gtk/TextHistory/issue_4276", test_issue_4276);
+  g_test_add_func ("/Gtk/TextHistory/issue_4575", test_issue_4575);
 
   return g_test_run ();
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]