spec/error_spec.rb in nydp-0.2.3 vs spec/error_spec.rb in nydp-0.2.5

- old
+ new

@@ -4,17 +4,27 @@ let(:ns) { { } } let(:vm) { Nydp::VM.new(ns) } def run txt Nydp.setup ns - Nydp::ExplodeRunner.new(vm, ns, Nydp::StringReader.new(txt)).run + Nydp::Runner.new(vm, ns, Nydp::StringReader.new(txt)).run end describe "unhandled_error" do it "raises a helpful error" do - proc = Proc.new { run "dflkjdgjeirgjeoi" } - msg = "failed to eval dflkjdgjeirgjeoi\nerror was unbound symbol: dflkjdgjeirgjeoi" - expect(proc).to raise_error RuntimeError, msg + error = nil + begin + run "dflkjdgjeirgjeoi" + rescue StandardError => e + error = e + end + + expect(error).to be_a Nydp::Error + expect(error.message).to eq "failed to eval dflkjdgjeirgjeoi" + + expect(error.cause).to be_a Nydp::Error + expect(error.cause.message).to eq "unbound symbol: dflkjdgjeirgjeoi" + expect(vm.unhandled_error).to eq nil end it "recovers quickly from an error" do begin