"""Returns the current item."""
return self.items[self.pos]
- def __next__(self):
+ def next(self):
"""Goes one item ahead and returns it."""
rv = self.current
self.pos = (self.pos + 1) % len(self.items)
return rv
+ __next__ = next
+
class Joiner(object):
"""A joining helper for templates."""
c.reset()
assert c.current == 1
+ def test_cycler_nextmethod(self, env):
+ items = 1, 2, 3
+ c = Cycler(*items)
+ for item in items + items:
+ assert c.current == item
+ assert c.next() == item
+ c.next()
+ assert c.current == 2
+ c.reset()
+ assert c.current == 1
+
def test_expressions(self, env):
expr = env.compile_expression("foo")
assert expr() is None