aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_rubyoptions.rb11
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c6dec0c9d..3acf3257de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jan 1 17:50:52 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/ruby/test_rubyoptions.rb: try locale encoding name.
+ [ruby-core:67109] [Bug #10643]
+
Thu Jan 1 11:07:12 2015 Eric Wong <e@80x24.org>
* symbol.c (rb_gc_free_dsymbol): delete from global fstr hash
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index 8d3da54997..208f480c20 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -712,8 +712,15 @@ class TestRubyOptions < Test::Unit::TestCase
def test_command_line_progname_nonascii
bug10555 = '[ruby-dev:48752] [Bug #10555]'
- name = "\u{3042}.rb"
- expected = name.encode("locale") rescue "?.rb"
+ name = expected = nil
+ unless (0x80..0x10000).any? {|c|
+ name = c.chr(Encoding::UTF_8)
+ expected = name.encode("locale") rescue nil
+ }
+ skip "can't make locale name"
+ end
+ name << ".rb"
+ expected << ".rb"
with_tmpchdir do |dir|
open(name, "w") {|f| f.puts "puts File.basename($0)"}
assert_in_out_err([name], "", [expected], [],