From 0827f783531b318af55a1048ad69ee4c112e0873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Thu, 5 Jan 2012 12:04:43 +0100 Subject: Node: fix mime-type override and add spec --- lib/zorglub/node.rb | 6 ++++-- spec/node_spec.rb | 10 ++++++++++ spec/spec_helper.rb | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/zorglub/node.rb b/lib/zorglub/node.rb index 68e535b..c85e42d 100644 --- a/lib/zorglub/node.rb +++ b/lib/zorglub/node.rb @@ -121,9 +121,11 @@ module Zorglub @content = self.send @options[:method], *@options[:args] v, l, e = view, layout, Config.engine_proc(@options[:engine]) state (@options[:layout].nil? ? :partial : :view) - @content, @mime = e.call v, self if e and File.exists? v + @content, mime = e.call v, self if e and File.exists? v + @mime = mime unless mime.nil? state :layout - @content, @mime = e.call l, self if e and File.exists? l + @content, mime = e.call l, self if e and File.exists? l + @mime = mime unless mime.nil? state :post_cb Node.call_after_hooks self state :finished diff --git a/spec/node_spec.rb b/spec/node_spec.rb index b667338..f78eb64 100644 --- a/spec/node_spec.rb +++ b/spec/node_spec.rb @@ -118,6 +118,16 @@ describe Zorglub do r.body[0].should == "layout_start view_content layout_end" end # + it "default mime-type should be text/html" do + r = Node0.my_call '/index' + r.header['Content-type'].should == 'text/html' + end + # + it "should be able to override mime-type" do + r = Node0.my_call '/do_render' + r.header['Content-type'].should == 'text/view' + end + # it "partial should render correctly" do Node0.partial(:do_partial, 1, 2).should == 'partial_content' end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 35b8e2a..c379361 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -18,9 +18,9 @@ RENDER_PROC = Proc.new { |path,obj| when :layout "layout_start #{obj.content} layout_end" when :view - "view_content" + ["view_content", 'text/view'] when :partial - 'partial_content' + ['partial_content','text/partial'] else raise Exception.new end -- cgit v1.1-2-g2b99