tests/test-ui-color.py
author Sean Farley <sean.michael.farley@gmail.com>
Tue, 22 Apr 2014 19:06:37 -0500
changeset 21479 e18ef2e11219
parent 19322 ff1586a3adc5
child 28682 2e5be704bc96
permissions -rw-r--r--
localrepo: remove unneeded unpacking of r This unpacking is unneeded now because previous patches have removed the need for this method to modify each of these variables in favor of passing the whole set around to pre/post hook methods of the corresponding context object.

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))