Sha256: 6042e71336b5c0c2467bde05f6efc0431a7fb175a213cae65bbfed1c8eb42142

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

require File.expand_path('../../fixtures/classes.rb', __FILE__)

ruby_version_is ''...'2.0' do
  describe "Iconv::Failure#failed" do
    it "returns a substring of the original string passed to Iconv that starts at the character which caused the exception" do
      lambda {
        begin
          Iconv.open "utf-8", "utf-8" do |conv|
            conv.iconv "test \xff test \xff"
          end
        rescue Iconv::Failure => e
          @ex = e
          raise e
        end
      }.should raise_error(Iconv::Failure)
      @ex.failed.should == "\xff test \xff"

      lambda {
        begin
          Iconv.open "utf-8", "utf-8" do |conv|
            conv.iconv "test \xe2\x82"
          end
        rescue Iconv::Failure => e
          @ex = e
          raise e
        end
      }.should raise_error(Iconv::Failure)
      @ex.failed.should == "\xe2\x82"
    end

    it "for Iconv.iconv and Iconv.conv returns an array containing a single element when instantiated" do
      lambda {
        begin
          Iconv.iconv("utf-8", "utf-8", "test \xff test")
        rescue Iconv::Failure => e
          @ex = e
          raise e
        end
      }.should raise_error(Iconv::Failure)
      @ex.failed.should == ["\xff test"]

      lambda {
        begin
          Iconv.conv("utf-8", "utf-8", "test \xff test")
        rescue Iconv::Failure => e
          @ex = e
          raise e
        end
      }.should raise_error(Iconv::Failure)
      @ex.failed.should == ["\xff test"]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubysl-iconv-1.0.1 spec/failure/failed_spec.rb