[gtksourceview/wip/regex-search] test-search: more unit tests
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/regex-search] test-search: more unit tests
- Date: Tue, 23 Jul 2013 14:26:35 +0000 (UTC)
commit 79a2b4e713ea5c417fd82a672316756841cdd4ce
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue Jul 23 16:13:50 2013 +0200
test-search: more unit tests
The 'replace' doesn't pass.
tests/test-search.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 0 deletions(-)
---
diff --git a/tests/test-search.c b/tests/test-search.c
index ff6e7f3..04dfa7b 100644
--- a/tests/test-search.c
+++ b/tests/test-search.c
@@ -736,6 +736,69 @@ test_occurrence_position (void)
g_object_unref (source_buffer);
}
+static void
+test_replace (void)
+{
+ GtkSourceBuffer *source_buffer = gtk_source_buffer_new (NULL);
+ GtkTextBuffer *text_buffer = GTK_TEXT_BUFFER (source_buffer);
+ GtkTextIter start;
+ GtkTextIter end;
+ gboolean replaced;
+ gchar *contents;
+
+ gtk_text_buffer_set_text (text_buffer, "aaaa", -1);
+ gtk_source_buffer_set_search_text (source_buffer, "aa");
+ flush_queue ();
+
+ gtk_text_buffer_get_iter_at_offset (text_buffer, &start, 1);
+ gtk_text_buffer_get_iter_at_offset (text_buffer, &end, 3);
+
+ replaced = gtk_source_buffer_search_replace (source_buffer, &start, &end, "bb", 2);
+ g_assert (!replaced);
+
+ gtk_text_buffer_get_iter_at_offset (text_buffer, &start, 2);
+ gtk_text_buffer_get_iter_at_offset (text_buffer, &end, 4);
+
+ replaced = gtk_source_buffer_search_replace (source_buffer, &start, &end, "bb", 2);
+ g_assert (replaced);
+
+ gtk_text_buffer_get_start_iter (text_buffer, &start);
+ gtk_text_buffer_get_end_iter (text_buffer, &end);
+
+ contents = gtk_text_iter_get_visible_text (&start, &end);
+ g_assert_cmpstr (contents, ==, "aabb");
+
+ g_free (contents);
+ g_object_unref (source_buffer);
+}
+
+static void
+test_replace_all (void)
+{
+ GtkSourceBuffer *source_buffer = gtk_source_buffer_new (NULL);
+ GtkTextBuffer *text_buffer = GTK_TEXT_BUFFER (source_buffer);
+ gint nb_replacements;
+ GtkTextIter start;
+ GtkTextIter end;
+ gchar *contents;
+
+ gtk_text_buffer_set_text (text_buffer, "aaaa", -1);
+ gtk_source_buffer_set_search_text (source_buffer, "aa");
+ flush_queue ();
+
+ nb_replacements = gtk_source_buffer_search_replace_all (source_buffer, "bb", 2);
+ g_assert_cmpint (nb_replacements, ==, 2);
+
+ gtk_text_buffer_get_start_iter (text_buffer, &start);
+ gtk_text_buffer_get_end_iter (text_buffer, &end);
+
+ contents = gtk_text_iter_get_visible_text (&start, &end);
+ g_assert_cmpstr (contents, ==, "bbbb");
+
+ g_free (contents);
+ g_object_unref (source_buffer);
+}
+
int
main (int argc, char **argv)
{
@@ -756,6 +819,8 @@ main (int argc, char **argv)
g_test_add_func ("/Search/highlight", test_highlight);
g_test_add_func ("/Search/get-search-text", test_get_search_text);
g_test_add_func ("/Search/occurrence-position", test_occurrence_position);
+ g_test_add_func ("/Search/replace", test_replace);
+ g_test_add_func ("/Search/replace", test_replace_all);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]