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

require 'test/unit'
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'))
  ensure
    r.close
  end
end