diff options
Diffstat (limited to 'src/engine/SCons/Scanner/ScannerTests.py')
| -rw-r--r-- | src/engine/SCons/Scanner/ScannerTests.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/engine/SCons/Scanner/ScannerTests.py b/src/engine/SCons/Scanner/ScannerTests.py index fce4078..2d0e47a 100644 --- a/src/engine/SCons/Scanner/ScannerTests.py +++ b/src/engine/SCons/Scanner/ScannerTests.py @@ -124,6 +124,21 @@ class ScannerHashTestCase(ScannerTestBase, unittest.TestCase): self.failUnless(hash(dict.keys()[0]) == hash(None), "did not hash Scanner base class as expected") +class ScannerCheckTestCase(unittest.TestCase): + "Test the Scanner.Base class __hash__() method" + def setUp(self): + self.checked = {} + def runTest(self): + def my_scan(filename, env, target, *args): + return [] + def check(node, s=self): + s.checked[node] = 1 + return 1 + s = SCons.Scanner.Base(my_scan, "Check", scan_check = check) + scanned = s.scan('x', DummyEnvironment(), DummyTarget()) + self.failUnless(self.checked['x'] == 1, + "did not call check function") + def suite(): suite = unittest.TestSuite() suite.addTest(ScannerPositionalTestCase()) @@ -131,6 +146,7 @@ def suite(): suite.addTest(ScannerPositionalArgumentTestCase()) suite.addTest(ScannerKeywordArgumentTestCase()) suite.addTest(ScannerHashTestCase()) + suite.addTest(ScannerCheckTestCase()) return suite if __name__ == "__main__": |
