test/erb_test.rb in bmizerany-sinatra-0.9.0.5 vs test/erb_test.rb in bmizerany-sinatra-0.9.1

- old
+ new

@@ -45,6 +45,37 @@ erb 'Hello World', :layout => :layout2 } assert ok? assert_equal "ERB Layout!\nHello World\n", body end + + it "renders erb with blocks" do + mock_app { + def container + @_out_buf << "THIS." + yield + @_out_buf << "SPARTA!" + end + def is; "IS." end + get '/' do + erb '<% container do %> <%= is %> <% end %>' + end + } + get '/' + assert ok? + assert_equal 'THIS. IS. SPARTA!', body + end + + it "can be used in a nested fashion for partials and whatnot" do + mock_app { + template(:inner) { "<inner><%= 'hi' %></inner>" } + template(:outer) { "<outer><%= erb :inner %></outer>" } + get '/' do + erb :outer + end + } + + get '/' + assert ok? + assert_equal '<outer><inner>hi</inner></outer>', body + end end