blob: 00a28b76558725cb5c1954c04af8183f98aeac9c [file] [log] [blame]
#!/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()