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