[gtksourceview/wip/region-tests] test-region: add real tests
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/region-tests] test-region: add real tests
- Date: Thu, 11 Aug 2016 09:27:38 +0000 (UTC)
commit 39c8b48e25819461d928db9f77750867123753b0
Author: Sébastien Wilmet <swilmet gnome org>
Date: Thu Aug 11 11:11:02 2016 +0200
test-region: add real tests
testsuite/test-region.c | 113 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 107 insertions(+), 6 deletions(-)
---
diff --git a/testsuite/test-region.c b/testsuite/test-region.c
index 989873d..500252d 100644
--- a/testsuite/test-region.c
+++ b/testsuite/test-region.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 2003 - Gustavo Giráldez
* Copyright (C) 2006, 2013 - Paolo Borelli
- * Copyright (C) 2013 - Sébastien Wilmet
+ * Copyright (C) 2013, 2016 - Sébastien Wilmet
*
* GtkSourceView is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -24,6 +24,109 @@
#include <gtksourceview/gtksource.h>
static void
+test_weak_ref (void)
+{
+ GtkTextBuffer *buffer;
+ GtkSourceRegion *region;
+ GtkSourceRegionIter region_iter;
+ GtkTextIter start;
+ GtkTextIter end;
+
+ buffer = gtk_text_buffer_new (NULL);
+ region = gtk_source_region_new (buffer);
+
+ gtk_text_buffer_set_text (buffer, "test_weak_ref", -1);
+ gtk_text_buffer_get_bounds (buffer, &start, &end);
+ gtk_source_region_add_subregion (region, &start, &end);
+
+ g_assert (!gtk_source_region_is_empty (region));
+
+ g_object_unref (buffer);
+
+ g_assert (gtk_source_region_is_empty (region));
+ g_assert (!gtk_source_region_get_bounds (region, &start, &end));
+
+ gtk_source_region_get_start_region_iter (region, ®ion_iter);
+ g_assert (!gtk_source_region_iter_get_subregion (®ion_iter, &start, &end));
+
+ g_object_unref (region);
+}
+
+static void
+add_subregion (GtkSourceRegion *region,
+ gint start_offset,
+ gint end_offset)
+{
+ GtkTextBuffer *buffer;
+ GtkTextIter start_iter;
+ GtkTextIter end_iter;
+
+ buffer = gtk_source_region_get_buffer (region);
+ gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, start_offset);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, end_offset);
+
+ gtk_source_region_add_subregion (region, &start_iter, &end_iter);
+}
+
+static void
+subtract_subregion (GtkSourceRegion *region,
+ gint start_offset,
+ gint end_offset)
+{
+ GtkTextBuffer *buffer;
+ GtkTextIter start_iter;
+ GtkTextIter end_iter;
+
+ buffer = gtk_source_region_get_buffer (region);
+ gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, start_offset);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, end_offset);
+
+ gtk_source_region_subtract_subregion (region, &start_iter, &end_iter);
+}
+
+static void
+check_result (GtkSourceRegion *region,
+ const gchar *expected_result)
+{
+ gchar *expected_region_str;
+ gchar *region_str;
+
+ expected_region_str = g_strconcat ("Subregions: ", expected_result, NULL);
+ region_str = gtk_source_region_to_string (region);
+ g_assert_cmpstr (region_str, ==, expected_region_str);
+
+ g_free (expected_region_str);
+ g_free (region_str);
+}
+
+static void
+test_add_subtract_subregion (void)
+{
+ GtkTextBuffer *buffer;
+ GtkSourceRegion *region;
+
+ buffer = gtk_text_buffer_new (NULL);
+ region = gtk_source_region_new (buffer);
+
+ gtk_text_buffer_set_text (buffer, "This is a test of GtkSourceRegion", -1);
+
+ g_assert (gtk_source_region_is_empty (region));
+
+ /* Add/remove 0-length subregions */
+ add_subregion (region, 5, 5);
+ g_assert (gtk_source_region_is_empty (region));
+ subtract_subregion (region, 5, 5);
+ g_assert (gtk_source_region_is_empty (region));
+
+ /* Add subregion */
+ add_subregion (region, 5, 10);
+ check_result (region, "5-10");
+
+ g_object_unref (buffer);
+ g_object_unref (region);
+}
+
+static void
test_region (void)
{
GtkTextBuffer *buffer;
@@ -36,9 +139,6 @@ test_region (void)
gint ops[][3] =
{
- /* add/remove a 0-length region */
- { 1, 5, 5 },
- { -1, 5, 5 },
/* add a region */
{ 1, 5, 10 },
/* add two adjacent regions */
@@ -92,8 +192,7 @@ test_region (void)
buffer = gtk_text_buffer_new (NULL);
region = gtk_source_region_new (buffer);
- gtk_text_buffer_get_start_iter (buffer, &iter1);
- gtk_text_buffer_insert (buffer, &iter1, "This is a test of GtkSourceRegion", -1);
+ gtk_text_buffer_set_text (buffer, "This is a test of GtkSourceRegion", -1);
gtk_source_region_get_start_region_iter (region, ®_iter);
g_assert (gtk_source_region_iter_is_end (®_iter));
@@ -176,6 +275,8 @@ main (int argc, char **argv)
{
gtk_test_init (&argc, &argv);
+ g_test_add_func ("/Region/weak-ref", test_weak_ref);
+ g_test_add_func ("/Region/add-subtract-subregion", test_add_subtract_subregion);
g_test_add_func ("/Region/region", test_region);
return g_test_run();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]