| #!/usr/bin/python | |
| # 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() |