Lmgtwty::IO gets #write_binary and #write_utf8 methods
[sunshowers.git] / test / test_io.rb
blob02469217de2b26027c193e40eda985c2b104f6e3
1 # -*- encoding: binary -*-
2 require 'test/unit'
3 require 'stringio'
4 require 'lmgtwty'
6 class TestIO < Test::Unit::TestCase
8   def setup
9     @raw = StringIO.new("")
10     @io = Lmgtwty::IO.new(@raw) # binary
11     if defined?(Encoding::Binary)
12       assert(Encoding::Binary, @io.to_io.encoding)
13     end
14   end
16   def test_gets
17     @raw.string << "\x00FOO\xff"
18     rv = @io.gets
19     assert_equal "FOO", rv
20     assert_equal Encoding::UTF_8, rv.encoding if rv.respond_to?(:encoding)
21   end
23   def test_gets_bad_alignment
24     @raw.string << "\x00FOO"
25     assert_nil @io.gets
26     @raw.string << "\xff"
27     rv = @io.gets
28     assert_equal "FOO", rv
29     assert_equal Encoding::UTF_8, rv.encoding if rv.respond_to?(:encoding)
30   end
32 end