Mercurial > public > mercurial-scm > hg
diff tests/test-command-template.t @ 34581:ee0d74083a22
templater: store revisions as ints so min/max won't compare them as strings
Because a template value has no explicit type (like ancient PHP), ifcontains()
has to coerce the type of the needle. Before, it was always converted to a
string, which meant any container type should be a list/dict of strings.
This no longer works since we've introduced min/max functions.
In order to work around the untyped nature of templater, this patch adds
a type specifier to hybrid dict/list. It isn't named as "valuetype" since
the _hybrid class can also wrap a dict.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 19 Sep 2017 23:13:46 +0900 |
parents | 0a0a72c043ac |
children | 3edfd472f3cb |
line wrap: on
line diff
--- a/tests/test-command-template.t Mon Oct 09 12:47:22 2017 -0700 +++ b/tests/test-command-template.t Tue Sep 19 23:13:46 2017 +0900 @@ -3147,6 +3147,13 @@ $ hg log -R latesttag -r tip -T '{join(get(extras, "branch"), "")}\n' default +Test min/max of integers + + $ hg log -R latesttag -l1 -T '{min(revset("9:10"))}\n' + 9 + $ hg log -R latesttag -l1 -T '{max(revset("9:10"))}\n' + 10 + Test dot operator precedence: $ hg debugtemplate -R latesttag -r0 -v '{manifest.node|short}\n'