test/partial_test.rb in mustache-0.9.0 vs test/partial_test.rb in mustache-0.9.1
- old
+ new
@@ -122,6 +122,38 @@
</ul>
</body>
</html>
end_partial
end
+
+ def test_partials_use_proper_context
+ assert_equal "OuterThing OuterThing", OuterThing.render('{{name}} {{> p}}')
+
+ assert_equal "InnerThing InnerThing", InnerThing.render('{{name}} {{> p}}')
+
+ assert_equal "OuterThing InnerThing InnerThing",
+ OuterThing.render('{{name}} {{#inner}}{{name}} {{> p}}{{/inner}}')
+ end
+
+ def test_partials_render_returned_strings
+ assert_equal "ok", MiddleThing.render('{{> some_partial }}')
+ end
+end
+
+class InnerThing < Mustache
+ def partial(p) self.class end
+ def name; self.class end
+end
+
+class OuterThing < Mustache
+ def inner
+ InnerThing.new
+ end
+
+ def partial(p) self.class end
+ def name; self.class end
+end
+
+class MiddleThing < Mustache
+ def partial(name) "{{#{name}}}" end
+ def some_partial; "ok" end
end