5
5
6
6
module TestIRB
7
7
class TestInit < Test ::Unit ::TestCase
8
+ def setup
9
+ # IRBRC is for RVM...
10
+ @backup_env = %w[ HOME XDG_CONFIG_HOME IRBRC ] . each_with_object ( { } ) do |env , hash |
11
+ hash [ env ] = ENV . delete ( env )
12
+ end
13
+ ENV [ "HOME" ] = @tmpdir = Dir . mktmpdir ( "test_irb_init_#{ $$} " )
14
+ end
15
+
16
+ def teardown
17
+ ENV . update ( @backup_env )
18
+ FileUtils . rm_rf ( @tmpdir )
19
+ end
20
+
8
21
def test_setup_with_argv_preserves_global_argv
9
22
argv = [ "foo" , "bar" ]
10
23
with_argv ( argv ) do
@@ -20,12 +33,8 @@ def test_setup_with_minimum_argv_does_not_change_dollar0
20
33
end
21
34
22
35
def test_rc_file
23
- backup_irbrc = ENV . delete ( "IRBRC" ) # This is for RVM...
24
- backup_xdg_config_home = ENV . delete ( "XDG_CONFIG_HOME" )
25
- backup_home = ENV [ "HOME" ]
26
- Dir . mktmpdir ( "test_irb_init_#{ $$} " ) do |tmpdir |
27
- ENV [ "HOME" ] = tmpdir
28
-
36
+ tmpdir = @tmpdir
37
+ Dir . chdir ( tmpdir ) do
29
38
IRB . conf [ :RC_NAME_GENERATOR ] = nil
30
39
assert_equal ( tmpdir +"/.irb#{ IRB ::IRBRC_EXT } " , IRB . rc_file )
31
40
assert_equal ( tmpdir +"/.irb_history" , IRB . rc_file ( "_history" ) )
@@ -34,19 +43,11 @@ def test_rc_file
34
43
assert_equal ( tmpdir +"/.irb#{ IRB ::IRBRC_EXT } " , IRB . rc_file )
35
44
assert_equal ( tmpdir +"/.irb_history" , IRB . rc_file ( "_history" ) )
36
45
end
37
- ensure
38
- ENV [ "HOME" ] = backup_home
39
- ENV [ "XDG_CONFIG_HOME" ] = backup_xdg_config_home
40
- ENV [ "IRBRC" ] = backup_irbrc
41
46
end
42
47
43
48
def test_rc_file_in_subdir
44
- backup_irbrc = ENV . delete ( "IRBRC" ) # This is for RVM...
45
- backup_xdg_config_home = ENV . delete ( "XDG_CONFIG_HOME" )
46
- backup_home = ENV [ "HOME" ]
47
- Dir . mktmpdir ( "test_irb_init_#{ $$} " ) do |tmpdir |
48
- ENV [ "HOME" ] = tmpdir
49
-
49
+ tmpdir = @tmpdir
50
+ Dir . chdir ( tmpdir ) do
50
51
FileUtils . mkdir_p ( "#{ tmpdir } /mydir" )
51
52
Dir . chdir ( "#{ tmpdir } /mydir" ) do
52
53
IRB . conf [ :RC_NAME_GENERATOR ] = nil
@@ -58,10 +59,6 @@ def test_rc_file_in_subdir
58
59
assert_equal ( tmpdir +"/.irb_history" , IRB . rc_file ( "_history" ) )
59
60
end
60
61
end
61
- ensure
62
- ENV [ "HOME" ] = backup_home
63
- ENV [ "XDG_CONFIG_HOME" ] = backup_xdg_config_home
64
- ENV [ "IRBRC" ] = backup_irbrc
65
62
end
66
63
67
64
def test_recovery_sigint
0 commit comments