1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
import sys
import unittest
import mock
try:
import mox
except ImportError:
from mox3 import mox
import warnings
warnings.simplefilter('ignore', Warning)
class BaseTest(unittest.TestCase):
def setUp(self):
__builtins__['_'] = lambda s: s
self.mox = mox.Mox()
def tearDown(self):
self.mox.UnsetStubs()
self.mox.VerifyAll()
pygtk_mocks = ('gtk', 'pango', 'gobject')
pygtk_base_classes = ('gobject.GObject', 'gtk.HBox', 'gtk.Dialog')
class DummyBase(object):
def __init__(self, *a, **k):
# gtk.Dialog
self.vbox = mock.MagicMock()
# gtk.Dialog
def set_position(self, pos):
pass
def mock_gtk():
for module in pygtk_mocks:
sys.modules[module] = mock.MagicMock()
for path in pygtk_base_classes:
module, base_class = path.split('.')
setattr(sys.modules[module], base_class, DummyBase)
def unmock_gtk():
for module in pygtk_mocks:
del sys.modules[module]
class BaseGTKTest(BaseTest):
def setUp(self):
super(BaseGTKTest, self).setUp()
try:
import gtk
except ImportError:
self.skipTest('pygtk not available')
|