Sha256: 79b19840c4829a33dbbd59bf587e20e281e191ee8ca230507b8a0769b5b4fb21
Contents?: true
Size: 1.94 KB
Versions: 4
Compression:
Stored size: 1.94 KB
Contents
# encoding: utf-8 require 'spec_helper' def skip_new_ruby skip "Incorrect Ruby version." if RUBY_VERSION > '1.9' end def skip_old_ruby skip "Incorrect Ruby version." if RUBY_VERSION < '1.9' end module Findr RSpec.describe Encoder do let(:utf8_string) {'123รถ'} let(:latin1_string) {"123\xF6"} let(:cp850_string) {"123\x94"} describe '.list' do subject {Encoder.list} it 'fails on ruby 1.8' do skip_new_ruby expect{subject}.to raise_error(Encoder::Error) do |error| expect(error.message).to include('Iconv.list not supported') expect(error.original).to be_kind_of(NoMethodError) expect(error.original.message).to eq("undefined method `list' for Iconv:Class") end end it 'returns a list of supported encodings' do skip_old_ruby expect(subject).to include('UTF-8') expect(subject).to include('ISO-8859-1') end end describe 'decode' do it 'should accept single codings' do expect(Encoder.new('utf-8').decode(utf8_string)).to eq([utf8_string, 'UTF-8']) expect(Encoder.new('iso-8859-1').decode(latin1_string)).to eq([utf8_string, 'ISO-8859-1']) expect(Encoder.new('us-ascii').decode('123')).to eq(['123', 'US-ASCII']) end it 'should accept multiple encodings' do expect(Encoder.new('ascii,cp850').decode(cp850_string)).to eq([utf8_string, 'CP850']) end it 'should fail if no valid coding can be found' do expect{Encoder.new('ascii').decode("123\x94")}.to \ raise_error(Encoder::Error) do |error| expect(error.original).to be_kind_of(Encoder::Error) expect(error.original.message).to include('No valid coding given') end end end describe 'encode' do it 'should accept single codings' do expect(Encoder.new('utf-8').encode(utf8_string, 'utf-8')).to eq(utf8_string) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
findr-0.0.8.pre3 | spec/findr/encoder_spec.rb |
findr-0.0.8.pre2 | spec/findr/encoder_spec.rb |
findr-0.0.8.pre1 | spec/findr/encoder_spec.rb |
findr-0.0.7 | spec/findr/encoder_spec.rb |