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