diff options
author | Simon van der Linden <svdlinden@src.gnome.org> | 2010-02-03 20:29:55 +0100 |
---|---|---|
committer | Simon van der Linden <svdlinden@src.gnome.org> | 2010-02-03 20:34:21 +0100 |
commit | 5106523a4b8378997a1e6cb0488398aa73e7d9d5 (patch) | |
tree | 213578cc81daef28649619e15c0f15855e674f04 | |
parent | aefac8c5f64bf059dd6652f8a843d17b34fa0854 (diff) | |
download | pygi-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.py | 49 | ||||
-rw-r--r-- | 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()) |