view tests/test-ui-color.py @ 21036:a1a1bd09e4f4

amend: invoke editor forcibly when "--edit" option is specified 422981492ace introduces "--edit" option into "hg commit", but it doesn't work for "hg commit --amend", because 422981492ace prepares for editor invocation only around "commitfunc()" internal function, which is used only for temporary amend commit by "cmdutil.amend()". Actual commit message editing is executed in "cmdutil.amend()". This patch invokes editor forcibly when "--edit" option is specified for "hg commit --amend", even if commit message is specified explicitly by "--message" or "--logfile". This patch also removes useless handling for commit message and editor invocation around "commitfunc()" internal function.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 16 Apr 2014 02:38:11 +0900
parents ff1586a3adc5
children 2e5be704bc96
line wrap: on
line source

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