diff options
author | aycabta <aycabta@gmail.com> | 2020-04-21 18:17:27 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2020-04-24 16:45:07 +0900 |
commit | 81b0b7919718bf7f8a6bd9590651b62279977327 (patch) | |
tree | e1316670e2db7b804983ef5368a0335cce574025 /test/reline/test_config.rb | |
parent | 71f84018b7fada5c32dfc384f856b6099cc0da6e (diff) | |
download | ruby-81b0b7919718bf7f8a6bd9590651b62279977327.tar.gz |
[ruby/reline] Support XDG_CONFIG_HOME
In the XDG Specification, if ~/.config/readline/inputrc exists, then ~/.inputrc
should not be read, but for compatibility with GNU Readline, if ~/.inputrc
exists, then it is given priority.
https://github.com/ruby/reline/commit/97f1e7db04
Diffstat (limited to 'test/reline/test_config.rb')
-rw-r--r-- | test/reline/test_config.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index cecb364f89..c1a4a46ecf 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -215,4 +215,42 @@ class Reline::Config::Test < Reline::TestCase end ENV['INPUTRC'] = inputrc_backup end + + def test_inputrc + inputrc_backup = ENV['INPUTRC'] + expected = "#{@tmpdir}/abcde" + ENV['INPUTRC'] = expected + assert_equal expected, @config.inputrc_path + ENV['INPUTRC'] = inputrc_backup + end + + def test_xdg_config_home + home_backup = ENV['HOME'] + xdg_config_home_backup = ENV['XDG_CONFIG_HOME'] + nonexistence_dir = '/the_nonexistence_dir!!!!!!' + xdg_config_home = File.expand_path("#{@tmpdir}/.config/example_dir") + expected = File.expand_path("#{xdg_config_home}/readline/inputrc") + FileUtils.mkdir_p(File.dirname(expected)) + FileUtils.touch(expected) + ENV['HOME'] = nonexistence_dir + ENV['XDG_CONFIG_HOME'] = xdg_config_home + assert_equal expected, @config.inputrc_path + FileUtils.rm(expected) + ENV['XDG_CONFIG_HOME'] = xdg_config_home_backup + ENV['HOME'] = home_backup + end + + def test_empty_xdg_config_home + home_backup = ENV['HOME'] + xdg_config_home_backup = ENV['XDG_CONFIG_HOME'] + ENV['HOME'] = @tmpdir + ENV['XDG_CONFIG_HOME'] = '' + expected = File.expand_path('~/.config/readline/inputrc') + FileUtils.mkdir_p(File.dirname(expected)) + FileUtils.touch(expected) + assert_equal expected, @config.inputrc_path + FileUtils.rm(expected) + ENV['XDG_CONFIG_HOME'] = xdg_config_home_backup + ENV['HOME'] = home_backup + end end |