Mercurial > public > mercurial-scm > hg-stable
diff tests/test-pager.t @ 34039:31a2eb0f74e5
pager: do not start pager if `ui` has been `pushbuffer`-ed
The `pushbuffer`, `popbuffer` APIs are intended to capture internal output.
They will prevent `ui.write` from writing to the actual `ui.fout`. So a
pager won't receive the output and do the right thing. In general, it does
not make sense to start a pager if ui is in the "pushbuffer" mode.
Differential Revision: https://phab.mercurial-scm.org/D574
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 30 Aug 2017 14:04:55 -0700 |
parents | dcfa83652744 |
children | 73d8a5283f87 |
line wrap: on
line diff
--- a/tests/test-pager.t Wed Aug 30 16:05:12 2017 -0700 +++ b/tests/test-pager.t Wed Aug 30 14:04:55 2017 -0700 @@ -340,6 +340,20 @@ 9: a 9 10: a 10 +During pushbuffer, pager should not start: + $ cat > $TESTTMP/pushbufferpager.py <<EOF + > def uisetup(ui): + > ui.pushbuffer() + > ui.pager('mycmd') + > ui.write('content\n') + > ui.write(ui.popbuffer()) + > EOF + + $ echo append >> a + $ hg --config extensions.pushbuffer=$TESTTMP/pushbufferpager.py status --color=off + content + paged! 'M a\n' + Environment variables like LESS and LV are set automatically: $ cat > $TESTTMP/printlesslv.py <<EOF > from __future__ import absolute_import