cucumber-ruby icon indicating copy to clipboard operation
cucumber-ruby copied to clipboard

Unable to use feature files with multi-byte characters in filename using cucumber.yml

Open numaperi opened this issue 3 years ago • 1 comments

👓 What did you see?

Unable to use feature files with multi-byte characters in the filename (e.g. あ.feature ) when I specified its path in cucumber.yml. The following error message appears.

"\xE3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

The paths read in YML are converted from UTF-8 to ASCII-8bit by Shellword in cucumber-8.0.0/lib/cucumber/cli/profile_loader.rb. This problem can be resolved by using force_encoding("utf-8").

✅ What did you expect to see?

I would like it to work even if the path specified in cucumber.yml contains files with multibyte characters.

📦 Which tool/library version are you using?

cucumber (8.0.0)

🔬 How could we reproduce it?

  1. Create a cucumber.yml
default: features
  1. Add an empty file in the 'features' directory named 'あ.feature' Originally, this feature file will contain test code starting with #language:ja. It is not required for reproduction.
  2. Run a test using the 'cucumber' command.
  3. See error '"\xE3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError) [my_env_path]/cucumber-messages-18.0.0/lib/cucumber/messages/message/serialization.rb:59:in `to_json''

📚 Any additional context?

numaperi avatar Sep 15 '22 06:09 numaperi

This feels like an ugly hybrid of cucumber and yml errors.

You have mentioned a solution, would you be able to push up a failing test as commit 1, and then provide your fix to see if we're able to just merge it in?

luke-hill avatar Sep 15 '22 08:09 luke-hill