Sha256: b64f5a12e4e7d10be1550a524c7eacf6d03766bf1256158f3be87341428a824f
Contents?: true
Size: 926 Bytes
Versions: 5
Compression:
Stored size: 926 Bytes
Contents
# frozen_string_literal: true require_relative '../spec_helper' describe 'Delorean Ruby error handling' do after do ::Delorean::Ruby.error_handler = ::Delorean::Ruby::DEFAULT_ERROR_HANDLER end let(:sset) do TestContainer.new( 'AAA' => defn('X:', ' a =? 123', ' b = a*2', ) ) end let(:engine) do Delorean::Engine.new('XXX', sset).tap do |eng| eng.parse defn('A:', ' b = ERR("test", 1, 2, 3)' ) end end it 'raises error' do expect { engine.evaluate('A', 'b') }.to raise_error( RuntimeError, 'test, 1, 2, 3' ) end it 'allows to override handler' do ::Delorean::Ruby.error_handler = lambda do |*_args| raise StandardError, 'Overriden Error' end expect { engine.evaluate('A', 'b') }.to raise_error( StandardError, 'Overriden Error' ) end end
Version data entries
5 entries across 5 versions & 1 rubygems