summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon van der Linden <svdlinden@src.gnome.org>2010-02-03 20:29:55 +0100
committerSimon van der Linden <svdlinden@src.gnome.org>2010-02-03 20:34:21 +0100
commit5106523a4b8378997a1e6cb0488398aa73e7d9d5 (patch)
tree213578cc81daef28649619e15c0f15855e674f04
parentaefac8c5f64bf059dd6652f8a843d17b34fa0854 (diff)
downloadpygi-5106523a4b8378997a1e6cb0488398aa73e7d9d5.tar.gz
pygi-5106523a4b8378997a1e6cb0488398aa73e7d9d5.tar.xz
pygi-5106523a4b8378997a1e6cb0488398aa73e7d9d5.zip
Fix and complete overrides tests
Those tests were missing in the last commit https://bugzilla.gnome.org/show_bug.cgi?id=602830
-rw-r--r--gi/overrides/TestGI.py49
-rw-r--r--tests/test_gi.py8
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())