From 74bbc7f186edb9fc01e2792946c4f773568defe2 Mon Sep 17 00:00:00 2001 From: Stormwind Date: Thu, 29 Nov 2012 21:41:13 +0100 Subject: Throws an ArgumentError, if no template fits given types --- lib/zero/renderer.rb | 3 +++ spec/unit/renderer/render_spec.rb | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/zero/renderer.rb b/lib/zero/renderer.rb index 54d2d29..9f59fc0 100644 --- a/lib/zero/renderer.rb +++ b/lib/zero/renderer.rb @@ -129,6 +129,9 @@ module Zero return Tilt.new(template) end end + raise ArgumentError.new( + "No template found for any of this types #{types.join ', '}!" + ) end raise ArgumentError.new "No template found for '#{name}'!" end diff --git a/spec/unit/renderer/render_spec.rb b/spec/unit/renderer/render_spec.rb index 63ea3db..da5c333 100644 --- a/spec/unit/renderer/render_spec.rb +++ b/spec/unit/renderer/render_spec.rb @@ -10,6 +10,7 @@ describe Zero::Renderer, '#render' do }} let(:html_types) { ['text/html'] } let(:json_types) { ['application/json'] } + let(:foo_types) { ['foo/bar', 'bar/foo'] } let(:binding) { SpecTemplateContext.new('foo') } before :each do @@ -37,4 +38,13 @@ describe Zero::Renderer, '#render' do subject.render('foobar', html_types, binding) }.to raise_error(ArgumentError, "No template found for 'foobar'!") end + + it 'returns an ArgumentError, if no template fits types' do + expect { + subject.render('index', foo_types, binding) + }.to raise_error( + ArgumentError, + "No template found for any of this types #{foo_types.join ', '}!" + ) + end end -- cgit v1.2.3-70-g09d2