Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion lib/irb/init.rb
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,6 @@ def IRB.rc_file(ext = IRBRC_EXT)
@CONF[:RC_NAME_GENERATOR] ||= rcgen
if File.exist?(rcgen.call(IRBRC_EXT))
@CONF[:RC_NAME_GENERATOR] = rcgen
break
end
end
end
Expand Down
21 changes: 21 additions & 0 deletions test/irb/test_init.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,27 @@ def test_rc_file
end
end

def test_rc_file_loading_order
tmpdir = @tmpdir
Dir.chdir(tmpdir) do
# tmpdir is ENV["HOME"], so another dir is needed
subdir = "#{tmpdir}/mydir"
FileUtils.mkdir_p("#{tmpdir}/mydir")
Dir.chdir(subdir) do
ENV["XDG_CONFIG_HOME"] = "#{tmpdir}/xdg"
FileUtils.mkdir_p("#{tmpdir}/xdg/irb")
FileUtils.touch("#{tmpdir}/xdg/irb"+"/.irb#{IRB::IRBRC_EXT}")
# ENV["HOME"] .irbrc
FileUtils.touch(tmpdir+"/.irb#{IRB::IRBRC_EXT}")
# project level .irbrc
FileUtils.touch(subdir+"/.irb#{IRB::IRBRC_EXT}")
IRB.conf[:RC_NAME_GENERATOR] = nil
assert_equal(subdir+"/.irb#{IRB::IRBRC_EXT}", IRB.rc_file)
assert_equal(subdir+"/.irb_history", IRB.rc_file("_history"))
end
end
end

def test_rc_file_in_subdir
tmpdir = @tmpdir
Dir.chdir(tmpdir) do
Expand Down