diff options
author | Murray Cumming <murrayc@murrayc.com> | 2017-04-09 12:32:44 +0200 |
---|---|---|
committer | Murray Cumming <murrayc@murrayc.com> | 2017-04-09 13:02:05 +0200 |
commit | 696685eeaa639ae5e41a9eaa761250368af492db (patch) | |
tree | c83e58911c52680c139f857bedbf923662902f10 /tests/glibmm_objectbase_move/main.cc | |
parent | bc233c576d24adf640d333394228b93d548d75cc (diff) | |
download | glibmm-696685eeaa639ae5e41a9eaa761250368af492db.tar.gz |
tests: Split object_move and objectbase_move tests.
This allows further reuse of the DerivedObject and DerivedObjectBase test classes.
Diffstat (limited to 'tests/glibmm_objectbase_move/main.cc')
-rw-r--r-- | tests/glibmm_objectbase_move/main.cc | 61 |
1 files changed, 2 insertions, 59 deletions
diff --git a/tests/glibmm_objectbase_move/main.cc b/tests/glibmm_objectbase_move/main.cc index 697f3cf5..79bab6a4 100644 --- a/tests/glibmm_objectbase_move/main.cc +++ b/tests/glibmm_objectbase_move/main.cc @@ -1,66 +1,9 @@ +#include "../glibmm_objectbase/test_derived_objectbase.h" +#include "../glibmm_object/test_derived_object.h" #include <glibmm.h> #include <iostream> #include <stdlib.h> -// A basic derived GObject, just to test Glib::ObjectBase. -typedef struct -{ - GObject parent; -} TestDerived; - -typedef struct -{ - GObjectClass parent; -} TestDerivedClass; - -#define TEST_TYPE_DERIVED (test_derived_get_type()) -#define TEST_DERIVED(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_DERIVED, TestDerived)) -#define TEST_DERIVED_CLASS(cls) \ - (G_TYPE_CHECK_CLASS_CAST((cls), TEST_TYPE_DERIVED, TestDerivedClass)) -#define TEST_DERIVED_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj), TEST_TYPE_DERIVED, TestDerivedClass)) - -static void -test_derived_class_init(TestDerivedClass*) -{ -} -static void -test_derived_init(TestDerived*) -{ -} - -G_DEFINE_TYPE(TestDerived, test_derived, G_TYPE_OBJECT) - -class DerivedObjectBase : public Glib::ObjectBase -{ -public: - // A real application would never make the constructor public. - // It would instead have a protected constructor and a public create() method. - DerivedObjectBase(GObject* gobject, int i) : Glib::ObjectBase(nullptr), i_(i) - { - Glib::ObjectBase::initialize(gobject); - } - - DerivedObjectBase(const DerivedObjectBase& src) = delete; - DerivedObjectBase& operator=(const DerivedObjectBase& src) = delete; - - DerivedObjectBase(DerivedObjectBase&& src) noexcept : Glib::ObjectBase(std::move(src)), - i_(std::move(src.i_)) - { - ObjectBase::initialize_move(src.gobject_, &src); - } - - DerivedObjectBase& operator=(DerivedObjectBase&& src) noexcept - { - Glib::ObjectBase::operator=(std::move(src)); - i_ = std::move(src.i_); - - return *this; - } - - int i_; -}; - static void test_objectbase_move_constructor() { |