Mercurial > hg
changeset 28688:3e0d03c3c594
revset: add test that should fail if '_aliasarg' tag is removed
I'm going to refactor the alias processing functions. We need '_aliasarg' tag
to limit the scope of the alias expansion, but it wasn't covered by the test.
This patch adds the test that should fail if '_aliasarg' were 'symbol'.
This is the first half of the second part of the "template alias" series. The
whole series will consist of the following parts:
1. make parsed template tree to be compatible with parser functions
(1d461ee26e1b and 73d01cba5810)
2. refactor alias processing to be less dependent on revset module
(1/2 in this series)
3. extract reusable component to parser module
4. clean up it
5. extend it to support template syntax
6. add debugging/testing functions of template aliases
7. add alias expansion routine to templater
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 14 Feb 2016 21:46:50 +0900 |
parents | 29c249dfb4ef |
children | a14732e08fec |
files | tests/test-revset.t |
diffstat | 1 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-revset.t Sun Mar 27 17:42:19 2016 +0900 +++ b/tests/test-revset.t Sun Feb 14 21:46:50 2016 +0900 @@ -1799,6 +1799,27 @@ abort: unknown revision '$1'! [255] +test scope of alias expansion: 'universe' is expanded prior to 'shadowall(0)', +but 'all()' should never be substituded to '0()'. + + $ echo 'universe = all()' >> .hg/hgrc + $ echo 'shadowall(all) = all and universe' >> .hg/hgrc + $ try 'shadowall(0)' + (func + ('symbol', 'shadowall') + ('symbol', '0')) + * expanded: + (and + ('symbol', '0') + (func + ('symbol', 'all') + None)) + * set: + <filteredset + <baseset [0]>, + <spanset+ 0:9>> + 0 + $ echo 'injectparamasstring2 = max(_aliasarg("$1"))' >> .hg/hgrc $ echo 'callinjection2($1) = descendants(injectparamasstring2)' >> .hg/hgrc $ try 'callinjection2(2:5)'