def testIterator1(self): '''Test sample Iterator class''' context = Harness(self) it = TALES.Iterator('name', (1, ), context) context._assert_('setLocal', 'name', 1) assert it.next() and not it.next(), "Single-element iterator" context._complete_()
def testCompile(self): '''Test expression compilation''' e = TALES.Engine() e.registerType('simple', TALES.SimpleExpr) ce = e.compile('simple:x') assert ce(None) == ('simple', 'x'), ('Improperly compiled expression %s.' % ` ce `)
def testRegisterTypeNameConstraints(self): '''Test constraints on expression type names''' e = TALES.Engine() for name in '1A', 'A!', 'AB ': try: e.registerType(name, TALES.SimpleExpr) except TALES.RegistrationError: pass else: assert 0, 'Invalid type name "%s" accepted.' % name
def testRegisterTypeUnique(self): '''Test expression type registration uniqueness''' e = TALES.Engine() e.registerType('simple', TALES.SimpleExpr) try: e.registerType('simple', TALES.SimpleExpr) except TALES.RegistrationError: pass else: assert 0, "Duplicate registration accepted."
def testIterator2(self): '''Test sample Iterator class''' context = Harness(self) it = TALES.Iterator('text', 'text', context) for c in 'text': context._assert_('setLocal', 'text', c) for c in 'text': assert it.next(), "Multi-element iterator" assert not it.next(), "Multi-element iterator" context._complete_()
def testGetContext(self): '''Test Context creation''' TALES.Engine().getContext() TALES.Engine().getContext(v=1) TALES.Engine().getContext(x=1, y=2)
def testRegisterType(self): '''Test expression type registration''' e = TALES.Engine() e.registerType('simple', TALES.SimpleExpr) assert e.getTypes()['simple'] == TALES.SimpleExpr
def testIterator0(self): '''Test sample Iterator class''' context = Harness(self) it = TALES.Iterator('name', (), context) assert not it.next(), "Empty iterator" context._complete_()
def getContext(self, **kws): e = TALES.Engine() e.registerType('simple', TALES.SimpleExpr) e.registerType('unicode', DummyUnicodeExpr) return e.getContext(**kws)