mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
89c7e6de44
is not changed. At first `ARGV.unshift('something')` was suggested for r61149, but it wasn't sufficient because it modifies $0. Not only to preserve ARGV, but also r61149 intends to preserve $0. This test prevents future breakage of the behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
31 lines
632 B
Ruby
31 lines
632 B
Ruby
# frozen_string_literal: false
|
|
require "test/unit"
|
|
require "irb"
|
|
|
|
module TestIRB
|
|
class TestInit < Test::Unit::TestCase
|
|
def test_setup_with_argv_preserves_global_argv
|
|
argv = ["foo", "bar"]
|
|
with_argv(argv) do
|
|
IRB.setup(eval("__FILE__"), argv: [])
|
|
assert_equal argv, ARGV
|
|
end
|
|
end
|
|
|
|
def test_setup_with_empty_argv_does_not_change_dollar0
|
|
orig = $0.dup
|
|
IRB.setup(eval("__FILE__"), argv: [])
|
|
assert_equal orig, $0
|
|
end
|
|
|
|
private
|
|
|
|
def with_argv(argv)
|
|
orig = ARGV.dup
|
|
ARGV.replace(argv)
|
|
yield
|
|
ensure
|
|
ARGV.replace(orig)
|
|
end
|
|
end
|
|
end
|