ruby/test/scanf/test_scanfio.rb
usa 662a3ca806 merge revision(s) d118c84b0b: [Backport #15199]
Fix IO#scanf on pipes on Windows

	IO.seek on a pipe on Windows raises Errno::EINVAL instead of
	Errno::ESPIPE.

	Fixes Ruby Bug #15199

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-26 14:18:58 +00:00

28 lines
533 B
Ruby

# 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