Mercurial > public > mercurial-scm > hg-stable
diff tests/test-command-template.t @ 25695:ce3d4b858420
merge with stable
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Wed, 01 Jul 2015 16:33:31 -0500 |
parents | ec9c258e666d ff5172c83002 |
children | c1cac25ad1a6 |
line wrap: on
line diff
--- a/tests/test-command-template.t Tue Jun 30 22:39:28 2015 -0700 +++ b/tests/test-command-template.t Wed Jul 01 16:33:31 2015 -0500 @@ -2860,6 +2860,16 @@ $ hg log -Ra -r0 -T '{r"\\\""}\n' \\\" + + $ hg log -Ra -r0 -T '{"\""}\n' + " + $ hg log -Ra -r0 -T '{"\\\""}\n' + \" + $ hg log -Ra -r0 -T '{r"\""}\n' + \" + $ hg log -Ra -r0 -T '{r"\\\""}\n' + \\\" + Test exception in quoted template. single backslash before quotation mark is stripped before parsing: @@ -2877,6 +2887,47 @@ valid $ hg log -r 2 -T esc --config templates.esc="'"'{\'"'"'valid\'"'"'}\n'"'" valid + +Test compatibility with 2.9.2-3.4 of escaped quoted strings in nested +_evalifliteral() templates (issue4733): + + $ hg log -r 2 -T '{if(rev, "\"{rev}")}\n' + "2 + $ hg log -r 2 -T '{if(rev, "{if(rev, \"\\\"{rev}\")}")}\n' + "2 + $ hg log -r 2 -T '{if(rev, "{if(rev, \"{if(rev, \\\"\\\\\\\"{rev}\\\")}\")}")}\n' + "2 + + $ hg log -r 2 -T '{if(rev, "\\\"")}\n' + \" + $ hg log -r 2 -T '{if(rev, "{if(rev, \"\\\\\\\"\")}")}\n' + \" + $ hg log -r 2 -T '{if(rev, "{if(rev, \"{if(rev, \\\"\\\\\\\\\\\\\\\"\\\")}\")}")}\n' + \" + + $ hg log -r 2 -T '{if(rev, r"\\\"")}\n' + \\\" + $ hg log -r 2 -T '{if(rev, "{if(rev, r\"\\\\\\\"\")}")}\n' + \\\" + $ hg log -r 2 -T '{if(rev, "{if(rev, \"{if(rev, r\\\"\\\\\\\\\\\\\\\"\\\")}\")}")}\n' + \\\" + +escaped single quotes and errors: + + $ hg log -r 2 -T "{if(rev, '{if(rev, \'foo\')}')}"'\n' + foo + $ hg log -r 2 -T "{if(rev, '{if(rev, r\'foo\')}')}"'\n' + foo + $ hg log -r 2 -T '{if(rev, "{if(rev, \")}")}\n' + hg: parse error at 11: unterminated string + [255] + $ hg log -r 2 -T '{if(rev, \"\\"")}\n' + hg: parse error at 11: syntax error + [255] + $ hg log -r 2 -T '{if(rev, r\"\\"")}\n' + hg: parse error at 12: syntax error + [255] + $ cd .. Test leading backslashes: