mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-06 00:05:02 -05:00
75 lines
3.0 KiB
Python
75 lines
3.0 KiB
Python
from nose2 import events, loader, session
|
|
from nose2.tests._common import TestCase
|
|
|
|
|
|
class TestPluggableTestLoader(TestCase):
|
|
|
|
def setUp(self):
|
|
self.session = session.Session()
|
|
self.loader = loader.PluggableTestLoader(self.session)
|
|
|
|
def test_load_from_module_calls_hook(self):
|
|
self.session.hooks.register('loadTestsFromModule', FakePlugin())
|
|
evt = events.LoadFromModuleEvent(self.loader, 'some_module')
|
|
self.session.hooks.loadTestsFromModule(evt)
|
|
self.assertTrue(evt.fakeLoadFromModule,
|
|
"FakePlugin.loadTestsFromModule() was not called")
|
|
|
|
def test_load_from_name_calls_hook(self):
|
|
self.session.hooks.register('loadTestsFromName', FakePlugin())
|
|
evt = events.LoadFromNameEvent(self.loader,
|
|
'some_name',
|
|
'some_module')
|
|
self.session.hooks.loadTestsFromName(evt)
|
|
self.assertTrue(evt.fakeLoadFromName,
|
|
"FakePlugin.fakeLoadFromName() was not called")
|
|
|
|
def test_load_from_names_calls_hook(self):
|
|
self.session.hooks.register('loadTestsFromNames', FakePlugin())
|
|
evt = events.LoadFromNamesEvent(self.loader,
|
|
['some_name'],
|
|
'some_module')
|
|
self.session.hooks.loadTestsFromNames(evt)
|
|
self.assertTrue(evt.fakeLoadFromNames,
|
|
"FakePlugin.fakeLoadFromNames() was not called")
|
|
|
|
def test_loader_from_names_calls_module_hook(self):
|
|
fake_plugin = FakePlugin()
|
|
self.session.hooks.register('loadTestsFromModule', fake_plugin)
|
|
self.loader.loadTestsFromNames([], 'some_module')
|
|
self.assertTrue(fake_plugin.fakeLoadFromModule,
|
|
"FakePlugin.loadTestsFromModule() was not called")
|
|
|
|
def test_loader_from_names_calls_name_hook(self):
|
|
fake_plugin = FakePlugin()
|
|
self.session.hooks.register('loadTestsFromName', fake_plugin)
|
|
self.loader.loadTestsFromNames(['some_name'])
|
|
self.assertTrue(fake_plugin.fakeLoadFromName,
|
|
"FakePlugin.loadTestsFromName() was not called")
|
|
|
|
def test_loader_from_names_calls_names_hook(self):
|
|
fake_plugin = FakePlugin()
|
|
self.session.hooks.register('loadTestsFromNames', fake_plugin)
|
|
self.loader.loadTestsFromNames(['some_name'])
|
|
self.assertTrue(fake_plugin.fakeLoadFromNames,
|
|
"FakePlugin.loadTestsFromNames() was not called")
|
|
|
|
|
|
class FakePlugin(object):
|
|
|
|
def __init__(self):
|
|
self.fakeLoadFromModule = False
|
|
self.fakeLoadFromName = False
|
|
self.fakeLoadFromNames = False
|
|
|
|
def loadTestsFromModule(self, event):
|
|
event.fakeLoadFromModule = True
|
|
self.fakeLoadFromModule = True
|
|
|
|
def loadTestsFromName(self, event):
|
|
event.fakeLoadFromName = True
|
|
self.fakeLoadFromName = True
|
|
|
|
def loadTestsFromNames(self, event):
|
|
event.fakeLoadFromNames = True
|
|
self.fakeLoadFromNames = True |