Sha256: c1942b03b658b3a2d952c0e8e835bfa6fa2bec84b8998e450f57f691af95ae3e
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
require_relative 'test_helper' class EncodeReaderTest < Minitest::Test describe IOStreams::Encode::Reader do let :bad_data do [ "New M\xE9xico,NE".b, 'good line', "New M\xE9xico,\x07SF".b ].join("\n").encode('BINARY') end let :cleansed_data do bad_data.gsub("\xE9".b, '') end let :stripped_data do cleansed_data.gsub("\x07", '') end describe '#read' do describe 'replacement' do it 'does not strip invalid characters' do skip "Does not raise on JRuby" if defined?(JRuby) input = StringIO.new(bad_data) IOStreams::Encode::Reader.stream(input, encoding: 'UTF-8') do |io| assert_raises ::Encoding::UndefinedConversionError do io.read.encoding end end end it 'strips invalid characters' do input = StringIO.new(bad_data) data = IOStreams::Encode::Reader.stream(input, encoding: 'UTF-8', replace: '') do |io| io.read end assert_equal cleansed_data, data end end describe 'printable' do it 'strips non-printable characters' do input = StringIO.new(bad_data) data = IOStreams::Encode::Reader.stream(input, encoding: 'UTF-8', cleaner: :printable, replace: '') do |io| io.read end assert_equal stripped_data, data end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
iostreams-1.1.0 | test/encode_reader_test.rb |
iostreams-1.0.0 | test/encode_reader_test.rb |