summaryrefslogtreecommitdiff
path: root/test/ruby/ut_eof.rb
blob: d1ad9a5fea0f3adc572a848bfd1e68ad448c0818 (plain)
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
require 'test/unit'

module TestEOF
  def test_eof_0
    open_file("") {|f|
      assert_equal("", f.read(0))
      assert_equal("", f.read(0))
      assert_equal("", f.read)
      assert_equal(nil, f.read(0))
      assert_equal(nil, f.read(0))
    }
    open_file("") {|f|
      assert_equal(nil, f.read(1))
      assert_equal(nil, f.read)
      assert_equal(nil, f.read(1))
    }
  end

  def test_eof_1
    open_file("a") {|f|
      assert_equal("", f.read(0))
      assert_equal("a", f.read(1))
      assert_equal("" , f.read(0))
      assert_equal("" , f.read(0))
      assert_equal("", f.read)
      assert_equal(nil, f.read(0))
      assert_equal(nil, f.read(0))
    }
    open_file("a") {|f|
      assert_equal("a", f.read(1))
      assert_equal(nil, f.read(1))
    }
    open_file("a") {|f|
      assert_equal("a", f.read(2))
      assert_equal(nil, f.read(1))
      assert_equal(nil, f.read)
      assert_equal(nil, f.read(1))
    }
    open_file("a") {|f|
      assert_equal("a", f.read)
      assert_equal(nil, f.read(1))
      assert_equal(nil, f.read)
      assert_equal(nil, f.read(1))
    }
  end
end