aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test
diff options
context:
space:
mode:
authorlest <just.lest@gmail.com>2011-11-30 21:51:01 +0300
committerlest <just.lest@gmail.com>2011-11-30 21:51:01 +0300
commit13cab6ef50ab665e634f2834acbb0212300a3797 (patch)
tree67042ef7dde42aa3aa8e3f58311f819e02803c75 /railties/test
parent5b3d4f07857e2f86ea8df702ba7c42e144b54970 (diff)
downloadrails-13cab6ef50ab665e634f2834acbb0212300a3797.tar.gz
rails-13cab6ef50ab665e634f2834acbb0212300a3797.tar.bz2
rails-13cab6ef50ab665e634f2834acbb0212300a3797.zip
fix exception page when template contains utf-8 and parameters contain utf-8
Diffstat (limited to 'railties/test')
-rw-r--r--railties/test/application/middleware/show_exceptions_test.rb41
1 files changed, 30 insertions, 11 deletions
diff --git a/railties/test/application/middleware/show_exceptions_test.rb b/railties/test/application/middleware/show_exceptions_test.rb
index e3f27f63c3..7dbadc6ce3 100644
--- a/railties/test/application/middleware/show_exceptions_test.rb
+++ b/railties/test/application/middleware/show_exceptions_test.rb
@@ -1,27 +1,23 @@
+# encoding: utf-8
require 'isolation/abstract_unit'
+require 'rack/test'
module ApplicationTests
class ShowExceptionsTest < Test::Unit::TestCase
include ActiveSupport::Testing::Isolation
+ include Rack::Test::Methods
def setup
build_app
boot_rails
- FileUtils.rm_rf "#{app_path}/config/environments"
end
def teardown
teardown_app
end
- def app
- @app ||= Rails.application
- end
-
test "unspecified route when set action_dispatch.show_exceptions to false" do
- make_basic_app do |app|
- app.config.action_dispatch.show_exceptions = false
- end
+ app.config.action_dispatch.show_exceptions = false
assert_raise(ActionController::RoutingError) do
get '/foo'
@@ -29,13 +25,36 @@ module ApplicationTests
end
test "unspecified route when set action_dispatch.show_exceptions to true" do
- make_basic_app do |app|
- app.config.action_dispatch.show_exceptions = true
- end
+ app.config.action_dispatch.show_exceptions = true
assert_nothing_raised(ActionController::RoutingError) do
get '/foo'
end
end
+
+ test "displays diagnostics message when exception raised in template that contains UTF-8" do
+ app.config.action_dispatch.show_exceptions = true
+
+ controller :foo, <<-RUBY
+ class FooController < ActionController::Base
+ def index
+ end
+ end
+ RUBY
+
+ app_file 'app/views/foo/index.html.erb', <<-ERB
+ <% raise 'boooom' %>
+ ✓
+ ERB
+
+ app_file 'config/routes.rb', <<-RUBY
+ AppTemplate::Application.routes.draw do
+ match ':controller(/:action)'
+ end
+ RUBY
+
+ post '/foo', :utf8 => '✓'
+ assert_match(/boooom/, last_response.body)
+ end
end
end