Skip to content

Commit da88413

Browse files
committed
prevent error when path has resolvers appended, but keep null rendering
1 parent eee3d0e commit da88413

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

lib/rspec/rails/view_rendering.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ def render_views?
4444
#
4545
# @private
4646
class EmptyTemplateResolver < ::ActionView::FileSystemResolver
47+
48+
def initialize(path, pattern=nil)
49+
unless path.is_a?(::ActionView::Resolver)
50+
super
51+
end
52+
end
53+
4754
private
4855

4956
def find_templates(*args)

spec/rspec/rails/view_rendering_spec.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,13 @@ def example.controller
139139
expect(controller.view_paths.map(&:to_s)).to match_paths 'app/views', 'app/legacy_views', 'app/others', 'app/more_views'
140140
end
141141

142+
it 'supports manipulating view paths with resolvers' do
143+
expect {
144+
controller.prepend_view_path ActionView::Resolver.new
145+
controller.append_view_path ActionView::Resolver.new
146+
}.to_not raise_error
147+
end
148+
142149
def match_paths(*paths)
143150
eq paths.map { |path| File.expand_path path }
144151
end

0 commit comments

Comments
 (0)