summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2001-10-02 19:40:54 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-10-02 19:40:54 +0000
commit230b35251a4ad7c2372aad8e16d5eb545f7f980d (patch)
tree387916db1a3cd0562cb32d186d5e4c5cc182bb6f /tests
parentced4124efe73184a02b012a7e5e9fa173dcdc90f (diff)
downloadgtk+-230b35251a4ad7c2372aad8e16d5eb545f7f980d.tar.gz
docs
2001-10-02 Havoc Pennington <hp@redhat.com> * gdk/x11/gdkwindow-x11.c: docs * tests/testtextbuffer.c (logical_motion_tests): add sentence boundary tests 2001-10-02 Havoc Pennington <hp@redhat.com> * gtk/tree_widget.sgml: s/empahsis/emphasis/ * gtk/tmpl/gtkobject.sgml: update docs
Diffstat (limited to 'tests')
-rw-r--r--tests/testtextbuffer.c88
1 files changed, 82 insertions, 6 deletions
diff --git a/tests/testtextbuffer.c b/tests/testtextbuffer.c
index 9f2d332d75..3c6e6f3db6 100644
--- a/tests/testtextbuffer.c
+++ b/tests/testtextbuffer.c
@@ -934,7 +934,7 @@ logical_motion_tests (void)
expected[8] = 11; /* before 'x' */
expected[9] = 12; /* before 'y' */
expected[10] = 13; /* before 'z' */
- expected[11] = 14; /* after 'z' */
+ expected[11] = 14; /* after 'z' (only matters going backward) */
expected_steps = 11;
gtk_text_buffer_get_start_iter (buffer, &iter);
@@ -951,17 +951,15 @@ logical_motion_tests (void)
pos, expected[i]);
}
- /* g_print ("%d = %d\n", pos, expected[i]); */
-
++i;
}
while (gtk_text_iter_forward_cursor_position (&iter));
- if (i != expected_steps)
- g_error ("Expected %d steps, there were actually %d\n", expected_steps, i);
-
if (!gtk_text_iter_is_end (&iter))
g_error ("Expected to stop at the end iterator\n");
+
+ if (i != expected_steps)
+ g_error ("Expected %d steps, there were actually %d\n", expected_steps, i);
i = expected_steps;
do
@@ -987,6 +985,84 @@ logical_motion_tests (void)
if (!gtk_text_iter_is_start (&iter))
g_error ("Expected to stop at the start iterator\n");
+
+
+ /* Check sentence boundaries */
+
+ gtk_text_buffer_set_text (buffer, "Hi.\nHi. \nHi! Hi. Hi? Hi.", -1);
+
+ memset (expected, 0, sizeof (expected));
+
+ expected[0] = 0; /* before first Hi */
+ expected[1] = 3; /* After first . */
+ expected[2] = 7; /* After second . */
+ expected[3] = 12; /* After ! */
+ expected[4] = 16; /* After third . */
+ expected[5] = 20; /* After ? */
+
+ expected_steps = 6;
+
+ gtk_text_buffer_get_start_iter (buffer, &iter);
+ i = 0;
+ do
+ {
+ int pos;
+
+ pos = gtk_text_iter_get_offset (&iter);
+
+ if (pos != expected[i])
+ {
+ g_error ("Sentence position %d, expected %d",
+ pos, expected[i]);
+ }
+
+ ++i;
+ }
+ while (gtk_text_iter_forward_sentence_end (&iter));
+
+ if (i != expected_steps)
+ g_error ("Expected %d steps, there were actually %d\n", expected_steps, i);
+
+ if (!gtk_text_iter_is_end (&iter))
+ g_error ("Expected to stop at the end iterator\n");
+
+ gtk_text_buffer_set_text (buffer, "Hi.\nHi. \nHi! Hi. Hi? Hi.", -1);
+
+ memset (expected, 0, sizeof (expected));
+
+ expected[0] = 24;
+ expected[1] = 22;
+ expected[2] = 17;
+ expected[3] = 14;
+ expected[4] = 9;
+ expected[5] = 4;
+ expected[6] = 0;
+
+ expected_steps = 7;
+
+ gtk_text_buffer_get_end_iter (buffer, &iter);
+ i = 0;
+ do
+ {
+ int pos;
+
+ pos = gtk_text_iter_get_offset (&iter);
+
+ if (pos != expected[i])
+ {
+ g_error ("Sentence position %d, expected %d",
+ pos, expected[i]);
+ }
+
+ ++i;
+ }
+ while (gtk_text_iter_backward_sentence_start (&iter));
+
+ if (i != expected_steps)
+ g_error ("Expected %d steps, there were actually %d\n", expected_steps, i);
+
+ if (gtk_text_iter_get_offset (&iter) != 0)
+ g_error ("Expected to stop at the start iterator\n");
g_print ("Logical motion tests passed\n");