diff options
Diffstat (limited to 'test/reline/test_config.rb')
-rw-r--r-- | test/reline/test_config.rb | 54 |
1 files changed, 52 insertions, 2 deletions
diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index 99d190d246..e9f0a9449d 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -85,7 +85,7 @@ class Reline::Config::Test < Reline::TestCase def test_encoding_is_ascii @config.reset - Reline::IOGate.reset(encoding: Encoding::US_ASCII) + Reline.core.io_gate.reset(encoding: Encoding::US_ASCII) @config = Reline::Config.new assert_equal true, @config.convert_meta @@ -93,7 +93,7 @@ class Reline::Config::Test < Reline::TestCase def test_encoding_is_not_ascii @config.reset - Reline::IOGate.reset(encoding: Encoding::UTF_8) + Reline.core.io_gate.reset(encoding: Encoding::UTF_8) @config = Reline::Config.new assert_equal nil, @config.convert_meta @@ -160,6 +160,23 @@ class Reline::Config::Test < Reline::TestCase assert_equal :audible, @config.instance_variable_get(:@bell_style) end + def test_include_expand_path + home_backup = ENV['HOME'] + File.open('included_partial', 'wt') do |f| + f.write(<<~PARTIAL_LINES) + set bell-style on + PARTIAL_LINES + end + ENV['HOME'] = Dir.pwd + @config.read_lines(<<~LINES.lines) + $include ~/included_partial + LINES + + assert_equal :audible, @config.instance_variable_get(:@bell_style) + ensure + ENV['HOME'] = home_backup + end + def test_if @config.read_lines(<<~LINES.lines) $if Ruby @@ -199,6 +216,38 @@ class Reline::Config::Test < Reline::TestCase end end + def test_nested_if_else + @config.read_lines(<<~LINES.lines) + $if Ruby + "\x1": "O" + $if NotRuby + "\x2": "X" + $else + "\x3": "O" + $if Ruby + "\x4": "O" + $else + "\x5": "X" + $endif + "\x6": "O" + $endif + "\x7": "O" + $else + "\x8": "X" + $if NotRuby + "\x9": "X" + $else + "\xA": "X" + $endif + "\xB": "X" + $endif + "\xC": "O" + LINES + keys = [0x1, 0x3, 0x4, 0x6, 0x7, 0xC] + key_bindings = keys.to_h { |k| [[k.ord], ['O'.ord]] } + assert_equal(key_bindings, @config.instance_variable_get(:@additional_key_bindings)[:emacs]) + end + def test_unclosed_if e = assert_raise(Reline::Config::InvalidInputrc) do @config.read_lines(<<~LINES.lines, "INPUTRC") @@ -409,3 +458,4 @@ class Reline::Config::Test < Reline::TestCase ENV['HOME'] = home_backup end end + |