Sha256: 86f5b468dc9552d8acbbd104fccde8d01214d5ec2a1494f8ca8847198741e2e4

Contents?: true

Size: 1.83 KB

Versions: 77

Compression:

Stored size: 1.83 KB

Contents

require 'helper'

describe "raise-up" do
  before do
    @self  = "Pad.self = self"
    @inner = "Pad.inner = self"
    @outer = "Pad.outer = self"
  end

  after do
    Pad.clear
  end

  it "should raise the exception with raise-up" do
    redirect_pry_io(InputTester.new("raise NoMethodError", "raise-up NoMethodError")) do
      lambda { Pry.new.repl(0) }.should.raise NoMethodError
    end
  end

  it "should raise an unamed exception with raise-up" do
    redirect_pry_io(InputTester.new("raise 'stop'","raise-up 'noreally'")) do
      lambda { Pry.new.repl(0) }.should.raise RuntimeError, "noreally"
    end
  end

  it "should eat the exception at the last new pry instance on raise-up" do
    redirect_pry_io(InputTester.new(":inner.pry", "raise NoMethodError", @inner,
                                    "raise-up NoMethodError", @outer, "exit-all")) do
      Pry.start(:outer)
    end

    Pad.inner.should == :inner
    Pad.outer.should == :outer
  end

  it "should raise the most recently raised exception" do
    lambda { mock_pry("raise NameError, 'homographery'","raise-up") }.should.raise NameError, 'homographery'
  end

  it "should allow you to cd up and (eventually) out" do
    redirect_pry_io(InputTester.new("cd :inner", "raise NoMethodError", @inner,
                                    "deep = :deep", "cd deep","Pad.deep = self",
                                    "raise-up NoMethodError", "raise-up", @outer,
                                    "raise-up", "exit-all")) do
      lambda { Pry.start(:outer) }.should.raise NoMethodError
    end

    Pad.deep.should  == :deep
    Pad.inner.should == :inner
    Pad.outer.should == :outer
  end

  it "should jump immediately out of nested contexts with !" do
    lambda { mock_pry("cd 1", "cd 2", "cd 3", "raise-up! 'fancy that...'") }.should.raise RuntimeError, 'fancy that...'
  end
end

Version data entries

77 entries across 77 versions & 5 rubygems

Version Path
asana2flowdock-1.0.0 vendor/bundle/ruby/1.9.1/gems/pry-0.9.12.6/spec/commands/raise_up_spec.rb
pry-0.9.12.6 spec/commands/raise_up_spec.rb
pry-0.9.12.6-i386-mswin32 spec/commands/raise_up_spec.rb
pry-0.9.12.6-i386-mingw32 spec/commands/raise_up_spec.rb
pry-0.9.12.6-java spec/commands/raise_up_spec.rb
pry-0.9.12.5 spec/commands/raise_up_spec.rb
pry-0.9.12.5-i386-mswin32 spec/commands/raise_up_spec.rb
pry-0.9.12.5-i386-mingw32 spec/commands/raise_up_spec.rb
pry-0.9.12.5-java spec/commands/raise_up_spec.rb
pry-0.9.12.4 spec/commands/raise_up_spec.rb
pry-0.9.12.4-i386-mswin32 spec/commands/raise_up_spec.rb
pry-0.9.12.4-i386-mingw32 spec/commands/raise_up_spec.rb
pry-0.9.12.4-java spec/commands/raise_up_spec.rb
pry-0.9.12.3 spec/commands/raise_up_spec.rb
pry-0.9.12.3-i386-mswin32 spec/commands/raise_up_spec.rb
pry-0.9.12.3-i386-mingw32 spec/commands/raise_up_spec.rb
pry-0.9.12.3-java spec/commands/raise_up_spec.rb
torquebox-console-0.3.0 vendor/bundle/jruby/1.9/gems/pry-0.9.12-java/spec/commands/raise_up_spec.rb
sshp-0.0.2 vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/raise_up_spec.rb
sshp-0.0.1 vendor/ruby/1.9.1/gems/pry-0.9.12.2/spec/commands/raise_up_spec.rb