summaryrefslogtreecommitdiff
path: root/test/scanf/test_scanfio.rb
blob: f7c439276d5d59e262a103c8b5bd5e8a2966b78c (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
# frozen_string_literal: false
# $Id$
#
# scanf for Ruby
#
# Ad hoc tests of IO#scanf (needs to be expanded)


require "scanf"

class TestScanfIO < Test::Unit::TestCase
  def test_io
    fh = File.new(File.join(File.dirname(__FILE__), "data.txt"), "r")
    assert_equal(0, fh.pos)
    assert_equal(["this", "is"], fh.scanf("%s%s"))
    assert_equal([33, "little"], fh.scanf("%da fun%s"))
  ensure
    fh.close
  end

  def test_pipe_scanf
    r, w = IO.pipe
    w.write('a')
    w.close
    assert_equal([], r.scanf('a'))
  end
end