Sha256: 6433265e8e591d3d6d1be730412cc3b7d04f8feaeeafdb2f7cebca4d06494931

Contents?: true

Size: 1003 Bytes

Versions: 2

Compression:

Stored size: 1003 Bytes

Contents

require File.dirname(__FILE__) + '/spec_helper.rb'

describe RubyPython::PythonError do
  include RubyPythonStartStop

  def cause_error
    RubyPython::Python.PyImport_ImportModule("wat")
  end

  describe "#error?" do
    it "should return false when no error has occured" do
      described_class.error?.should be_false
    end

    it "should return true when an error has occured" do
      cause_error
      described_class.error?.should be_true
    end
  end

  describe "#clear" do
    it "should reset the Python error flag" do
      cause_error
      described_class.clear
      described_class.error?.should be_false
    end

    it "should not barf when there is no error" do
      lambda {described_class.clear}.should_not raise_exception
    end
  end


  describe "#fetch" do
    it "should make availible Python error type" do
      cause_error
      rbType, rbValue, rbTraceback = described_class.fetch
      rbType.getAttr("__name__").rubify.should == "ImportError"
    end
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubypython-0.3.1 spec/pythonerror_spec.rb
rubypython-0.3.0 spec/pythonerror_spec.rb