summaryrefslogtreecommitdiff
path: root/test/scanf/test_scanfio.rb
blob: fdd5928c9efd4f7584f4086a0013823734ab47df (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 'test/unit'
require 'scanf'

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

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