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