summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Borelli <pborelli@gnome.org>2016-04-21 22:54:55 +0200
committerMatthias Clasen <mclasen@redhat.com>2016-05-05 15:03:58 -0400
commit136409b8cdd86bf74c9db08d6d9e1ffb4aa34d35 (patch)
tree1c5c9bb0abfa05e3d1e50a05aa0eb71c9705a5ec
parent84e0bef15007cc8158e4e5695e4bcac1a1ff8c66 (diff)
downloadgtk+-136409b8cdd86bf74c9db08d6d9e1ffb4aa34d35.tar.gz
textiter: add unit test for forward_to_line_end
Surprisingly we had no unit test for this method
-rw-r--r--testsuite/gtk/textiter.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/gtk/textiter.c b/testsuite/gtk/textiter.c
index 51c209b5c6..f022e92381 100644
--- a/testsuite/gtk/textiter.c
+++ b/testsuite/gtk/textiter.c
@@ -331,6 +331,38 @@ test_forward_to_tag_toggle (void)
}
static void
+check_forward_line_end (const gchar *buffer_text,
+ gint initial_offset,
+ gint result_offset,
+ gboolean ret)
+{
+ GtkTextBuffer *buffer;
+ GtkTextIter iter;
+
+ buffer = gtk_text_buffer_new (NULL);
+ gtk_text_buffer_set_text (buffer, buffer_text, -1);
+
+ gtk_text_buffer_get_iter_at_offset (buffer, &iter, initial_offset);
+
+ g_assert_cmpint (ret, ==, gtk_text_iter_forward_to_line_end (&iter));
+ g_assert_cmpint (result_offset, ==, gtk_text_iter_get_offset (&iter));
+
+ g_object_unref (buffer);
+}
+
+static void
+test_forward_to_line_end (void)
+{
+ check_forward_line_end("a", 0, 1, FALSE);
+ check_forward_line_end("a\n", 0, 1, TRUE);
+ check_forward_line_end("a\r\n", 0, 1, TRUE);
+ check_forward_line_end("a\na\n", 1, 3, TRUE);
+ check_forward_line_end("a\na\n\n", 1, 3, TRUE);
+ check_forward_line_end("a\r\na\n", 1, 4, TRUE);
+ check_forward_line_end("a\r\na\r\n\r\n", 1, 4, TRUE);
+}
+
+static void
check_word_boundaries (const gchar *buffer_text,
gint offset,
gboolean starts_word,
@@ -721,6 +753,7 @@ main (int argc, char** argv)
g_test_add_func ("/TextIter/Search", test_search);
g_test_add_func ("/TextIter/Search Caseless", test_search_caseless);
g_test_add_func ("/TextIter/Forward To Tag Toggle", test_forward_to_tag_toggle);
+ g_test_add_func ("/TextIter/Forward To Line End", test_forward_to_line_end);
g_test_add_func ("/TextIter/Word Boundaries", test_word_boundaries);
g_test_add_func ("/TextIter/Visible Word Boundaries", test_visible_word_boundaries);
g_test_add_func ("/TextIter/Cursor Positions", test_cursor_positions);