[pygi] Fix and complete overrides tests
- From: Simon van der Linden <svdlinden src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [pygi] Fix and complete overrides tests
- Date: Wed, 3 Feb 2010 19:35:43 +0000 (UTC)
commit 5106523a4b8378997a1e6cb0488398aa73e7d9d5
Author: Simon van der Linden <svdlinden src gnome org>
Date: Wed Feb 3 20:29:55 2010 +0100
Fix and complete overrides tests
Those tests were missing in the last commit
https://bugzilla.gnome.org/show_bug.cgi?id=602830
gi/overrides/TestGI.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++
tests/test_gi.py | 8 ++++++-
2 files changed, 56 insertions(+), 1 deletions(-)
---
diff --git a/gi/overrides/TestGI.py b/gi/overrides/TestGI.py
new file mode 100644
index 0000000..6dff10f
--- /dev/null
+++ b/gi/overrides/TestGI.py
@@ -0,0 +1,49 @@
+from ..types import override
+from ..importer import modules
+
+TestGI = modules['TestGI']
+
+
+OVERRIDES_CONSTANT = 7
+
+
+class OverridesStruct(TestGI.OverridesStruct):
+
+ def __new__(cls, long_):
+ return TestGI.OverridesStruct.__new__(cls)
+
+ def __init__(self, long_):
+ TestGI.OverridesStruct.__init__(self)
+ self.long_ = long_
+
+ def method(self):
+ return TestGI.OverridesStruct.method(self) / 7
+
+OverridesStruct = override(OverridesStruct)
+
+
+class OverridesObject(TestGI.OverridesObject):
+
+ def __new__(cls, long_):
+ return TestGI.OverridesObject.__new__(cls)
+
+ def __init__(self, long_):
+ TestGI.OverridesObject.__init__(self)
+ # FIXME: doesn't work yet
+ #self.long_ = long_
+
+ @classmethod
+ def new(cls, long_):
+ self = TestGI.OverridesObject.new()
+ # FIXME: doesn't work yet
+ #self.long_ = long_
+ return self
+
+ def method(self):
+ return TestGI.OverridesObject.method(self) / 7
+
+OverridesObject = override(OverridesObject)
+
+
+__all__ = [OVERRIDES_CONSTANT, OverridesStruct, OverridesObject]
+
diff --git a/tests/test_gi.py b/tests/test_gi.py
index 36337ed..f6187cd 100644
--- a/tests/test_gi.py
+++ b/tests/test_gi.py
@@ -1366,6 +1366,8 @@ class TestOverrides(unittest.TestCase):
# Test that the constructor has been overridden.
struct = TestGI.OverridesStruct(42)
+ self.assertTrue(isinstance(struct, TestGI.OverridesStruct))
+
# Test that the method has been overridden.
self.assertEquals(6, struct.method())
@@ -1378,13 +1380,17 @@ class TestOverrides(unittest.TestCase):
del struct
- def test_struct(self):
+ def test_object(self):
# Test that the constructor has been overridden.
object_ = TestGI.OverridesObject(42)
+ self.assertTrue(isinstance(object_, TestGI.OverridesObject))
+
# Test that the alternate constructor has been overridden.
object_ = TestGI.OverridesObject.new(42)
+ self.assertTrue(isinstance(object_, TestGI.OverridesObject))
+
# Test that the method has been overridden.
self.assertEquals(6, object_.method())
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]