Issue #1685 has been updated by mame (Yusuke Endoh). Target version changed from 2.0.0 to next minor Usa-san, what's the status? -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Bug #1685: Some windows unicode path issues remain https://bugs.ruby-lang.org/issues/1685#change-36501 Author: spatulasnout (B Kelly) Status: Assigned Priority: Normal Assignee: usa (Usaku NAKAMURA) Category: M17N Target version: next minor ruby -v: ruby 1.9.2dev (2009-06-24) [i386-mswin32_71] =begin Hi, I see some nice progress has been made in unicode path handling on windows. The following tests are not exhaustive, but do reveal some remaining issues. Everything below "NOT WORKING" fails in one way or another. Regards, Bill ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # encoding: UTF-8 # Test unicode path/dir handling on windows require 'test/unit' class TestUnicodeFilenamesAndPaths < Test::Unit::TestCase def setup tmpdir = ENV['TEMP'] || "C:/TEMP" Dir.chdir tmpdir puts Dir.pwd testdir = "ruby_unicode_test" Dir.mkdir testdir unless test ?d, testdir Dir.chdir testdir puts Dir.pwd end def test_unicode_paths fname_resume = "R\xC3\xA9sum\xC3\xA9".force_encoding("UTF-8") fname_chinese = "\u52ec\u52ee\u52f1\u52f2.txt" dname_chinese = "\u52ec\u52ee\u52f1\u52f2" assert_equal( "UTF-8", fname_resume.encoding.name ) File.open(fname_resume, "w") {|io| io.puts "Hello, World"} assert_equal( "UTF-8", fname_chinese.encoding.name ) File.open(fname_chinese, "w") {|io| io.puts "Hello, World"} dat = File.read(fname_chinese) assert_equal( "Hello, World\n", dat ) files = Dir["*"] assert( files.include? fname_resume ) assert( files.include? fname_chinese ) # NOT WORKING: Dir.rmdir dname_chinese rescue nil Dir.mkdir dname_chinese test ?d, dname_chinese Dir.chdir dname_chinese cwd = Dir.pwd assert( cwd[(-dname_chinese.length)..-1] == dname_chinese ) Dir.chdir ".." x = File.stat(fname_resume) x = File.stat(fname_chinese) x = File.stat(dname_chinese) assert( File.exist? fname_resume ) assert( File.exist? fname_chinese ) assert( test(?f, fname_resume) ) assert( test(?f, fname_chinese) ) files = Dir[fname_resume] assert_equal( fname_resume, files.first ) files = Dir[fname_chinese] assert_equal( fname_chinese, files.first ) files = Dir[dname_chinese] assert_equal( dname_chinese, files.first ) end end =end
on 2013-02-18 13:08
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.