gtk+ r19410 - in trunk: . tests
- From: johan svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk+ r19410 - in trunk: . tests
- Date: Sat, 26 Jan 2008 12:22:33 +0000 (GMT)
Author: johan
Date: Sat Jan 26 12:22:33 2008
New Revision: 19410
URL: http://svn.gnome.org/viewvc/gtk+?rev=19410&view=rev
Log:
2008-01-26 Johan Dahlin <johan gnome org>
* tests/Makefile.am:
* tests/textbuffertest.c:
Rename textbuffer test and port it to the new test framework
Added:
trunk/tests/textbuffertest.c
- copied, changed from r19409, /trunk/tests/testtextbuffer.c
Removed:
trunk/tests/testtextbuffer.c
Modified:
trunk/ChangeLog
trunk/tests/Makefile.am
Modified: trunk/tests/Makefile.am
==============================================================================
--- trunk/tests/Makefile.am (original)
+++ trunk/tests/Makefile.am Sat Jan 26 12:22:33 2008
@@ -45,6 +45,10 @@
endif
defaultvaluetest_DEPENDENCIES = $(TEST_DEPS)
defaultvaluetest_LDADD = $(LDADDS)
+TEST_PROGS += textbuffertest
+textbuffertest_DEPENDENCIES = $(TEST_DEPS)
+textbuffertest_LDADD = $(LDADDS)
+textbuffertest_SOURCES = textbuffertest.c
noinst_PROGRAMS = $(TEST_PROGS) \
autotestkeywords \
@@ -85,7 +89,6 @@
testspinbutton \
teststatusicon \
testtext \
- testtextbuffer \
testtoolbar \
stresstest-toolbar \
testtreeedit \
@@ -160,7 +163,6 @@
testspinbutton_DEPENDENCIES = $(TEST_DEPS)
teststatusicon_DEPENDENCIES = $(TEST_DEPS)
testtext_DEPENDENCIES = $(TEST_DEPS)
-testtextbuffer_DEPENDENCIES = $(TEST_DEPS)
testtreeedit_DEPENDENCIES = $(DEPS)
testtreemodel_DEPENDENCIES = $(DEPS)
testtreeview_DEPENDENCIES = $(DEPS)
@@ -213,7 +215,6 @@
testsocket_child_LDADD = $(LDADDS)
testspinbutton_LDADD = $(LDADDS)
teststatusicon_LDADD = $(LDADDS)
-testtextbuffer_LDADD = $(LDADDS)
testtoolbar_LDADD = $(LDADDS)
stresstest_toolbar_LDADD = $(LDADDS)
testtreeedit_LDADD = $(LDADDS)
Copied: trunk/tests/textbuffertest.c (from r19409, /trunk/tests/testtextbuffer.c)
==============================================================================
--- /trunk/tests/testtextbuffer.c (original)
+++ trunk/tests/textbuffertest.c Sat Jan 26 12:22:33 2008
@@ -36,119 +36,6 @@
gtk_text_iter_get_line_index (iter));
}
-static void fill_buffer (GtkTextBuffer *buffer);
-
-static void run_tests (GtkTextBuffer *buffer);
-
-static void check_get_set_text (GtkTextBuffer *buffer,
- const char *str);
-
-
-static void line_separator_tests (void);
-
-static void logical_motion_tests (void);
-
-static void mark_tests (void);
-
-int
-main (int argc, char** argv)
-{
- GtkTextBuffer *buffer;
- int n;
- gunichar ch;
- GtkTextIter start, end;
-
- gtk_init (&argc, &argv);
-
- /* Check UTF8 unknown char thing */
- g_assert (g_utf8_strlen (gtk_text_unknown_char_utf8, 3) == 1);
- ch = g_utf8_get_char (gtk_text_unknown_char_utf8);
- g_assert (ch == GTK_TEXT_UNKNOWN_CHAR);
-
- /* First, we turn on btree debugging. */
- gtk_debug_flags |= GTK_DEBUG_TEXT;
-
- /* Check some line separator stuff */
- line_separator_tests ();
-
- /* Check log attr motion */
- logical_motion_tests ();
-
- /* Create a buffer */
- buffer = gtk_text_buffer_new (NULL);
-
- /* Marks */
- mark_tests ();
-
- /* Check that buffer starts with one empty line and zero chars */
-
- n = gtk_text_buffer_get_line_count (buffer);
- if (n != 1)
- g_error ("%d lines, expected 1", n);
-
- n = gtk_text_buffer_get_char_count (buffer);
- if (n != 0)
- g_error ("%d chars, expected 0", n);
-
- /* empty first line contains 0 chars */
- gtk_text_buffer_get_start_iter (buffer, &start);
- n = gtk_text_iter_get_chars_in_line (&start);
- if (n != 0)
- g_error ("%d chars in first line, expected 0", n);
- n = gtk_text_iter_get_bytes_in_line (&start);
- if (n != 0)
- g_error ("%d bytes in first line, expected 0", n);
-
- /* Run gruesome alien test suite on buffer */
- run_tests (buffer);
-
- /* Check set/get text */
- check_get_set_text (buffer, "Hello");
- check_get_set_text (buffer, "Hello\n");
- check_get_set_text (buffer, "Hello\r\n");
- check_get_set_text (buffer, "Hello\r");
- check_get_set_text (buffer, "Hello\nBar\nFoo");
- check_get_set_text (buffer, "Hello\nBar\nFoo\n");
-
- g_print ("get/set tests passed.\n");
-
- /* Put stuff in the buffer */
-
- fill_buffer (buffer);
-
- /* Subject stuff-bloated buffer to further torment */
- run_tests (buffer);
-
- /* Delete all stuff from the buffer */
- gtk_text_buffer_get_bounds (buffer, &start, &end);
- gtk_text_buffer_delete (buffer, &start, &end);
-
- /* Check buffer for emptiness (note that a single
- empty line always remains in the buffer) */
- n = gtk_text_buffer_get_line_count (buffer);
- if (n != 1)
- g_error ("%d lines, expected 1", n);
-
- n = gtk_text_buffer_get_char_count (buffer);
- if (n != 0)
- g_error ("%d chars, expected 0", n);
-
- run_tests (buffer);
-
- gtk_text_buffer_set_text (buffer, "adcdef", -1);
- gtk_text_buffer_get_iter_at_offset (buffer, &start, 1);
- gtk_text_buffer_get_iter_at_offset (buffer, &end, 3);
- gtk_text_buffer_apply_tag_by_name (buffer, "fg_blue", &start, &end);
-
- run_tests (buffer);
-
- g_object_unref (buffer);
-
- g_print ("All tests passed.\n");
-
- return 0;
-}
-
static void
check_get_set_text (GtkTextBuffer *buffer,
const char *str)
@@ -995,7 +882,7 @@
}
static void
-line_separator_tests (void)
+test_line_separator (void)
{
char *str;
char buf[7] = { '\0', };
@@ -1023,12 +910,10 @@
g_free (str);
split_r_n_separators_test ();
-
- g_print ("Line separator tests passed\n");
}
static void
-logical_motion_tests (void)
+test_logical_motion (void)
{
char *str;
char buf1[7] = { '\0', };
@@ -1211,13 +1096,11 @@
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");
-
g_object_unref (buffer);
}
static void
-mark_tests (void)
+test_marks (void)
{
GtkTextBuffer *buf1, *buf2;
GtkTextMark *mark;
@@ -1285,3 +1168,138 @@
g_object_unref (buf1);
g_object_unref (buf2);
}
+
+static void
+test_utf8 (void)
+{
+ gunichar ch;
+
+ /* Check UTF8 unknown char thing */
+ g_assert (g_utf8_strlen (gtk_text_unknown_char_utf8, 3) == 1);
+ ch = g_utf8_get_char (gtk_text_unknown_char_utf8);
+ g_assert (ch == GTK_TEXT_UNKNOWN_CHAR);
+}
+
+static void
+test_empty_buffer (void)
+{
+ GtkTextBuffer *buffer;
+ int n;
+ GtkTextIter start;
+
+ buffer = gtk_text_buffer_new (NULL);
+
+ /* Check that buffer starts with one empty line and zero chars */
+ n = gtk_text_buffer_get_line_count (buffer);
+ if (n != 1)
+ g_error ("%d lines, expected 1", n);
+
+ n = gtk_text_buffer_get_char_count (buffer);
+ if (n != 0)
+ g_error ("%d chars, expected 0", n);
+
+ /* empty first line contains 0 chars */
+ gtk_text_buffer_get_start_iter (buffer, &start);
+ n = gtk_text_iter_get_chars_in_line (&start);
+ if (n != 0)
+ g_error ("%d chars in first line, expected 0", n);
+ n = gtk_text_iter_get_bytes_in_line (&start);
+ if (n != 0)
+ g_error ("%d bytes in first line, expected 0", n);
+
+ /* Run gruesome alien test suite on buffer */
+ run_tests (buffer);
+
+ g_object_unref (buffer);
+}
+
+static void
+test_get_set(void)
+{
+ GtkTextBuffer *buffer;
+
+ buffer = gtk_text_buffer_new (NULL);
+
+ check_get_set_text (buffer, "Hello");
+ check_get_set_text (buffer, "Hello\n");
+ check_get_set_text (buffer, "Hello\r\n");
+ check_get_set_text (buffer, "Hello\r");
+ check_get_set_text (buffer, "Hello\nBar\nFoo");
+ check_get_set_text (buffer, "Hello\nBar\nFoo\n");
+
+ g_object_unref (buffer);
+}
+
+static void
+test_fill_empty (void)
+{
+ GtkTextBuffer *buffer;
+ int n;
+ GtkTextIter start, end;
+
+ buffer = gtk_text_buffer_new (NULL);
+
+ /* Put stuff in the buffer */
+ fill_buffer (buffer);
+
+ /* Subject stuff-bloated buffer to further torment */
+ run_tests (buffer);
+
+ /* Delete all stuff from the buffer */
+ gtk_text_buffer_get_bounds (buffer, &start, &end);
+ gtk_text_buffer_delete (buffer, &start, &end);
+
+ /* Check buffer for emptiness (note that a single
+ empty line always remains in the buffer) */
+ n = gtk_text_buffer_get_line_count (buffer);
+ if (n != 1)
+ g_error ("%d lines, expected 1", n);
+
+ n = gtk_text_buffer_get_char_count (buffer);
+ if (n != 0)
+ g_error ("%d chars, expected 0", n);
+
+ run_tests (buffer);
+
+ g_object_unref (buffer);
+}
+
+static void
+test_tag (void)
+{
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+
+ buffer = gtk_text_buffer_new (NULL);
+
+ fill_buffer (buffer);
+
+ gtk_text_buffer_set_text (buffer, "adcdef", -1);
+ gtk_text_buffer_get_iter_at_offset (buffer, &start, 1);
+ gtk_text_buffer_get_iter_at_offset (buffer, &end, 3);
+ gtk_text_buffer_apply_tag_by_name (buffer, "fg_blue", &start, &end);
+
+ run_tests (buffer);
+
+ g_object_unref (buffer);
+}
+
+int
+main (int argc, char** argv)
+{
+ /* First, we turn on btree debugging. */
+ gtk_debug_flags |= GTK_DEBUG_TEXT;
+
+ gtk_test_init (&argc, &argv);
+
+ g_test_add_func ("/TextBuffer/UTF8 unknown char", test_utf8);
+ g_test_add_func ("/TextBuffer/Line separator", test_line_separator);
+ g_test_add_func ("/TextBuffer/Logical motion", test_logical_motion);
+ g_test_add_func ("/TextBuffer/Marks", test_marks);
+ g_test_add_func ("/TextBuffer/Empty buffer", test_empty_buffer);
+ g_test_add_func ("/TextBuffer/Get and Set", test_get_set);
+ g_test_add_func ("/TextBuffer/Fill and Empty", test_fill_empty);
+ g_test_add_func ("/TextBuffer/Tag", test_tag);
+
+ return g_test_run();
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]