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