diff --git a/actionpack/lib/sprockets/assets.rake b/actionpack/lib/sprockets/assets.rake index a8128d9a82bf77dc037065496fb9c5c7b4bf69ff..2e415bf6cc9daa379fce5dd67605a770ffb22398 100644 --- a/actionpack/lib/sprockets/assets.rake +++ b/actionpack/lib/sprockets/assets.rake @@ -42,7 +42,7 @@ namespace :assets do end end - File.open("#{manifest_path}/manifest.yml", 'w') do |f| + File.open("#{manifest_path}/manifest.yml", 'wb') do |f| YAML.dump(manifest, f) end end diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index 0e03c3dc2da9afc17a36a21d9b77bf401cd506ce..9b1b24fca167221d25cf456f05ec8d3b7a089deb 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -1,3 +1,4 @@ +# coding:utf-8 require "isolation/abstract_unit" module ApplicationTests @@ -244,5 +245,20 @@ def test_scaffold_tests_pass_by_default assert_match(/7 tests, 10 assertions, 0 failures, 0 errors/, content) end + + def test_assets_precompile_with_utf8_filename + add_to_config <<-RUBY + config.assets.precompile = [ /\.png$$/, /application.(css|js)$/ ] + RUBY + + Dir.chdir(app_path) do + `cp app/assets/images/rails.png app/assets/images/レイルズ.png` + `rake assets:precompile` + open("public/assets/manifest.yml") do |f| + assert_match(/レイルズ.png/, f.read) + end + end + end + end -end \ No newline at end of file +end