Mercurial > hg
annotate tests/test-ui-color.py @ 45012:5c0d5b48e58c stable
convert: set LC_CTYPE around calls to Subversion bindings
The Subversion bindings require that LC_CTYPE is set. However, we don’t want to
set it all the time, as it changes the behavior of str methods on Python 2. The
taken approach is hopefully fine-grained enough to not trigger any
locale-specfic behavior of the str methods and coarse-grained enough to not
clutter the code.
Emulating the with-statement behavior in before() and after() should be safe, as
after() is always called when before() is called. hgext.convert.hg takes a
similar approach.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Sun, 28 Jun 2020 18:02:45 +0200 |
parents | 86e4daa2d54c |
children | 6000f5b25c9b |
rev | line source |
---|---|
28915
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
1 from __future__ import absolute_import, print_function |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
2 |
19322
ff1586a3adc5
cleanup: remove unused imports
Simon Heimberg <simohe@besonet.ch>
parents:
17956
diff
changeset
|
3 import os |
28915
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
4 from mercurial import ( |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
5 dispatch, |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
6 ui as uimod, |
40afa22bee9b
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents:
28682
diff
changeset
|
7 ) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
37942
diff
changeset
|
8 from mercurial.utils import stringutil |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
9 |
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
10 # ensure errors aren't buffered |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
11 testui = uimod.ui() |
11732
386e56ecfb78
color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff
changeset
|
12 testui.pushbuffer() |
43080
86e4daa2d54c
cleanup: mark some ui.(status|note|warn|write) calls as not needing i18n
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
13 testui.writenoi18n(b'buffered\n') |
86e4daa2d54c
cleanup: mark some ui.(status|note|warn|write) calls as not needing i18n
Augie Fackler <augie@google.com>
parents:
43076
diff
changeset
|
14 testui.warnnoi18n(b'warning\n') |
36336
236596a67a54
py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31095
diff
changeset
|
15 testui.write_err(b'error\n') |
37942
32bc3815efae
stringutil: flip the default of pprint() to bprefix=False
Yuya Nishihara <yuya@tcha.org>
parents:
37925
diff
changeset
|
16 print(stringutil.pprint(testui.popbuffer(), bprefix=True).decode('ascii')) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
17 |
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
18 # test dispatch.dispatch with the same ui object |
36337
0f36926b2651
py3: make sure we open file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36336
diff
changeset
|
19 hgrc = open(os.environ["HGRCPATH"], 'wb') |
36336
236596a67a54
py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31095
diff
changeset
|
20 hgrc.write(b'[extensions]\n') |
236596a67a54
py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31095
diff
changeset
|
21 hgrc.write(b'color=\n') |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
22 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
|
23 |
30559
d83ca854fa21
ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents:
28915
diff
changeset
|
24 ui_ = uimod.ui.load() |
36336
236596a67a54
py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31095
diff
changeset
|
25 ui_.setconfig(b'ui', b'formatted', b'True') |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
26 |
14614
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
27 # we're not interested in the output, so write that to devnull |
36337
0f36926b2651
py3: make sure we open file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36336
diff
changeset
|
28 ui_.fout = open(os.devnull, 'wb') |
14614
afccc64eea73
ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents:
14516
diff
changeset
|
29 |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
30 # 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
|
31 # 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
|
32 def runcmd(): |
36336
236596a67a54
py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
31095
diff
changeset
|
33 dispatch.dispatch(dispatch.request([b'version', b'-q'], ui_)) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
34 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
37942
diff
changeset
|
35 |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
36 runcmd() |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
37 print("colored? %s" % (ui_._colormode is not None)) |
14516
842a9179132c
color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents:
12865
diff
changeset
|
38 runcmd() |
31095
b4cb86ab4c71
color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
30559
diff
changeset
|
39 print("colored? %s" % (ui_._colormode is not None)) |