aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/zero/renderer.rb3
-rw-r--r--spec/unit/renderer/render_spec.rb10
2 files changed, 13 insertions, 0 deletions
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