summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-27 14:31:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-06-27 14:31:19 +0000
commita67f1a9534322914367d6eb17eb01badd87e7f79 (patch)
tree23bef858db62ea6eba371eb345716415bf3ffb3c /test
parentd9edd4ca87bff687dc9548de6517792443746ddd (diff)
* include/ruby/io.h, io.c: reverted r21709.
* ruby.c (load_file_internal): nothing to read if EOF reached while reading shebang. [ruby-core:30910] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_rubyoptions.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index 5befa465a3..faa7c5a9df 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -421,4 +421,28 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(["-we", "a=1"], "", [], ["-e:1: warning: assigned but unused variable - a"], feature3446)
assert_in_out_err(["-we", "1.times do\n a=1\nend"], "", [], ["-e:2: warning: assigned but unused variable - a"], feature3446)
end
+
+ def test_script_from_stdin
+ begin
+ require 'pty'
+ require 'io/console'
+ rescue LoadError
+ return
+ end
+ require 'timeout'
+ result = nil
+ PTY.spawn(EnvUtil.rubybin) do |s, m|
+ m.print("\C-d")
+ assert_nothing_raised('[ruby-dev:37798]') do
+ Timeout.timeout(3) {s.read}
+ end
+ end
+ PTY.spawn(EnvUtil.rubybin) do |s, m|
+ m.print("$stdin.read; p $stdin.gets\n\C-d")
+ m.print("abc\n\C-d")
+ m.print("zzz\n")
+ result = s.read
+ end
+ assert_match(/zzz\r\n"zzz\\n"\r\n\z/, result, '[ruby-core:30910]')
+ end
end