cucumber-ruby
cucumber-ruby copied to clipboard
Unable to use feature files with multi-byte characters in filename using cucumber.yml
👓 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?
- Create a cucumber.yml
default: features
- 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.
- Run a test using the 'cucumber' command.
- 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?
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?