1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
require File.expand_path('../../../../spec_helper', __FILE__)
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
|