more unittests and updated documentation for extensions. Fixed bug in optimizer that caused blocks to be optimized away under some circumstances.
--HG--
branch : trunk
diff --git a/jinja2/optimizer.py b/jinja2/optimizer.py
index 5b95c99..8f92e38 100644
--- a/jinja2/optimizer.py
+++ b/jinja2/optimizer.py
@@ -34,6 +34,10 @@
def visit_If(self, node):
"""Eliminate dead code."""
+ # do not optimize ifs that have a block inside so that it doesn't
+ # break super().
+ if node.find(nodes.Block) is not None:
+ return self.generic_visit(node)
try:
val = self.visit(node.test).as_const()
except nodes.Impossible: