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