[nautilus-actions] Refactoring: update src/test/
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Refactoring: update src/test/
- Date: Fri, 19 Feb 2010 02:26:00 +0000 (UTC)
commit 467a06488d0db213aa0ce54467c2529082dbc434
Author: Pierre Wieser <pwieser trychlos org>
Date: Mon Feb 15 20:04:03 2010 +0100
Refactoring: update src/test/
ChangeLog | 1 +
src/test/Makefile.am | 9 +++++++++
src/test/test-iface-base.c | 24 ++++++++++++------------
src/test/test-iface-derived.c | 31 ++++++++++++++++++++++++++-----
src/test/test-iface-derived.h | 3 ++-
src/test/test-iface.c | 9 +++++++--
6 files changed, 57 insertions(+), 20 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index bae898c..ba1b14b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
2009-02-15 Pierre Wieser <pwieser trychlos org>
+ Update src/test.
Update src/plugin-tracker.
Update src/plugin-menu.
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
index 896580c..60bfdd4 100644
--- a/src/test/Makefile.am
+++ b/src/test/Makefile.am
@@ -28,6 +28,7 @@
noinst_PROGRAMS = \
test-iface \
+ test-include \
test-parse-uris \
test-virtuals \
test-virtuals-without-test \
@@ -55,6 +56,14 @@ test_iface_LDADD = \
$(NAUTILUS_ACTIONS_LIBS) \
$(NULL)
+test_include_SOURCES = \
+ test-include.c \
+ $(NULL)
+
+test_include_LDADD = \
+ $(NAUTILUS_ACTIONS_LIBS) \
+ $(NULL)
+
test_parse_uris_SOURCES = \
test-parse-uris.c \
$(NULL)
diff --git a/src/test/test-iface-base.c b/src/test/test-iface-base.c
index 53cdb38..155a7ea 100644
--- a/src/test/test-iface-base.c
+++ b/src/test/test-iface-base.c
@@ -51,11 +51,11 @@ static GObjectClass *st_parent_class = NULL;
static GType register_type( void );
static void class_init( TestBaseClass *klass );
-static void iface_iface_init( TestIFaceInterface *iface );
static void instance_init( GTypeInstance *instance, gpointer klass );
static void instance_dispose( GObject *object );
static void instance_finalize( GObject *object );
+static void iface_iface_init( TestIFaceInterface *iface );
static void iface_fna( TestIFace *object );
static void iface_fnb( TestIFace *object );
@@ -122,17 +122,6 @@ class_init( TestBaseClass *klass )
}
static void
-iface_iface_init( TestIFaceInterface *iface )
-{
- static const gchar *thisfn = "test_iface_base_iface_iface_init";
-
- g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
-
- iface->fna = iface_fna;
- iface->fnb = iface_fnb;
-}
-
-static void
instance_init( GTypeInstance *instance, gpointer klass )
{
static const gchar *thisfn = "test_iface_base_instance_init";
@@ -193,6 +182,17 @@ test_base_new( void )
}
static void
+iface_iface_init( TestIFaceInterface *iface )
+{
+ static const gchar *thisfn = "test_iface_base_iface_iface_init";
+
+ g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
+
+ iface->fna = iface_fna;
+ iface->fnb = iface_fnb;
+}
+
+static void
iface_fna( TestIFace *object )
{
static const gchar *thisfn = "test_iface_base_iface_fna";
diff --git a/src/test/test-iface-derived.c b/src/test/test-iface-derived.c
index 9ad1210..b1b5de8 100644
--- a/src/test/test-iface-derived.c
+++ b/src/test/test-iface-derived.c
@@ -111,10 +111,6 @@ class_init( TestDerivedClass *klass )
klass->private = g_new0( TestDerivedClassPrivate, 1 );
- if( 1 ){
- iface_iface_init( klass );
- }
-
/* there is no error message but this has no effect
* event in a TestDerived object, these are TestBase functions which are called
*/
@@ -122,6 +118,17 @@ class_init( TestDerivedClass *klass )
(( TestIFaceInterface * ) klass )->fna = iface_fna;
(( TestIFaceInterface * ) klass )->fnb = iface_fnb;
}
+
+ /* idem
+ */
+ if( 0 ){
+ (( TestIFaceInterface * ) st_parent_class )->fna = iface_fna;
+ (( TestIFaceInterface * ) st_parent_class )->fnb = iface_fnb;
+ }
+
+ if( 1 ){
+ iface_iface_init( klass );
+ }
}
static void
@@ -138,6 +145,9 @@ iface_iface_init( TestDerivedClass *klass )
(( TestIFaceInterface * ) iface )->fna = iface_fna;
(( TestIFaceInterface * ) iface )->fnb = iface_fnb;*/
+ /* this segfault
+ */
+ /*
GTypeInterface *iface;
iface = g_type_interface_peek( klass, TEST_IFACE_TYPE );
g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
@@ -145,7 +155,18 @@ iface_iface_init( TestDerivedClass *klass )
g_debug( "%s: iface=%p", thisfn, ( void * ) iface );
g_debug( "%s: iface=%s at %p", thisfn, g_type_name( G_TYPE_FROM_INTERFACE( iface )), ( void * ) iface );
(( TestIFaceInterface * ) iface )->fna = iface_fna;
- (( TestIFaceInterface * ) iface )->fnb = iface_fnb;
+ (( TestIFaceInterface * ) iface )->fnb = iface_fnb;*/
+
+ /* this has the effect of totally overriding the interface api
+ * and both TestBase and TestDerived objects will only call TestDerived functions
+ */
+ if( 0 ){
+ GTypeInterface *iface;
+ iface = g_type_interface_peek( st_parent_class, TEST_IFACE_TYPE );
+ g_debug( "%s: iface=%s at %p", thisfn, g_type_name( G_TYPE_FROM_INTERFACE( iface )), ( void * ) iface );
+ (( TestIFaceInterface * ) iface )->fna = iface_fna;
+ (( TestIFaceInterface * ) iface )->fnb = iface_fnb;
+ }
}
static void
diff --git a/src/test/test-iface-derived.h b/src/test/test-iface-derived.h
index ac2f488..9954515 100644
--- a/src/test/test-iface-derived.h
+++ b/src/test/test-iface-derived.h
@@ -36,8 +36,9 @@
* @short_description: #TestDerived class definition.
* @include: test-iface-derived.h
*
- * Derivation of TestDerived class.
+ * Derivation of TestBae class.
* Are we able to define our own implementation of testIFace interface ?
+ * Also, the derived class is it recognized as implementing the interface ?
*/
#include "test-iface-base.h"
diff --git a/src/test/test-iface.c b/src/test/test-iface.c
index 40ba232..db1a2d0 100755
--- a/src/test/test-iface.c
+++ b/src/test/test-iface.c
@@ -54,6 +54,11 @@ main( int argc, char **argv )
g_debug( "allocating TestDerived ----------------------------------" );
derived = test_derived_new();
+ if( TEST_IS_IFACE( derived )){
+ g_debug( "Derived is also an IFace" );
+ } else {
+ g_debug( "Derived is NOT an IFace" );
+ }
g_debug( "calling test_iface_fna on Derived object ----------------" );
test_iface_fna( TEST_IFACE( derived ));
g_debug( "calling test_iface_fnb on Derived object ----------------" );
@@ -61,9 +66,9 @@ main( int argc, char **argv )
g_debug( "allocating TestBase -------------------------------------" );
base2 = test_base_new();
- g_debug( "calling test_iface_fna on Base object -------------------" );
+ g_debug( "calling test_iface_fna on another Base object -------------------" );
test_iface_fna( TEST_IFACE( base2 ));
- g_debug( "calling test_iface_fnb on Base object -------------------" );
+ g_debug( "calling test_iface_fnb on another Base object -------------------" );
test_iface_fnb( TEST_IFACE( base2 ));
g_debug( "end -----------------------------------------------------" );
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]