def test_EmptyMapping(self): t = Tf.TemplateString("//$unit/$prod/shot/$shot/$shot.menva") m = t.GetEmptyMapping() self.assertTrue('unit' in m) self.assertTrue('prod' in m) self.assertTrue('shot' in m) t = Tf.TemplateString("${ }") m = t.GetEmptyMapping() self.assertEqual(0, len(m)) self.assertFalse(t.valid) self.assertNotEqual(0, len(t.GetParseErrors()))
def test_TemplateString(self): self.assertTrue(Tf.TemplateString().valid) self.assertTrue(Tf.TemplateString('').valid) self.assertFalse(Tf.TemplateString('${}').valid) self.assertTrue(Tf.TemplateString('$').valid) self.assertTrue(Tf.TemplateString('$$').valid) self.assertFalse(Tf.TemplateString('${} ${} ${} ').valid) self.assertEqual(3, len(Tf.TemplateString('${} ${} ${} ').GetParseErrors())) self.assertFalse(Tf.TemplateString('${').valid) self.assertTrue(Tf.TemplateString('${').GetParseErrors()) t = Tf.TemplateString('${foo}') self.assertEqual('${foo}', t.template) self.assertTrue(t.valid) self.assertFalse(t.GetParseErrors())
def Replace(tmpl, safe=False, **kw): ts = Tf.TemplateString(tmpl) result = '' if safe: result = ts.SafeSubstitute(kw) else: result = ts.Substitute(kw) print(repr(tmpl), ' -> ', repr(result)) return result