view tests/test-ui-color.py @ 28868:445a25bb70be

obsstore: move delete function from obsstore class to repair module Since one of the original patches was accepted already and people on the mailing list still have suggestions as to how this should be improved, I'm implementing those suggestions in the following patches (this and the ones that might follow).
author Kostia Balytskyi <ikostia@fb.com>
date Tue, 12 Apr 2016 04:06:50 -0700
parents 2e5be704bc96
children 40afa22bee9b
line wrap: on
line source

from __future__ import print_function
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)))