Imported Upstream version 1.1.2
[platform/upstream/python-nose.git] / unit_tests / test_selector_plugins.py
1 import unittest
2 import nose.selector
3 from nose.config import Config
4 from nose.plugins.base import Plugin
5 from nose.plugins.manager import PluginManager
6
7 class TestSelectorPlugins(unittest.TestCase):
8
9     def test_rejection(self):
10         class EvilSelector(Plugin):
11             def wantFile(self, filename, package=None):
12                 if 'good' in filename:
13                     return False
14                 return None
15
16         c = Config(plugins=PluginManager(plugins=[EvilSelector()]))
17         s = nose.selector.Selector(c)
18         s2 = nose.selector.Selector(Config())
19         
20         assert s.wantFile('test_neutral.py')
21         assert s2.wantFile('test_neutral.py')
22         
23         assert s.wantFile('test_evil.py')
24         assert s2.wantFile('test_evil.py')
25         
26         assert not s.wantFile('test_good.py')
27         assert s2.wantFile('test_good.py')
28         
29 if __name__ == '__main__':
30     unittest.main()