From 99326b2eeb8c24f58a9bb28ce191269e44d14a41 Mon Sep 17 00:00:00 2001 From: Blake Mizerany Date: Fri, 26 Oct 2007 11:25:37 -0700 Subject: [PATCH] PATCH (Benjamin Birnbaum): HAML Layouts fixed --- test/sinatra/haml_test.rb | 33 +++++++++++++++++++++++++++++++++ vendor/haml/lib/haml.rb | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 test/sinatra/haml_test.rb diff --git a/test/sinatra/haml_test.rb b/test/sinatra/haml_test.rb new file mode 100644 index 0000000..fbed4b0 --- /dev/null +++ b/test/sinatra/haml_test.rb @@ -0,0 +1,33 @@ +require File.dirname(__FILE__) + '/../helper' + + +context "Haml" do + + before(:each) do + Sinatra::Event.before_filters.clear + Sinatra::Event.after_filters.clear + Sinatra::EventManager.reset! + end + + after(:each) do + Sinatra::Event.before_filters.clear + Sinatra::Event.after_filters.clear + Sinatra::EventManager.reset! + end + + specify "does layouts" do + layout do + '%h1== Hello #{yield}' + end + + get "/" do + haml 'Ben' + end + + get_it '/' + + body.should.equal "

Hello Ben

\n" + end + +end + diff --git a/vendor/haml/lib/haml.rb b/vendor/haml/lib/haml.rb index f262104..fe37372 100644 --- a/vendor/haml/lib/haml.rb +++ b/vendor/haml/lib/haml.rb @@ -9,9 +9,9 @@ module Sinatra # This can be use to if you already have the template on hand and don't # need a layout. This is speedier than using haml # - def render_haml(template) + def render_haml(template, &block) require 'haml' - body ::Haml::Engine.new(template).render(self) + body ::Haml::Engine.new(template).render(self, &block) end # Renders Haml within an event. -- 2.11.4.GIT