~ubuntu-branches/ubuntu/lucid/jruby/lucid

« back to all changes in this revision

Viewing changes to test/externals/ruby1.9/ruby/ut_eof.rb

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Delafond
  • Date: 2009-12-09 17:30:55 UTC
  • Revision ID: james.westby@ubuntu.com-20091209173055-8ffzikq1768gywux
Tags: upstream-1.3.1
ImportĀ upstreamĀ versionĀ 1.3.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
require 'test/unit'
 
2
 
 
3
module TestEOF
 
4
  def test_eof_0
 
5
    open_file("") {|f|
 
6
      assert_equal("", f.read(0))
 
7
      assert_equal("", f.read(0))
 
8
      assert_equal("", f.read)
 
9
      assert_equal("", f.read(0))
 
10
      assert_equal("", f.read(0))
 
11
    }
 
12
    open_file("") {|f|
 
13
      assert_nil(f.read(1))
 
14
      assert_equal("", f.read)
 
15
      assert_nil(f.read(1))
 
16
    }
 
17
    open_file("") {|f|
 
18
      s = "x"
 
19
      assert_equal("", f.read(nil, s))
 
20
      assert_equal("", s)
 
21
    }
 
22
    open_file("") {|f|
 
23
      s = "x"
 
24
      assert_nil(f.read(10, s))
 
25
      assert_equal("", s)
 
26
    }
 
27
  end
 
28
 
 
29
  def test_eof_0_rw
 
30
    return unless respond_to? :open_file_rw
 
31
    open_file_rw("") {|f|
 
32
      assert_equal("", f.read)
 
33
      assert_equal("", f.read)
 
34
      assert_equal(0, f.syswrite(""))
 
35
      assert_equal("", f.read)
 
36
    }
 
37
  end
 
38
 
 
39
  def test_eof_1
 
40
    open_file("a") {|f|
 
41
      assert_equal("", f.read(0))
 
42
      assert_equal("a", f.read(1))
 
43
      assert_equal("" , f.read(0))
 
44
      assert_equal("" , f.read(0))
 
45
      assert_equal("", f.read)
 
46
      assert_equal("", f.read(0))
 
47
      assert_equal("", f.read(0))
 
48
    }
 
49
    open_file("a") {|f|
 
50
      assert_equal("a", f.read(1))
 
51
      assert_nil(f.read(1))
 
52
    }
 
53
    open_file("a") {|f|
 
54
      assert_equal("a", f.read(2))
 
55
      assert_nil(f.read(1))
 
56
      assert_equal("", f.read)
 
57
      assert_nil(f.read(1))
 
58
    }
 
59
    open_file("a") {|f|
 
60
      assert_equal("a", f.read)
 
61
      assert_nil(f.read(1))
 
62
      assert_equal("", f.read)
 
63
      assert_nil(f.read(1))
 
64
    }
 
65
    open_file("a") {|f|
 
66
      assert_equal("a", f.read(2))
 
67
      assert_equal("", f.read)
 
68
      assert_equal("", f.read)
 
69
    }
 
70
    open_file("a") {|f|
 
71
      assert_equal("a", f.read)
 
72
      assert_equal("", f.read(0))
 
73
    }
 
74
    open_file("a") {|f|
 
75
      s = "x"
 
76
      assert_equal("a", f.read(nil, s))
 
77
      assert_equal("a", s)
 
78
    }
 
79
    open_file("a") {|f|
 
80
      s = "x"
 
81
      assert_equal("a", f.read(10, s))
 
82
      assert_equal("a", s)
 
83
    }
 
84
  end
 
85
 
 
86
  def test_eof_2
 
87
    open_file("") {|f|
 
88
      assert_equal("", f.read)
 
89
      assert(f.eof?)
 
90
    }
 
91
  end
 
92
 
 
93
  def test_eof_3
 
94
    open_file("") {|f|
 
95
      assert(f.eof?)
 
96
    }
 
97
  end
 
98
 
 
99
  module Seek
 
100
    def open_file_seek(content, pos)
 
101
      open_file(content) do |f|
 
102
        f.seek(pos)
 
103
        yield f
 
104
      end
 
105
    end
 
106
 
 
107
    def test_eof_0_seek
 
108
      open_file_seek("", 10) {|f|
 
109
        assert_equal(10, f.pos)
 
110
        assert_equal("", f.read(0))
 
111
        assert_equal("", f.read)
 
112
        assert_equal("", f.read(0))
 
113
        assert_equal("", f.read)
 
114
      }
 
115
    end
 
116
 
 
117
    def test_eof_1_seek
 
118
      open_file_seek("a", 10) {|f|
 
119
        assert_equal("", f.read)
 
120
        assert_equal("", f.read)
 
121
      }
 
122
      open_file_seek("a", 1) {|f|
 
123
        assert_equal("", f.read)
 
124
        assert_equal("", f.read)
 
125
      }
 
126
    end
 
127
  end
 
128
end