diff --git a/lib/nanoc/base/services/compiler/stages/compile_reps.rb b/lib/nanoc/base/services/compiler/stages/compile_reps.rb index 5db0a6bcab..e4cee80424 100644 --- a/lib/nanoc/base/services/compiler/stages/compile_reps.rb +++ b/lib/nanoc/base/services/compiler/stages/compile_reps.rb @@ -26,7 +26,7 @@ def run def handle_errors_while(item_rep) yield - rescue => e + rescue Exception => e # rubocop:disable Lint/RescueException raise Nanoc::Int::Errors::CompilationError.new(e, item_rep) end diff --git a/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb b/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb index 27e17048d1..5c88ac58c5 100644 --- a/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb +++ b/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb @@ -113,7 +113,7 @@ end context 'exception' do - let(:item) { Nanoc::Int::Item.new('<%= raise "lol" %>', {}, '/hi.md') } + let(:item) { Nanoc::Int::Item.new('<%= \'invalid_ruby %>', {}, '/hi.md') } it 'wraps exception' do expect { subject }.to raise_error(Nanoc::Int::Errors::CompilationError) @@ -127,8 +127,8 @@ it 'contains the right wrapped exception' do expect { subject }.to raise_error do |err| - expect(err.unwrap).to be_a(RuntimeError) - expect(err.unwrap.message).to eq('lol') + expect(err.unwrap).to be_a(SyntaxError) + expect(err.unwrap.message).to start_with('item /hi.md (rep default):1: unterminated string meets end of file') end end