| #!/usr/bin/env python3 |
| # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| # for details. All rights reserved. Use of this source code is governed by a |
| # BSD-style license that can be found in the LICENSE file. |
| """Tests for emitter module.""" |
| |
| import logging.config |
| import unittest |
| import emitter |
| import multiemitter |
| |
| |
| class MultiEmitterTestCase(unittest.TestCase): |
| |
| def setUp(self): |
| pass |
| |
| def tearDown(self): |
| pass |
| |
| def check(self, m, expected): |
| """Verifies that the multiemitter contains the expected contents. |
| |
| Expected is a list of (filename, content) pairs, sorted by filename. |
| """ |
| files = [] |
| |
| def _Collect(file, contents): |
| files.append((file, ''.join(contents))) |
| |
| m.Flush(_Collect) |
| self.assertEquals(expected, files) |
| |
| def testExample(self): |
| m = multiemitter.MultiEmitter() |
| e1 = m.FileEmitter('file1') |
| e2 = m.FileEmitter('file2', 'key2') |
| e1.Emit('Hi 1') |
| e2.Emit('Hi 2') |
| m.Find('key2').Emit('Bye 2') |
| self.check(m, [('file1', 'Hi 1'), ('file2', 'Hi 2Bye 2')]) |
| |
| |
| if __name__ == '__main__': |
| logging.config.fileConfig('logging.conf') |
| if __name__ == '__main__': |
| unittest.main() |