Skip to content
  • Yusuke Endoh's avatar
    424800f7
    [ruby/reline] Fix test input_keys to handle "hankaku" characters correctly on Windows · 424800f7
    Yusuke Endoh authored
    The method "input_keys" in test/reline/helper.rb handles a single-byte
    and 8-bit charater as an input with the meta key.
    However, "test_halfwidth_kana_width_dakuten" in test/reline/test_key_actor_emacs.rb
    uses a string that contains "hankaku" characters.
    A "hankaku" character is not with the meta key, but it is a single-byte
    and 8-bit character on Windows-31J encoding, which confused "input_keys"
    method. This caused the following error.
    
    https://ci.appveyor.com/project/ruby/ruby/builds/41997092/job/ejm77qxgvnlpdwvg
    ```
      1) Failure:
    Reline::KeyActor::Emacs::Test#test_halfwidth_kana_width_dakuten [C:/projects/ruby/test/reline/test_key_actor_emacs.rb:2311]:
    <"\xB6\xDE\xB7\xDE\xB9\xDE\xBA\xDE" (#<Encoding:Windows-31J>)> expected but was
    <"\e^\e^\e^\e:\e^" (#<Encoding:Windows-31J>)> in <Terminal #<Encoding:Windows-31J>>
    .
    <8> expected but was
    <10>.
    Finished tests in 1045.472722s, 19.3922 tests/s, 2609.4320 assertions/s.
    ```
    
    This change introduces "input_raw_keys" that does not convert a
    single-byte and 8-bit character to "with the meta key", and use it in
    the test in question.
    
    https://github.com/ruby/reline/commit/f6ae0e5d19
    424800f7
    [ruby/reline] Fix test input_keys to handle "hankaku" characters correctly on Windows
    Yusuke Endoh authored
    The method "input_keys" in test/reline/helper.rb handles a single-byte
    and 8-bit charater as an input with the meta key.
    However, "test_halfwidth_kana_width_dakuten" in test/reline/test_key_actor_emacs.rb
    uses a string that contains "hankaku" characters.
    A "hankaku" character is not with the meta key, but it is a single-byte
    and 8-bit character on Windows-31J encoding, which confused "input_keys"
    method. This caused the following error.
    
    https://ci.appveyor.com/project/ruby/ruby/builds/41997092/job/ejm77qxgvnlpdwvg
    ```
      1) Failure:
    Reline::KeyActor::Emacs::Test#test_halfwidth_kana_width_dakuten [C:/projects/ruby/test/reline/test_key_actor_emacs.rb:2311]:
    <"\xB6\xDE\xB7\xDE\xB9\xDE\xBA\xDE" (#<Encoding:Windows-31J>)> expected but was
    <"\e^\e^\e^\e:\e^" (#<Encoding:Windows-31J>)> in <Terminal #<Encoding:Windows-31J>>
    .
    <8> expected but was
    <10>.
    Finished tests in 1045.472722s, 19.3922 tests/s, 2609.4320 assertions/s.
    ```
    
    This change introduces "input_raw_keys" that does not convert a
    single-byte and 8-bit character to "with the meta key", and use it in
    the test in question.
    
    https://github.com/ruby/reline/commit/f6ae0e5d19
Loading