author | Kevin Gessner <kevin@fogcreek.com> |
Fri, 23 Sep 2011 09:02:27 -0700 | |
branch | stable |
changeset 15157 | c208dcd0f709 |
parent 14614 | afccc64eea73 |
child 17956 | a08775ec89f2 |
permissions | -rw-r--r-- |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
1 |
import os, sys |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
2 |
from hgext import color |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
3 |
from mercurial import dispatch, ui |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
4 |
|
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
5 |
# ensure errors aren't buffered |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
6 |
testui = color.colorui() |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
7 |
testui.pushbuffer() |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
8 |
testui.write('buffered\n') |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
9 |
testui.warn('warning\n') |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
10 |
testui.write_err('error\n') |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
11 |
print repr(testui.popbuffer()) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
12 |
|
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
13 |
# test dispatch.dispatch with the same ui object |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
14 |
hgrc = open(os.environ["HGRCPATH"], 'w') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
15 |
hgrc.write('[extensions]\n') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
16 |
hgrc.write('color=\n') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
17 |
hgrc.close() |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
18 |
|
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
19 |
ui_ = ui.ui() |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
20 |
ui_.setconfig('ui', 'formatted', 'True') |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
21 |
|
14614
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
22 |
# we're not interested in the output, so write that to devnull |
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
23 |
ui_.fout = open(os.devnull, 'w') |
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
24 |
|
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
25 |
# call some arbitrary command just so we go through |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
26 |
# color's wrapped _runcommand twice. |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
27 |
def runcmd(): |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
28 |
dispatch.dispatch(dispatch.request(['version', '-q'], ui_)) |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
29 |
|
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
30 |
runcmd() |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
31 |
print "colored? " + str(issubclass(ui_.__class__, color.colorui)) |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
32 |
runcmd() |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
33 |
print "colored? " + str(issubclass(ui_.__class__, color.colorui)) |