tests/test-ui-color.py
author Chris Jerdonek <chris.jerdonek@gmail.com>
Mon, 02 Dec 2013 07:49:49 -0800
changeset 20166 7eda5bb9ec8f
parent 19322 ff1586a3adc5
child 28682 2e5be704bc96
permissions -rw-r--r--
parsers: clarify documentation of test-parseindex2.py This change updates and improves the description of test-parseindex2.py. In particular, it removes language that can be interpreted to mean that the test module checks only the C implementation of parsers.parse_index2(). Rather, the module checks parsers.parse_index2(), which can be either the C or pure Python implementation, depending on which version is being used. As of e57c532c3835, the module also does more than just compare the return value with the original Python implementation.

import os
from hgext import color
from mercurial import dispatch, ui

# ensure errors aren't buffered
testui = color.colorui()
testui.pushbuffer()
testui.write(('buffered\n'))
testui.warn(('warning\n'))
testui.write_err('error\n')
print repr(testui.popbuffer())

# test dispatch.dispatch with the same ui object
hgrc = open(os.environ["HGRCPATH"], 'w')
hgrc.write('[extensions]\n')
hgrc.write('color=\n')
hgrc.close()

ui_ = ui.ui()
ui_.setconfig('ui', 'formatted', 'True')

# we're not interested in the output, so write that to devnull
ui_.fout = open(os.devnull, 'w')

# call some arbitrary command just so we go through
# color's wrapped _runcommand twice.
def runcmd():
    dispatch.dispatch(dispatch.request(['version', '-q'], ui_))

runcmd()
print "colored? " + str(issubclass(ui_.__class__, color.colorui))
runcmd()
print "colored? " + str(issubclass(ui_.__class__, color.colorui))