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'