[libgda: 1/2] bugfix and tests for GdaDdlView



commit f7e1c8d8ede11a4aaaebc933717387b30d5eccc2
Author: Pavlo Solntsev <p sun fun gmail com>
Date:   Fri Jul 13 15:22:45 2018 +0000

    bugfix and tests for GdaDdlView

 libgda/gda-ddl-view.c         |  6 ++++--
 libgda/libgda-ddl-creator.dtd |  2 +-
 tests/ddl/Makefile.am         |  8 +++++++-
 tests/ddl/check-ddl-view.c    | 40 ----------------------------------------
 tests/ddl/meson.build         | 25 ++++++++++++++++++++++++-
 5 files changed, 36 insertions(+), 45 deletions(-)
---
diff --git a/libgda/gda-ddl-view.c b/libgda/gda-ddl-view.c
index 720698c84..c32829227 100644
--- a/libgda/gda-ddl-view.c
+++ b/libgda/gda-ddl-view.c
@@ -186,6 +186,8 @@ gda_ddl_view_class_init (GdaDdlViewClass *klass)
                           "Define view",
                           FALSE,
                           G_PARAM_READWRITE);
+
+  g_object_class_install_properties (object_class,N_PROPS,properties);
 }
 
 static void
@@ -207,7 +209,7 @@ gda_ddl_view_parse_node (GdaDdlBuildable *buildable,
   g_return_val_if_fail (node, FALSE);
 
 /*
- * <view name="Total" replace="TRUE" temp="TRUE" ifnotexists="TRUE">
+ * <view name="Total" replace="TRUE" temp="TRUE" ifnoexists="TRUE">
  *   <definition>SELECT id,name FROM CUSTOMER</definition>
  * </view>
  */
@@ -237,7 +239,7 @@ gda_ddl_view_parse_node (GdaDdlBuildable *buildable,
 
   prop = xmlGetProp (node,(xmlChar *)gdaddlviewnodes[GDA_DDL_VIEW_IFNOEXIST]);
   if (prop)
-    g_object_set (G_OBJECT(self),"ifnotexist",*prop == 't' || *prop == 'T' ? TRUE : FALSE, NULL);
+    g_object_set (G_OBJECT(self),"ifnoexist",*prop == 't' || *prop == 'T' ? TRUE : FALSE, NULL);
 
   xmlFree (prop);
   prop = NULL;
diff --git a/libgda/libgda-ddl-creator.dtd b/libgda/libgda-ddl-creator.dtd
index 78c4d889f..1341b952f 100644
--- a/libgda/libgda-ddl-creator.dtd
+++ b/libgda/libgda-ddl-creator.dtd
@@ -40,7 +40,7 @@
 <!ATTLIST view name             CDATA           #REQUIRED>
 <!ATTLIST view replace          (TRUE|FALSE)    "FALSE">
 <!ATTLIST view temp             (TRUE|FALSE)    "FALSE">
-<!ATTLIST view ifnotexists      (TRUE|FALSE)    "TRUE">
+<!ATTLIST view ifnoexists       (TRUE|FALSE)    "TRUE">
 
 <!ELEMENT definition (#PCDATA)>
 
diff --git a/tests/ddl/Makefile.am b/tests/ddl/Makefile.am
index 95c89033b..8a75f10d6 100644
--- a/tests/ddl/Makefile.am
+++ b/tests/ddl/Makefile.am
@@ -11,7 +11,8 @@ AM_CPPFLAGS = \
 test_programs = \
     check_ddl_creator \
     check_ddl_base \
-    check_ddl_column
+    check_ddl_column \
+    check_ddl_view
 
 check_ddl_creator_SOURCES = check-ddl-creator.c
 check_ddl_creator_LDADD = \
@@ -28,5 +29,10 @@ check_ddl_column_LDADD = \
        $(top_builddir)/libgda/libgda-6.0.la \
        $(COREDEPS_LIBS)
 
+check_ddl_view_SOURCES = check-ddl-view.c
+check_ddl_view_LDADD = \
+       $(top_builddir)/libgda/libgda-6.0.la \
+       $(COREDEPS_LIBS)
+
 EXTRA_DIST = column_test.xml \
             ddl-db.xml
diff --git a/tests/ddl/check-ddl-view.c b/tests/ddl/check-ddl-view.c
index f4d8c2d2b..5c7fc94c2 100644
--- a/tests/ddl/check-ddl-view.c
+++ b/tests/ddl/check-ddl-view.c
@@ -38,8 +38,6 @@ typedef struct {
     gboolean replace;
      
     xmlDocPtr doc;
-    xmlTextWriterPtr writer;
-    xmlBufferPtr buffer;
     gchar *xmlfile;
 } CheckDdlObject;
 
@@ -105,23 +103,6 @@ test_ddl_view_general (void)
   gda_ddl_view_free (self);
 }
 
-static void
-test_ddl_view_write_node (CheckDdlObject *self,
-                          gconstpointer user_data)
-{
-  gboolean res = gda_ddl_buildable_write_node(GDA_DDL_BUILDABLE(self->view),
-                                              self->writer,NULL);
-
-  g_assert_true (res);
-
-  //   res = xmlTextWriterEndDocument (self->writer);
-
-  //   g_assert_true (res >= 0);
-  xmlFreeTextWriter (self->writer);
-
-  g_print ("%s\n",(gchar*)self->buffer->content);
-}
-
 static void
 test_ddl_view_start (CheckDdlObject *self,
                      gconstpointer user_data)
@@ -162,18 +143,6 @@ test_ddl_view_start (CheckDdlObject *self,
                                               node,NULL);
   g_print("After parse node\n");
   g_assert_true (res);
-
-  self->buffer = xmlBufferCreate ();
-
-  g_assert_nonnull (self->buffer);
-
-  self->writer = xmlNewTextWriterMemory (self->buffer,0);
-
-  g_assert_nonnull (self->writer);
-
-  res = xmlTextWriterStartDocument (self->writer, NULL, NULL, NULL);
-
-  g_assert_true (res >= 0);
 }
 
 static void
@@ -185,8 +154,6 @@ test_ddl_view_finish (CheckDdlObject *self,
   xmlFreeDoc (self->doc);
   g_free (self->name);
   g_free (self->defstring);
-
-  xmlBufferFree (self->buffer);
 }
 
 gint
@@ -207,13 +174,6 @@ main (gint   argc,
               test_ddl_view_name,
               test_ddl_view_finish);
 
-  g_test_add ("/test-ddl/view-write",
-              CheckDdlObject,
-              NULL,
-              test_ddl_view_start,
-              test_ddl_view_write_node,
-              test_ddl_view_finish);
-
   g_test_add ("/test-ddl/view-temp",
               CheckDdlObject,
               NULL,
diff --git a/tests/ddl/meson.build b/tests/ddl/meson.build
index b7fd6cf47..fe4643bcd 100644
--- a/tests/ddl/meson.build
+++ b/tests/ddl/meson.build
@@ -74,4 +74,27 @@ test('ddlcolumn', ddltc,
                'GDA_TOP_SRC_DIR='+meson.source_root(),
                'GDA_TOP_BUILD_DIR='+meson.build_root()
                ]
-       )
\ No newline at end of file
+       )
+
+ddltv = executable('check_ddl_view',
+       'check-ddl-view.c',
+       c_args: [
+               '-include',
+               meson.build_root() + '/config.h',
+               '-DCHECK_FILES="'+meson.source_root()+'"',
+               '-DTOP_BUILD_DIR="'+meson.build_root()+'"'
+               ],
+       link_with: libgda,
+       dependencies: [
+               libgda_dep,
+               inc_rooth_dep,
+               inc_sqliteh_dep
+               ],
+       install: false
+       )
+test('ddlview', ddltv,
+       env: [
+               'GDA_TOP_SRC_DIR='+meson.source_root(),
+               'GDA_TOP_BUILD_DIR='+meson.build_root()
+               ]
+       )


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]