diff options
Diffstat (limited to 'guththila/tests/test_attribute.c')
-rw-r--r-- | guththila/tests/test_attribute.c | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/guththila/tests/test_attribute.c b/guththila/tests/test_attribute.c new file mode 100644 index 0000000..bd6c4b5 --- /dev/null +++ b/guththila/tests/test_attribute.c @@ -0,0 +1,84 @@ +#include <guththila.h> +#include <check.h> +#include "test.h" + +START_TEST(test_attribute) +{ + int count = 0;; + int c = 0; + guththila_attribute_t *att; + red = guththila_reader_create_for_file(env, "resources/om/evaluate.xml"); + parser = guththila_create(env, red); + guththila_read(env, parser); + c = guththila_next(env, parser); + while (!count) + { + c = guththila_next(env, parser); + count = guththila_get_attribute_count(env, parser); + if (count) + att = guththila_get_attribute(env, parser); + } + fail_if(count == 0, "guththila attribute count failed"); + fail_unless(!strcmp + (guththila_get_attribute_name(env, parser, att), "color"), + "guththila attribute name failed"); + fail_unless(!strcmp + (guththila_get_attribute_value(env, parser, att), "brown"), + "guththila attribute value failed"); +} + +END_TEST +START_TEST( + test_attribute_prefix) +{ + int count = 0; + ; + int c = 0; + guththila_attribute_t *att; + red = guththila_reader_create_for_file(env, "resources/soap/soapmessage.xml"); + parser = guththila_create(env, red); + guththila_read(env, parser); + c = guththila_next(env, parser); + while(!count) + { + c = guththila_next(env, parser); + count = guththila_get_attribute_count(env, parser); + if(count) + att = guththila_get_attribute(env, parser); + } + fail_if(count == 0, "guththila attribute count failed"); + fail_unless(!strcmp(guththila_get_attribute_prefix(env, parser, att), "soapenv"), + "guththila attribute count failed"); + fail_unless(!strcmp(guththila_get_attribute_name(env, parser, att), "mustUnderstand"), + "guththila attribute count failed"); + fail_unless(!strcmp(guththila_get_attribute_value(env, parser, att), "0"), + "guththila attribute count failed"); + count = 0; + while(!count) + { + c = guththila_next(env, parser); + count = guththila_get_attribute_count(env, parser); + if(count) + att = guththila_get_attribute(env, parser); + } + fail_unless(!strcmp(guththila_get_attribute_prefix(env, parser, att), "soapenv"), + "guththila attribute count failed"); + fail_unless(!strcmp(guththila_get_attribute_name(env, parser, att), "mustUnderstand"), + "guththila attribute count failed"); + fail_if(!strcmp(guththila_get_attribute_value(env, parser, att), "1"), + "guththila attribute count failed"); +} +END_TEST Suite * +guththila_attribute_suite( + void) +{ + Suite *s = suite_create("Guththila_attribute"); + + /* Core test case */ + TCase *tc_core = tcase_create("attribute"); + tcase_add_checked_fixture(tc_core, setup, teardown); + tcase_add_test(tc_core, test_attribute); + tcase_add_test(tc_core, test_attribute_prefix); + suite_add_tcase(s, tc_core); + return s; +} |