diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-09-12 10:17:26 +0000 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2008-09-12 10:17:26 +0000 |
commit | 09daafe00fc3a9fc3240886e17eca01b0ed0f3e3 (patch) | |
tree | aab7b62a99cc7da970cdd9d8a701a5268c9138d0 /tests/basic_tests.c | |
parent | 6edfa7935f68fb10282eb878ab1caa6147efc88f (diff) | |
download | lasso-09daafe00fc3a9fc3240886e17eca01b0ed0f3e3.tar.gz lasso-09daafe00fc3a9fc3240886e17eca01b0ed0f3e3.tar.xz lasso-09daafe00fc3a9fc3240886e17eca01b0ed0f3e3.zip |
* Add support of lasso_registry to lasso_node_new_from_xmlNode.
* Add full support for xsi:type, with lookup of the QName namespace, will only
work if lib: namespace is correctly declared in the dumped XML fragment.
* Add a test for the new functionnality in lasso_node_new_from_xmlNode.
Diffstat (limited to 'tests/basic_tests.c')
-rw-r--r-- | tests/basic_tests.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/basic_tests.c b/tests/basic_tests.c index 00880bd3..cd29118a 100644 --- a/tests/basic_tests.c +++ b/tests/basic_tests.c @@ -124,6 +124,34 @@ START_TEST(test07_registry_functional_mapping) } END_TEST +START_TEST(test08_test_new_from_xmlNode) +{ + static GType this_type = 0; + gint r; + LassoNode *node = NULL; + + static const GTypeInfo this_info = { + sizeof (LassoNodeClass), + NULL, + NULL, + NULL, + NULL, + NULL, + sizeof(LassoNode), + 0, + NULL, + }; + + this_type = g_type_register_static(LASSO_TYPE_NODE, + "LassoTest", &this_info, 0); + r = lasso_registry_default_add_direct_mapping("http://example.com", "Test1", LASSO_LASSO_HREF, "LassoTest"); + fail_unless(r == 0, "no mapping for http://example.com:Test1 should exist"); + node = lasso_node_new_from_dump("<Test1 xmlns=\"http://example.com\"></Test1>"); + fail_unless(node != NULL, "parsing <Test1/> should return an object"); + fail_unless(strcmp(G_OBJECT_TYPE_NAME(node), "LassoTest") == 0, "node classname should be LassoTest"); +} +END_TEST + Suite* basic_suite() @@ -136,6 +164,7 @@ basic_suite() TCase *tc_identity_load_dump_empty = tcase_create("Create identity from empty string"); TCase *tc_registry_direct_mapping = tcase_create("Test QName registry with direct mapping"); TCase *tc_registry_functional_mapping = tcase_create("Test QName registry with functional mapping"); + TCase *tc_registry_new_from_xmlNode = tcase_create("Test parsing a node that has a mapping to Lasso Object in the registry"); suite_add_tcase(s, tc_server_load_dump_empty_string); suite_add_tcase(s, tc_server_load_dump_random_string); suite_add_tcase(s, tc_server_load_dump_random_xml); @@ -143,6 +172,7 @@ basic_suite() suite_add_tcase(s, tc_identity_load_dump_empty); suite_add_tcase(s, tc_registry_direct_mapping); suite_add_tcase(s, tc_registry_functional_mapping); + suite_add_tcase(s, tc_registry_new_from_xmlNode); tcase_add_test(tc_server_load_dump_empty_string, test01_server_load_dump_empty_string); tcase_add_test(tc_server_load_dump_random_string, test02_server_load_dump_random_string); tcase_add_test(tc_server_load_dump_random_xml, test03_server_load_dump_random_xml); @@ -150,6 +180,7 @@ basic_suite() tcase_add_test(tc_identity_load_dump_empty, test05_identity_load_dump_empty); tcase_add_test(tc_registry_direct_mapping, test06_registry_direct_mapping); tcase_add_test(tc_registry_functional_mapping, test07_registry_functional_mapping); + tcase_add_test(tc_registry_new_from_xmlNode, test08_test_new_from_xmlNode); return s; } |