X-Git-Url: http://git.draconx.ca/gitweb/gob-dx.git/blobdiff_plain/154af5b3783df5a53759b700db95b88a1e9365ab..ee1d01180583f7a4940bce0d1bda85c8379b6b4b:/tests/general.at diff --git a/tests/general.at b/tests/general.at index 97b59da..6643d4d 100644 --- a/tests/general.at +++ b/tests/general.at @@ -115,31 +115,20 @@ class :Test from G:Object (dynamic) } } ]]) +AT_CHECK([gob2 test.gob]) +TEST_COMPILE_GOBJECT([test.c], [0], [], [ignore]) -AT_DATA([mod.gob], -[[%{ -#include "test.h" -%} -class :Mod from G:Type:Module -{ - override (G:Type:Module) gboolean load(G:Type:Module *m) - { - test_register_type(m); - return TRUE; - } -} -]]) +TEST_TYPE_MODULE([:Test]) AT_DATA([main.c], [[#include -#include "mod.h" #include "test.h" +#include "test-mod.h" void devnull(const char *a, GLogLevelFlags b, const char *c, gpointer d) { } int main(void) { - GTypeModule *m = g_object_new(mod_get_type(), NULL); guint handler; Test *t; @@ -150,7 +139,9 @@ int main(void) return EXIT_FAILURE; g_log_remove_handler("GLib-GObject", handler); - g_type_module_use(m); + /* Register dynamic type */ + g_type_module_use(g_object_new(test_mod_get_type(), NULL)); + /* should work now */ t = g_object_new(test_get_type(), "s", "Hello, World", (char *)NULL); if (!t) @@ -160,13 +151,10 @@ int main(void) return EXIT_SUCCESS; } ]]) - -AT_CHECK([gob2 mod.gob]) -AT_CHECK([gob2 test.gob]) -TEST_COMPILE_GOBJECT([mod.c], [0], [], [ignore]) -TEST_COMPILE_GOBJECT([test.c], [0], [], [ignore]) TEST_COMPILE_GOBJECT([main.c], [0], [], [ignore]) -AT_CHECK([$CC $CFLAGS $LDFLAGS $LIBGOBJECT_LIBS -o main mod.o test.o main.o]) + +AT_CHECK([$CC $CFLAGS $LDFLAGS $LIBGOBJECT_LIBS -o main \ + test.o test-mod.o main.o]) AT_CHECK([./main], [0], [Hello, World ])