1.1 --- a/gplate/tags/tests/test-text-tag.c Sat Jun 26 13:56:06 2010 -0500
1.2 +++ b/gplate/tags/tests/test-text-tag.c Fri Jul 02 02:56:50 2010 -0500
1.3 @@ -2,86 +2,39 @@
1.4
1.5 #include <glib.h>
1.6
1.7 -/******************************************************************************
1.8 - * Fixtures
1.9 - *****************************************************************************/
1.10 -typedef struct {
1.11 - GPlateTemplate *template;
1.12 - GError *error;
1.13 -
1.14 - const gchar *template_string;
1.15 -
1.16 - const gchar *expected;
1.17 - gchar *actual;
1.18 -} GPlateTextTagTestFixture;
1.19 -
1.20 -static void
1.21 -gplate_text_tag_test_setup(GPlateTextTagTestFixture *fixture,
1.22 - gconstpointer user_data)
1.23 -{
1.24 - fixture->template = gplate_template_new();
1.25 -}
1.26 -
1.27 -static void
1.28 -gplate_text_tag_test_teardown(GPlateTextTagTestFixture *fixture,
1.29 - gconstpointer user_data)
1.30 -{
1.31 - g_object_unref(fixture->template);
1.32 -
1.33 - if(fixture->error) {
1.34 - g_error_free(fixture->error);
1.35 - fixture->error = NULL;
1.36 - }
1.37 -
1.38 - g_free(fixture->actual);
1.39 - fixture->actual = NULL;
1.40 -}
1.41 -
1.42 -/******************************************************************************
1.43 - * Helpers
1.44 - *****************************************************************************/
1.45 -static void
1.46 -gplate_text_tag_test_output(GPlateTextTagTestFixture *fixture) {
1.47 - fixture->actual = gplate_template_render(fixture->template,
1.48 - fixture->template_string,
1.49 - &fixture->error);
1.50 -
1.51 - g_assert(fixture->error == NULL);
1.52 -
1.53 - g_assert_cmpstr(fixture->expected, ==, fixture->actual);
1.54 -}
1.55 +#include "gplate-tag-test.h"
1.56
1.57 /******************************************************************************
1.58 * Tests
1.59 *****************************************************************************/
1.60 static void
1.61 -gplate_text_tag_test_syntax_plain(GPlateTextTagTestFixture *fixture,
1.62 - gconstpointer user_data)
1.63 +gplate_text_tag_test_syntax_plain(GPlateTagTestFixture *fixture,
1.64 + gconstpointer data)
1.65 {
1.66 fixture->template_string = "simple template";
1.67 fixture->expected = "simple template";
1.68
1.69 - gplate_text_tag_test_output(fixture);
1.70 + gplate_tag_test_output(fixture, data);
1.71 }
1.72
1.73 static void
1.74 -gplate_text_tag_test_syntax_keywords(GPlateTextTagTestFixture *fixture,
1.75 - gconstpointer user_data)
1.76 +gplate_text_tag_test_syntax_keywords(GPlateTagTestFixture *fixture,
1.77 + gconstpointer data)
1.78 {
1.79 fixture->template_string = "extends if else endif for endfor";
1.80 fixture->expected = "extends if else endif for endfor";
1.81
1.82 - gplate_text_tag_test_output(fixture);
1.83 + gplate_tag_test_output(fixture, data);
1.84 }
1.85
1.86 static void
1.87 -gplate_text_tag_test_syntax_keywords_case_sensitive(GPlateTextTagTestFixture *fixture,
1.88 - gconstpointer user_data)
1.89 +gplate_text_tag_test_syntax_keywords_case_sensitive(GPlateTagTestFixture *fixture,
1.90 + gconstpointer data)
1.91 {
1.92 fixture->template_string = "EXteNds iF eLse enDif fOr enDFor";
1.93 fixture->expected = "EXteNds iF eLse enDif fOr enDFor";
1.94
1.95 - gplate_text_tag_test_output(fixture);
1.96 + gplate_tag_test_output(fixture, data);
1.97 }
1.98
1.99 /******************************************************************************
1.100 @@ -95,26 +48,12 @@
1.101
1.102 gplate_config_load_default();
1.103
1.104 - g_test_add("/tags/text/plain",
1.105 - GPlateTextTagTestFixture,
1.106 - NULL,
1.107 - gplate_text_tag_test_setup,
1.108 - gplate_text_tag_test_syntax_plain,
1.109 - gplate_text_tag_test_teardown);
1.110 -
1.111 - g_test_add("/tags/text/keywords",
1.112 - GPlateTextTagTestFixture,
1.113 - NULL,
1.114 - gplate_text_tag_test_setup,
1.115 - gplate_text_tag_test_syntax_keywords,
1.116 - gplate_text_tag_test_teardown);
1.117 -
1.118 - g_test_add("/tags/text/keywords_case_sensitive",
1.119 - GPlateTextTagTestFixture,
1.120 - NULL,
1.121 - gplate_text_tag_test_setup,
1.122 - gplate_text_tag_test_syntax_keywords_case_sensitive,
1.123 - gplate_text_tag_test_teardown);
1.124 + gplate_tag_test_add("/tags/text/plain",
1.125 + gplate_text_tag_test_syntax_plain);
1.126 + gplate_tag_test_add("/tags/text/keywords",
1.127 + gplate_text_tag_test_syntax_keywords);
1.128 + gplate_tag_test_add("/tags/text/keywords_case_sensitive",
1.129 + gplate_text_tag_test_syntax_keywords_case_sensitive);
1.130
1.131 return g_test_run();
1.132 }