| 300 | 'tim likes ham for dinner') |
| 301 | |
| 302 | def test_invalid_placeholders(self): |
| 303 | raises = self.assertRaises |
| 304 | s = Template('$who likes $') |
| 305 | raises(ValueError, s.substitute, dict(who='tim')) |
| 306 | s = Template('$who likes ${what)') |
| 307 | raises(ValueError, s.substitute, dict(who='tim')) |
| 308 | s = Template('$who likes $100') |
| 309 | raises(ValueError, s.substitute, dict(who='tim')) |
| 310 | # Template.idpattern should match to only ASCII characters. |
| 311 | # https://bugs.python.org/issue31672 |
| 312 | s = Template("$who likes $\u0131") # (DOTLESS I) |
| 313 | raises(ValueError, s.substitute, dict(who='tim')) |
| 314 | s = Template("$who likes $\u0130") # (LATIN CAPITAL LETTER I WITH DOT ABOVE) |
| 315 | raises(ValueError, s.substitute, dict(who='tim')) |
| 316 | |
| 317 | def test_idpattern_override(self): |
| 318 | class PathPattern(Template): |