mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* test/ruby/test_system.rb (TestSystem#test_system_at):
add testcase for bug4396. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
408a903c99
commit
deeda1ca87
2 changed files with 29 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Mon Feb 21 00:38:56 2011 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
|
||||||
|
|
||||||
|
* test/ruby/test_system.rb (TestSystem#test_system_at):
|
||||||
|
add testcase for bug4396.
|
||||||
|
|
||||||
Sun Feb 20 19:59:32 2011 Tanaka Akira <akr@fsij.org>
|
Sun Feb 20 19:59:32 2011 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* ext/openssl/ossl_cipher.c: parenthesize macro arguments.
|
* ext/openssl/ossl_cipher.c: parenthesize macro arguments.
|
||||||
|
|
|
@ -90,20 +90,38 @@ class TestSystem < Test::Unit::TestCase
|
||||||
|
|
||||||
def test_system_at
|
def test_system_at
|
||||||
if /mswin|mingw/ =~ RUBY_PLATFORM
|
if /mswin|mingw/ =~ RUBY_PLATFORM
|
||||||
testname = '[ruby-core:35218]'
|
bug4393 = '[ruby-core:35218]'
|
||||||
|
bug4396 = '[ruby-core:35227]'
|
||||||
|
|
||||||
# @ + builtin command
|
# @ + builtin command
|
||||||
assert_equal("foo\n", `@echo foo`, testname);
|
assert_equal("foo\n", `@echo foo`, bug4393);
|
||||||
assert_equal("foo\n", `@@echo foo`, testname);
|
assert_equal("foo\n", `@@echo foo`, bug4393);
|
||||||
|
assert_equal("@@foo\n", `@@echo @@foo`, bug4393);
|
||||||
|
|
||||||
|
# "" + @ + built-in
|
||||||
|
assert_equal("@@foo\n", `"echo" @@foo`, bug4396);
|
||||||
|
assert_equal("@@foo\n", `"@@echo" @@foo`, bug4396);
|
||||||
|
assert_equal("@@foo\n", `"@@echo @@foo"`, bug4396);
|
||||||
|
assert_equal('"@foo"\n', `"echo" "@foo"`, bug4396);
|
||||||
|
|
||||||
|
# ^ + @ + built-in
|
||||||
|
assert_equal(nil, system('^@echo foo'), bug4396);
|
||||||
|
assert_equal(nil, system('"^@echo foo"'), bug4396);
|
||||||
|
assert_equal("@foo\n", `echo ^@foo`);
|
||||||
|
|
||||||
# @ + non builtin command
|
|
||||||
Dir.mktmpdir("ruby_script_tmp") {|tmpdir|
|
Dir.mktmpdir("ruby_script_tmp") {|tmpdir|
|
||||||
tmpfilename = "#{tmpdir}/ruby_script_tmp.#{$$}"
|
tmpfilename = "#{tmpdir}/ruby_script_tmp.#{$$}"
|
||||||
|
|
||||||
tmp = open(tmpfilename, "w")
|
tmp = open(tmpfilename, "w")
|
||||||
tmp.print "foo\nbar\nbaz";
|
tmp.print "foo\nbar\nbaz\n@foo";
|
||||||
tmp.close
|
tmp.close
|
||||||
assert_match(/\Abar\nbaz\n?\z/, `@@findstr "ba" #{tmpfilename.gsub("/", "\\")}`, testname);
|
|
||||||
|
# @ + non builtin command
|
||||||
|
assert_match(/\Abar\nbaz\n?\z/, `@@findstr "ba" #{tmpfilename.gsub("/", "\\")}`, bug4393);
|
||||||
|
|
||||||
|
# "" + @ + non built-in
|
||||||
|
assert_match(/\Abar\nbaz\n?\z/, `"@@findstr" "ba" #{tmpfilename.gsub("/", "\\")}`, bug4396);
|
||||||
|
assert_match(/\A@foo\n?\z/, `"@@findstr" "@foo" #{tmpfilename.gsub("/", "\\")}`, bug4396);
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue