Sha256: 6ad5167a6a84db2d0b5a867e4456c06018262a3e0cc73e473ad9aa4ea0f7f7ce

Contents?: true

Size: 1.3 KB

Versions: 26

Compression:

Stored size: 1.3 KB

Contents

describe Pry do
  describe "output failsafe" do
    after do
      Pry.config.print = Pry::DEFAULT_PRINT
    end

    it "should catch serialization exceptions" do
      Pry.config.print = lambda { |*a| raise "catch-22" }

      lambda {
        mock_pry("1")
      }.should.not.raise
    end

    it "should display serialization exceptions" do
      Pry.config.print = lambda { |*a| raise "catch-22" }

      mock_pry("1").should =~ /output error: #<RuntimeError: catch-22>/
    end

    it "should catch errors serializing exceptions" do
      Pry.config.print = lambda do |*a|
        raise Exception.new("catch-22").tap{ |e| class << e; def inspect; raise e; end; end }
      end

      mock_pry("1").should =~ /output error: failed to show result/
    end
  end

  describe "DEFAULT_PRINT" do
    it "should output the right thing" do
      mock_pry("{:a => 1}").should =~ /\{:a=>1\}/
    end

    it "should not be phased by un-inspectable things" do
      mock_pry("class NastyClass; undef pretty_inspect; end", "NastyClass.new").should =~ /#<NastyClass:0x[0-9a-f]+>/
    end

    it "should warn you about un-inspectable things" do
      mock_pry("class NastyClass; undef pretty_inspect; end", "NastyClass.new").should =~ /output error: #<(NoMethodError|NameError): undefined method `pretty_inspect'/
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
pry-0.9.5 test/test_pry_output.rb
pry-0.9.5-i386-mswin32 test/test_pry_output.rb
pry-0.9.5-i386-mingw32 test/test_pry_output.rb
pry-0.9.5-java test/test_pry_output.rb
pry-0.9.4pre6 test/test_pry_output.rb
pry-0.9.4pre6-i386-mswin32 test/test_pry_output.rb
pry-0.9.4pre6-i386-mingw32 test/test_pry_output.rb
pry-0.9.4pre6-java test/test_pry_output.rb
pry-0.9.4-i386-mswin32 test/test_pry_output.rb
pry-0.9.4-i386-mingw32 test/test_pry_output.rb
pry-0.9.4pre5 test/test_pry_output.rb
pry-0.9.4pre5-i386-mswin32 test/test_pry_output.rb
pry-0.9.4pre5-i386-mingw32 test/test_pry_output.rb
pry-0.9.4pre5-java test/test_pry_output.rb
pry-0.9.4pre4 test/test_pry_output.rb
pry-0.9.4pre4-i386-mswin32 test/test_pry_output.rb
pry-0.9.4pre4-i386-mingw32 test/test_pry_output.rb
pry-0.9.4pre4-java test/test_pry_output.rb
pry-0.9.4pre3 test/test_pry_output.rb
pry-0.9.4pre3-i386-mswin32 test/test_pry_output.rb