diff options
author | ima1zumi <mariimaizumi5@gmail.com> | 2021-12-06 23:26:38 +0900 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2021-12-10 22:19:14 +0900 |
commit | 5f1975a454dd9a6743bfa196111a4fde62366798 (patch) | |
tree | da734ed168901582d0c4cd9843fd0f31dd0c1c08 /test/reline/test_config.rb | |
parent | 519a945efcb0205bdf4085e32cc76e56610a45c0 (diff) | |
download | ruby-5f1975a454dd9a6743bfa196111a4fde62366798.tar.gz |
[ruby/reline] @convert_meta is true unless 8-bit characters
If Reline::IOGate.encoding contains 7-bit characters, convert-meta will set it On.
Because in readline(3):
> The default is On, but readline will set it to Off if the locale contains eight-bit characters.
As far as I know, 7-bit encoding used in terminals is only US-ASCII.
https://github.com/ruby/reline/commit/b71d1fa496
Diffstat (limited to 'test/reline/test_config.rb')
-rw-r--r-- | test/reline/test_config.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index aa549a392d..e00a47c705 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -11,12 +11,14 @@ class Reline::Config::Test < Reline::TestCase Dir.mkdir(@tmpdir) end Dir.chdir(@tmpdir) + Reline.test_mode @config = Reline::Config.new end def teardown Dir.chdir(@pwd) FileUtils.rm_rf(@tmpdir) + Reline.test_reset @config.reset end @@ -81,6 +83,22 @@ class Reline::Config::Test < Reline::TestCase assert_equal '(Emacs)', @config.instance_variable_get(:@emacs_mode_string) end + def test_encoding_is_ascii + @config.reset + Reline::IOGate.reset(encoding: Encoding::US_ASCII) + @config = Reline::Config.new + + assert_equal true, @config.convert_meta + end + + def test_encoding_is_not_ascii + @config.reset + Reline::IOGate.reset(encoding: Encoding::UTF_8) + @config = Reline::Config.new + + assert_equal nil, @config.convert_meta + end + def test_comment_line @config.read_lines([" #a: error\n"]) assert_not_include @config.key_bindings, nil |