Mercurial > hg
comparison tests/test-template-functions.t @ 40935:4591c9791a82
templatefuncs: specialize "no match" value of search() to allow % operation
If Python had Maybe or Option, the type of the search() result would be
Option<Mapping>, which can be considered as a 0/1 container of a Mapping.
So it makes sense that {search(r'no match pattern', x) % "whatever"} is
mapped to an empty string.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Wed, 12 Dec 2018 22:45:02 +0900 |
parents | d3e688b9ef2e |
children | 6704696141b8 |
comparison
equal
deleted
inserted
replaced
40934:d3e688b9ef2e | 40935:4591c9791a82 |
---|---|
633 no | 633 no |
634 $ hg log -R a -r2 -T '{search(r"(?P<foo>[a-z]*)", desc).foo}\n' | 634 $ hg log -R a -r2 -T '{search(r"(?P<foo>[a-z]*)", desc).foo}\n' |
635 no | 635 no |
636 | 636 |
637 group reference with no match | 637 group reference with no match |
638 (TODO: we'll probably want to map it to an empty value) | |
639 | 638 |
640 $ hg log -R a -r2 -T '{search(r"q", desc) % "match: {0}"}\n' | 639 $ hg log -R a -r2 -T '{search(r"q", desc) % "match: {0}"}\n' |
641 hg: parse error: None is not iterable of mappings | 640 |
642 [255] | |
643 | 641 |
644 bad group names | 642 bad group names |
645 | 643 |
646 $ hg log -R a -r2 -T '{search(r"(?P<0>.)", desc) % "{0}"}\n' | 644 $ hg log -R a -r2 -T '{search(r"(?P<0>.)", desc) % "{0}"}\n' |
647 hg: parse error: search got an invalid pattern: (?P<0>.) | 645 hg: parse error: search got an invalid pattern: (?P<0>.) |