[gspell] testsuite: test text deletion with the InlineCheckerTextBuffer
- From: SĂŠbastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gspell] testsuite: test text deletion with the InlineCheckerTextBuffer
- Date: Thu, 11 Feb 2016 16:33:44 +0000 (UTC)
commit 601438b194088a4a26769ae656d74dc0c0f7a3eb
Author: SĂŠbastien Wilmet <swilmet gnome org>
Date: Thu Feb 11 17:23:59 2016 +0100
testsuite: test text deletion with the InlineCheckerTextBuffer
testsuite/test-inline-checker-text-buffer.c | 86 +++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
---
diff --git a/testsuite/test-inline-checker-text-buffer.c b/testsuite/test-inline-checker-text-buffer.c
index d1e0da5..c153cfb 100644
--- a/testsuite/test-inline-checker-text-buffer.c
+++ b/testsuite/test-inline-checker-text-buffer.c
@@ -211,6 +211,89 @@ test_text_insertion (void)
g_object_unref (buffer);
}
+static void
+test_text_deletion (void)
+{
+ GtkTextBuffer *buffer;
+ GspellInlineCheckerTextBuffer *inline_checker;
+ GtkTextIter start;
+ GtkTextIter end;
+
+ buffer = create_buffer ();
+ gtk_text_buffer_set_text (buffer, "Test againnn againnn.", -1);
+
+ inline_checker = _gspell_inline_checker_text_buffer_new (buffer);
+ _gspell_inline_checker_text_buffer_set_unit_test_mode (inline_checker, TRUE);
+
+ check_highlighted_words (buffer,
+ inline_checker,
+ 5, 12,
+ 13, 20,
+ -1);
+
+ /* Modify end of word: misspelled -> still misspelled.
+ * First "againnn" -> "againn"
+ */
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 11);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 12);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ check_highlighted_words (buffer,
+ inline_checker,
+ 5, 11,
+ 12, 19,
+ -1);
+
+ /* Modify end of word: misspelled -> correctly spelled.
+ * "againn" -> "again"
+ */
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 10);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 11);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ check_highlighted_words (buffer,
+ inline_checker,
+ 11, 18,
+ -1);
+
+ /* Modify middle of word: misspelled -> correctly spelled.
+ * Second "agai[nn]n" -> "again"
+ */
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 15);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 17);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ check_highlighted_words (buffer, inline_checker, -1);
+
+ /* Modify word: correctly spelled -> misspelled.
+ * Second "again" -> "agan"
+ */
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 14);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 15);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ check_highlighted_words (buffer,
+ inline_checker,
+ 11, 15,
+ -1);
+
+ /* Collapse two correctly spelled words to form a misspelled word.
+ * "Test again" -> "Testagain"
+ */
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 4);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 5);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ check_highlighted_words (buffer,
+ inline_checker,
+ 0, 9,
+ 10, 14,
+ -1);
+
+ g_object_unref (inline_checker);
+ g_object_unref (buffer);
+}
+
gint
main (gint argc,
gchar **argv)
@@ -223,5 +306,8 @@ main (gint argc,
g_test_add_func ("/inline-checker-text-buffer/text-insertion",
test_text_insertion);
+ g_test_add_func ("/inline-checker-text-buffer/text-deletion",
+ test_text_deletion);
+
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]