aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/abstract/layouts_test.rb18
-rw-r--r--actionpack/test/abstract_unit.rb11
-rw-r--r--actionpack/test/controller/caching_test.rb4
-rw-r--r--actionpack/test/controller/filters_test.rb6
-rw-r--r--actionpack/test/controller/new_base/render_action_test.rb28
-rw-r--r--actionpack/test/controller/new_base/render_layout_test.rb20
-rw-r--r--actionpack/test/controller/new_base/render_partial_test.rb4
-rw-r--r--actionpack/test/controller/new_base/render_template_test.rb56
-rw-r--r--actionpack/test/controller/output_escaping_test.rb2
-rw-r--r--actionpack/test/controller/subscriber_test.rb4
-rw-r--r--actionpack/test/controller/view_paths_test.rb4
-rw-r--r--actionpack/test/dispatch/mime_type_test.rb4
-rw-r--r--actionpack/test/template/erb_util_test.rb2
-rw-r--r--actionpack/test/template/form_helper_test.rb21
-rw-r--r--actionpack/test/template/form_tag_helper_test.rb12
-rw-r--r--actionpack/test/template/html-scanner/sanitizer_test.rb4
-rw-r--r--actionpack/test/template/safe_buffer_test.rb41
-rw-r--r--actionpack/test/template/subscriber_test.rb4
-rw-r--r--actionpack/test/template/test_case_test.rb2
-rw-r--r--actionpack/test/template/url_helper_test.rb7
20 files changed, 124 insertions, 130 deletions
diff --git a/actionpack/test/abstract/layouts_test.rb b/actionpack/test/abstract/layouts_test.rb
index bf02e5a864..b6d89ea489 100644
--- a/actionpack/test/abstract/layouts_test.rb
+++ b/actionpack/test/abstract/layouts_test.rb
@@ -13,7 +13,7 @@ module AbstractControllerTests
"layouts/hello_override.erb" => "With Override <%= yield %>",
"layouts/abstract_controller_tests/layouts/with_string_implied_child.erb" =>
"With Implied <%= yield %>",
- "layouts/omg.erb" => "OMGHI2U <%= yield %>",
+ "layouts/overwrite.erb" => "Overwrite <%= yield %>",
"layouts/with_false_layout.erb" => "False Layout <%= yield %>"
)]
end
@@ -42,7 +42,7 @@ module AbstractControllerTests
end
def overwrite_string
- render :_template => ActionView::Template::Text.new("Hello string!"), :layout => "omg"
+ render :_template => ActionView::Template::Text.new("Hello string!"), :layout => "overwrite"
end
def overwrite_skip
@@ -68,7 +68,7 @@ module AbstractControllerTests
end
class WithProc < Base
- layout proc { |c| "omg" }
+ layout proc { |c| "overwrite" }
def index
render :_template => ActionView::Template::Text.new("Hello proc!")
@@ -83,7 +83,7 @@ module AbstractControllerTests
end
private
def hello
- "omg"
+ "overwrite"
end
end
@@ -122,7 +122,7 @@ module AbstractControllerTests
end
class WithSymbolAndNoMethod < Base
- layout :omg_no_method
+ layout :no_method
def index
render :_template => ActionView::Template::Text.new("Hello boom!")
@@ -175,7 +175,7 @@ module AbstractControllerTests
test "when layout is overwriten by string in render, render new layout" do
controller = WithString.new
controller.process(:overwrite_string)
- assert_equal "OMGHI2U Hello string!", controller.response_body
+ assert_equal "Overwrite Hello string!", controller.response_body
end
test "when layout is overwriten by false in render, render no layout" do
@@ -209,13 +209,13 @@ module AbstractControllerTests
test "when layout is specified as a proc, call it and use the layout returned" do
controller = WithProc.new
controller.process(:index)
- assert_equal "OMGHI2U Hello proc!", controller.response_body
+ assert_equal "Overwrite Hello proc!", controller.response_body
end
test "when layout is specified as a symbol, call the requested method and use the layout returned" do
controller = WithSymbol.new
controller.process(:index)
- assert_equal "OMGHI2U Hello symbol!", controller.response_body
+ assert_equal "Overwrite Hello symbol!", controller.response_body
end
test "when layout is specified as a symbol and the method returns nil, don't use a layout" do
@@ -266,7 +266,7 @@ module AbstractControllerTests
test "raises an exception when specifying layout true" do
assert_raises ArgumentError do
Object.class_eval do
- class ::BadOmgFailLolLayout < AbstractControllerTests::Layouts::Base
+ class ::BadFailLayout < AbstractControllerTests::Layouts::Base
layout true
end
end
diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb
index 7b04638ccc..867e50d5b9 100644
--- a/actionpack/test/abstract_unit.rb
+++ b/actionpack/test/abstract_unit.rb
@@ -1,10 +1,4 @@
-begin
- require File.expand_path('../../../vendor/gems/environment', __FILE__)
-rescue LoadError
-end
-
-lib = File.expand_path('../../lib', __FILE__)
-$:.unshift(lib) unless $:.include?('lib') || $:.include?(lib)
+require File.expand_path('../../../load_paths', __FILE__)
$:.unshift(File.dirname(__FILE__) + '/lib')
$:.unshift(File.dirname(__FILE__) + '/fixtures/helpers')
@@ -20,9 +14,6 @@ require 'action_view/base'
require 'action_dispatch'
require 'fixture_template'
require 'active_support/dependencies'
-
-activemodel_path = File.expand_path('../../../activemodel/lib', __FILE__)
-$:.unshift(activemodel_path) if File.directory?(activemodel_path) && !$:.include?(activemodel_path)
require 'active_model'
begin
diff --git a/actionpack/test/controller/caching_test.rb b/actionpack/test/controller/caching_test.rb
index 8a13d1e5f1..de92fc56fd 100644
--- a/actionpack/test/controller/caching_test.rb
+++ b/actionpack/test/controller/caching_test.rb
@@ -611,7 +611,7 @@ class FragmentCachingTest < ActionController::TestCase
@store.write('views/expensive', 'fragment content')
fragment_computed = false
- buffer = 'generated till now -> '
+ buffer = 'generated till now -> '.html_safe
@controller.fragment_for(buffer, 'expensive') { fragment_computed = true }
assert fragment_computed
@@ -622,7 +622,7 @@ class FragmentCachingTest < ActionController::TestCase
@store.write('views/expensive', 'fragment content')
fragment_computed = false
- buffer = 'generated till now -> '
+ buffer = 'generated till now -> '.html_safe
@controller.fragment_for(buffer, 'expensive') { fragment_computed = true }
assert !fragment_computed
diff --git a/actionpack/test/controller/filters_test.rb b/actionpack/test/controller/filters_test.rb
index 8445428e8f..004e1369d3 100644
--- a/actionpack/test/controller/filters_test.rb
+++ b/actionpack/test/controller/filters_test.rb
@@ -435,7 +435,7 @@ class FilterTest < ActionController::TestCase
end
def non_yielding_filter
- @filters << "zomg it didn't yield"
+ @filters << "it didn't yield"
@filter_return_value
end
@@ -465,14 +465,14 @@ class FilterTest < ActionController::TestCase
controller = NonYieldingAroundFilterController.new
controller.instance_variable_set "@filter_return_value", false
test_process(controller, "index")
- assert_equal ["filter_one", "zomg it didn't yield"], controller.assigns['filters']
+ assert_equal ["filter_one", "it didn't yield"], controller.assigns['filters']
end
def test_after_filters_are_not_run_if_around_filter_does_not_yield
controller = NonYieldingAroundFilterController.new
controller.instance_variable_set "@filter_return_value", true
test_process(controller, "index")
- assert_equal ["filter_one", "zomg it didn't yield"], controller.assigns['filters']
+ assert_equal ["filter_one", "it didn't yield"], controller.assigns['filters']
end
def test_added_filter_to_inheritance_graph
diff --git a/actionpack/test/controller/new_base/render_action_test.rb b/actionpack/test/controller/new_base/render_action_test.rb
index 239f68659c..0804d7b09d 100644
--- a/actionpack/test/controller/new_base/render_action_test.rb
+++ b/actionpack/test/controller/new_base/render_action_test.rb
@@ -119,9 +119,9 @@ module RenderActionWithApplicationLayout
# Set the view path to an application view structure with layouts
self.view_paths = self.view_paths = [ActionView::FixtureResolver.new(
"render_action_with_application_layout/basic/hello_world.html.erb" => "Hello World!",
- "render_action_with_application_layout/basic/hello.html.builder" => "xml.p 'Omg'",
- "layouts/application.html.erb" => "OHAI <%= yield %> KTHXBAI",
- "layouts/greetings.html.erb" => "Greetings <%= yield %> Bai",
+ "render_action_with_application_layout/basic/hello.html.builder" => "xml.p 'Hello'",
+ "layouts/application.html.erb" => "Hi <%= yield %> OK, Bye",
+ "layouts/greetings.html.erb" => "Greetings <%= yield %> Bye",
"layouts/builder.html.builder" => "xml.html do\n xml << yield\nend"
)]
@@ -156,14 +156,14 @@ module RenderActionWithApplicationLayout
test "rendering implicit application.html.erb as layout" do
get "/render_action_with_application_layout/basic/hello_world"
- assert_body "OHAI Hello World! KTHXBAI"
+ assert_body "Hi Hello World! OK, Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_application_layout/basic/hello_world_with_layout"
- assert_body "OHAI Hello World! KTHXBAI"
+ assert_body "Hi Hello World! OK, Bye"
assert_status 200
end
@@ -184,7 +184,7 @@ module RenderActionWithApplicationLayout
test "rendering with layout => 'greetings'" do
get "/render_action_with_application_layout/basic/hello_world_with_custom_layout"
- assert_body "Greetings Hello World! Bai"
+ assert_body "Greetings Hello World! Bye"
assert_status 200
end
end
@@ -194,7 +194,7 @@ module RenderActionWithApplicationLayout
test "builder works with layouts" do
get :with_builder_and_layout
- assert_response "<html>\n<p>Omg</p>\n</html>\n"
+ assert_response "<html>\n<p>Hello</p>\n</html>\n"
end
end
@@ -204,7 +204,7 @@ module RenderActionWithControllerLayout
class BasicController < ActionController::Base
self.view_paths = self.view_paths = [ActionView::FixtureResolver.new(
"render_action_with_controller_layout/basic/hello_world.html.erb" => "Hello World!",
- "layouts/render_action_with_controller_layout/basic.html.erb" => "With Controller Layout! <%= yield %> KTHXBAI"
+ "layouts/render_action_with_controller_layout/basic.html.erb" => "With Controller Layout! <%= yield %> Bye"
)]
def hello_world
@@ -234,14 +234,14 @@ module RenderActionWithControllerLayout
test "render hello_world and implicitly use <controller_path>.html.erb as a layout." do
get "/render_action_with_controller_layout/basic/hello_world"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_controller_layout/basic/hello_world_with_layout"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
@@ -265,8 +265,8 @@ module RenderActionWithBothLayouts
class BasicController < ActionController::Base
self.view_paths = [ActionView::FixtureResolver.new({
"render_action_with_both_layouts/basic/hello_world.html.erb" => "Hello World!",
- "layouts/application.html.erb" => "OHAI <%= yield %> KTHXBAI",
- "layouts/render_action_with_both_layouts/basic.html.erb" => "With Controller Layout! <%= yield %> KTHXBAI"
+ "layouts/application.html.erb" => "Oh Hi <%= yield %> Bye",
+ "layouts/render_action_with_both_layouts/basic.html.erb" => "With Controller Layout! <%= yield %> Bye"
})]
def hello_world
@@ -292,14 +292,14 @@ module RenderActionWithBothLayouts
test "rendering implicitly use <controller_path>.html.erb over application.html.erb as a layout" do
get "/render_action_with_both_layouts/basic/hello_world"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
test "rendering with layout => true" do
get "/render_action_with_both_layouts/basic/hello_world_with_layout"
- assert_body "With Controller Layout! Hello World! KTHXBAI"
+ assert_body "With Controller Layout! Hello World! Bye"
assert_status 200
end
diff --git a/actionpack/test/controller/new_base/render_layout_test.rb b/actionpack/test/controller/new_base/render_layout_test.rb
index 6a9668b81a..372fb66b88 100644
--- a/actionpack/test/controller/new_base/render_layout_test.rb
+++ b/actionpack/test/controller/new_base/render_layout_test.rb
@@ -3,10 +3,10 @@ require 'abstract_unit'
module ControllerLayouts
class ImplicitController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
- "layouts/application.html.erb" => "OMG <%= yield %> KTHXBAI",
+ "layouts/application.html.erb" => "Main <%= yield %> Layout",
"layouts/override.html.erb" => "Override! <%= yield %>",
"basic.html.erb" => "Hello world!",
- "controller_layouts/implicit/layout_false.html.erb" => "hai(layout_false.html.erb)"
+ "controller_layouts/implicit/layout_false.html.erb" => "hi(layout_false.html.erb)"
)]
def index
@@ -27,7 +27,7 @@ module ControllerLayouts
class ImplicitNameController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
- "layouts/controller_layouts/implicit_name.html.erb" => "OMGIMPLICIT <%= yield %> KTHXBAI",
+ "layouts/controller_layouts/implicit_name.html.erb" => "Implicit <%= yield %> Layout",
"basic.html.erb" => "Hello world!"
)]
@@ -40,14 +40,14 @@ module ControllerLayouts
test "rendering a normal template, but using the implicit layout" do
get "/controller_layouts/implicit/index"
- assert_body "OMG Hello world! KTHXBAI"
+ assert_body "Main Hello world! Layout"
assert_status 200
end
test "rendering a normal template, but using an implicit NAMED layout" do
get "/controller_layouts/implicit_name/index"
- assert_body "OMGIMPLICIT Hello world! KTHXBAI"
+ assert_body "Implicit Hello world! Layout"
assert_status 200
end
@@ -63,15 +63,15 @@ module ControllerLayouts
test "rendering with :layout => false leaves out the implicit layout" do
get :layout_false
- assert_response "hai(layout_false.html.erb)"
+ assert_response "hi(layout_false.html.erb)"
end
end
class MismatchFormatController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
"layouts/application.html.erb" => "<html><%= yield %></html>",
- "controller_layouts/mismatch_format/index.js.rjs" => "page[:test].omg",
- "controller_layouts/mismatch_format/implicit.rjs" => "page[:test].omg"
+ "controller_layouts/mismatch_format/index.js.rjs" => "page[:test].ext",
+ "controller_layouts/mismatch_format/implicit.rjs" => "page[:test].ext"
)]
def explicit
@@ -84,12 +84,12 @@ module ControllerLayouts
test "if JS is selected, an HTML template is not also selected" do
get :index, "format" => "js"
- assert_response "$(\"test\").omg();"
+ assert_response "$(\"test\").ext();"
end
test "if JS is implicitly selected, an HTML template is not also selected" do
get :implicit
- assert_response "$(\"test\").omg();"
+ assert_response "$(\"test\").ext();"
end
test "if an HTML template is explicitly provides for a JS template, an error is raised" do
diff --git a/actionpack/test/controller/new_base/render_partial_test.rb b/actionpack/test/controller/new_base/render_partial_test.rb
index 8fddcbcd57..1a1b36a65e 100644
--- a/actionpack/test/controller/new_base/render_partial_test.rb
+++ b/actionpack/test/controller/new_base/render_partial_test.rb
@@ -5,7 +5,7 @@ module RenderPartial
class BasicController < ActionController::Base
self.view_paths = [ActionView::FixtureResolver.new(
- "render_partial/basic/_basic.html.erb" => "OMG!",
+ "render_partial/basic/_basic.html.erb" => "BasicPartial!",
"render_partial/basic/basic.html.erb" => "<%= @test_unchanged = 'goodbye' %><%= render :partial => 'basic' %><%= @test_unchanged %>"
)]
@@ -20,7 +20,7 @@ module RenderPartial
test "rendering a partial in ActionView doesn't pull the ivars again from the controller" do
get :changing
- assert_response("goodbyeOMG!goodbye")
+ assert_response("goodbyeBasicPartial!goodbye")
end
end
diff --git a/actionpack/test/controller/new_base/render_template_test.rb b/actionpack/test/controller/new_base/render_template_test.rb
index c81b951c0d..70cebbfd89 100644
--- a/actionpack/test/controller/new_base/render_template_test.rb
+++ b/actionpack/test/controller/new_base/render_template_test.rb
@@ -2,18 +2,19 @@ require 'abstract_unit'
module RenderTemplate
class WithoutLayoutController < ActionController::Base
-
+
self.view_paths = [ActionView::FixtureResolver.new(
"test/basic.html.erb" => "Hello from basic.html.erb",
"shared.html.erb" => "Elastica",
"locals.html.erb" => "The secret is <%= secret %>",
- "xml_template.xml.builder" => "xml.html do\n xml.p 'Hello'\nend"
+ "xml_template.xml.builder" => "xml.html do\n xml.p 'Hello'\nend",
+ "with_raw.html.erb" => "Hello <%=raw '<strong>this is raw</strong>' %>"
)]
-
+
def index
render :template => "test/basic"
end
-
+
def index_without_key
render "test/basic"
end
@@ -25,59 +26,70 @@ module RenderTemplate
def in_top_directory_with_slash
render :template => '/shared'
end
-
+
def in_top_directory_with_slash_without_key
render '/shared'
end
-
+
def with_locals
render :template => "locals", :locals => { :secret => 'area51' }
end
-
+
def builder_template
render :template => "xml_template"
end
+
+ def with_raw
+ render :template => "with_raw"
+ end
end
-
+
class TestWithoutLayout < Rack::TestCase
testing RenderTemplate::WithoutLayoutController
-
+
test "rendering a normal template with full path without layout" do
get :index
assert_response "Hello from basic.html.erb"
end
-
+
test "rendering a normal template with full path without layout without key" do
get :index_without_key
assert_response "Hello from basic.html.erb"
end
-
+
test "rendering a template not in a subdirectory" do
get :in_top_directory
assert_response "Elastica"
end
-
+
test "rendering a template not in a subdirectory with a leading slash" do
get :in_top_directory_with_slash
assert_response "Elastica"
end
-
+
test "rendering a template not in a subdirectory with a leading slash without key" do
get :in_top_directory_with_slash_without_key
assert_response "Elastica"
end
-
+
test "rendering a template with local variables" do
get :with_locals
assert_response "The secret is area51"
end
-
+
test "rendering a builder template" do
get :builder_template, "format" => "xml"
assert_response "<html>\n <p>Hello</p>\n</html>\n"
end
+
+ test "rendering a template with <%=raw stuff %>" do
+ get :with_raw
+
+ assert_body "Hello <strong>this is raw</strong>"
+ assert_status 200
+ end
end
-
+
class WithLayoutController < ::ApplicationController
self.view_paths = [ActionView::FixtureResolver.new(
"test/basic.html.erb" => "Hello from basic.html.erb",
@@ -85,28 +97,28 @@ module RenderTemplate
"layouts/application.html.erb" => "<%= yield %>, I'm here!",
"layouts/greetings.html.erb" => "<%= yield %>, I wish thee well."
)]
-
+
def index
render :template => "test/basic"
end
-
+
def with_layout
render :template => "test/basic", :layout => true
end
-
+
def with_layout_false
render :template => "test/basic", :layout => false
end
-
+
def with_layout_nil
render :template => "test/basic", :layout => nil
end
-
+
def with_custom_layout
render :template => "test/basic", :layout => "greetings"
end
end
-
+
class TestWithLayout < Rack::TestCase
describe "Rendering with :template using implicit or explicit layout"
diff --git a/actionpack/test/controller/output_escaping_test.rb b/actionpack/test/controller/output_escaping_test.rb
index 7332f3f1e3..43a8c05cda 100644
--- a/actionpack/test/controller/output_escaping_test.rb
+++ b/actionpack/test/controller/output_escaping_test.rb
@@ -13,7 +13,7 @@ class OutputEscapingTest < ActiveSupport::TestCase
test "escapeHTML shouldn't touch explicitly safe strings" do
# TODO this seems easier to compose and reason about, but
# this should be verified
- assert_equal "<", ERB::Util.h("<".html_safe!)
+ assert_equal "<", ERB::Util.h("<".html_safe)
end
end
diff --git a/actionpack/test/controller/subscriber_test.rb b/actionpack/test/controller/subscriber_test.rb
index 152a0d0c04..119a18ebc5 100644
--- a/actionpack/test/controller/subscriber_test.rb
+++ b/actionpack/test/controller/subscriber_test.rb
@@ -13,7 +13,7 @@ module Another
end
def data_sender
- send_data "cool data", :filename => "omg.txt"
+ send_data "cool data", :filename => "file.txt"
end
def xfile_sender
@@ -121,7 +121,7 @@ class ACSubscriberTest < ActionController::TestCase
wait
assert_equal 3, logs.size
- assert_match /Sent data omg\.txt/, logs[1]
+ assert_match /Sent data file\.txt/, logs[1]
end
def test_send_file
diff --git a/actionpack/test/controller/view_paths_test.rb b/actionpack/test/controller/view_paths_test.rb
index 05d2c8407c..56821332c5 100644
--- a/actionpack/test/controller/view_paths_test.rb
+++ b/actionpack/test/controller/view_paths_test.rb
@@ -142,9 +142,9 @@ class ViewLoadPathsTest < ActionController::TestCase
assert_paths A, "a/path"
assert_paths A, *B.view_paths
assert_paths C, *original_load_paths
-
+
C.view_paths = []
- assert_nothing_raised { C.view_paths << 'c/path' }
+ assert_nothing_raised { C.append_view_path 'c/path' }
assert_paths C, "c/path"
end
end
diff --git a/actionpack/test/dispatch/mime_type_test.rb b/actionpack/test/dispatch/mime_type_test.rb
index 0832943d4c..369212e2d0 100644
--- a/actionpack/test/dispatch/mime_type_test.rb
+++ b/actionpack/test/dispatch/mime_type_test.rb
@@ -23,7 +23,7 @@ class MimeTypeTest < ActiveSupport::TestCase
end
# Accept header send with user HTTP_USER_AGENT: Sunrise/0.42j (Windows XP)
- test "parse crappy broken acceptlines" do
+ test "parse broken acceptlines" do
accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/*,,*/*;q=0.5"
expect = [Mime::HTML, Mime::XML, "image/*", Mime::TEXT, Mime::ALL]
assert_equal expect, Mime::Type.parse(accept).collect { |c| c.to_s }
@@ -31,7 +31,7 @@ class MimeTypeTest < ActiveSupport::TestCase
# Accept header send with user HTTP_USER_AGENT: Mozilla/4.0
# (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1)
- test "parse crappy broken acceptlines2" do
+ test "parse other broken acceptlines" do
accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, , pronto/1.00.00, sslvpn/1.00.00.00, */*"
expect = ['image/gif', 'image/x-xbitmap', 'image/jpeg','image/pjpeg', 'application/x-shockwave-flash', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/msword', 'pronto/1.00.00', 'sslvpn/1.00.00.00', Mime::ALL ]
assert_equal expect, Mime::Type.parse(accept).collect { |c| c.to_s }
diff --git a/actionpack/test/template/erb_util_test.rb b/actionpack/test/template/erb_util_test.rb
index fa6b263965..06155b1f30 100644
--- a/actionpack/test/template/erb_util_test.rb
+++ b/actionpack/test/template/erb_util_test.rb
@@ -22,7 +22,7 @@ class ErbUtilTest < Test::Unit::TestCase
end
def test_html_escape_passes_html_escpe_unmodified
- escaped = h("<p>".html_safe!)
+ escaped = h("<p>".html_safe)
assert_equal "<p>", escaped
assert escaped.html_safe?
end
diff --git a/actionpack/test/template/form_helper_test.rb b/actionpack/test/template/form_helper_test.rb
index c97343fbe5..aafc318b76 100644
--- a/actionpack/test/template/form_helper_test.rb
+++ b/actionpack/test/template/form_helper_test.rb
@@ -451,6 +451,25 @@ class FormHelperTest < ActionView::TestCase
assert_dom_equal expected, output_buffer
end
+ def test_form_for_with_remote
+ form_for(:post, @post, :remote => true, :html => { :id => 'create-post', :method => :put }) do |f|
+ concat f.text_field(:title)
+ concat f.text_area(:body)
+ concat f.check_box(:secret)
+ end
+
+ expected =
+ "<form action='http://www.example.com' id='create-post' method='post' data-remote='true'>" +
+ "<div style='margin:0;padding:0;display:inline'><input name='_method' type='hidden' value='put' /></div>" +
+ "<input name='post[title]' size='30' type='text' id='post_title' value='Hello World' />" +
+ "<textarea name='post[body]' id='post_body' rows='20' cols='40'>Back to the hill and over it again!</textarea>" +
+ "<input name='post[secret]' type='hidden' value='0' />" +
+ "<input name='post[secret]' checked='checked' type='checkbox' id='post_secret' value='1' />" +
+ "</form>"
+
+ assert_dom_equal expected, output_buffer
+ end
+
def test_form_for_without_object
form_for(:post, :html => { :id => 'create-post' }) do |f|
concat f.text_field(:title)
@@ -1151,7 +1170,7 @@ class FormHelperTest < ActionView::TestCase
(field_helpers - %w(hidden_field)).each do |selector|
src = <<-END_SRC
def #{selector}(field, *args, &proc)
- ("<label for='\#{field}'>\#{field.to_s.humanize}:</label> " + super + "<br/>").html_safe!
+ ("<label for='\#{field}'>\#{field.to_s.humanize}:</label> " + super + "<br/>").html_safe
end
END_SRC
class_eval src, __FILE__, __LINE__
diff --git a/actionpack/test/template/form_tag_helper_test.rb b/actionpack/test/template/form_tag_helper_test.rb
index 01bde8ea04..3635c7548e 100644
--- a/actionpack/test/template/form_tag_helper_test.rb
+++ b/actionpack/test/template/form_tag_helper_test.rb
@@ -53,6 +53,12 @@ class FormTagHelperTest < ActionView::TestCase
assert_dom_equal expected, actual
end
+ def test_form_tag_with_remote
+ actual = form_tag({}, :remote => true)
+ expected = %(<form action="http://www.example.com" method="post" data-remote="true">)
+ assert_dom_equal expected, actual
+ end
+
def test_form_tag_with_block_in_erb
__in_erb_template = ''
form_tag("http://example.com") { concat "Hello world!" }
@@ -329,19 +335,19 @@ class FormTagHelperTest < ActionView::TestCase
expected = %(<fieldset><legend>Your details</legend>Hello world!</fieldset>)
assert_dom_equal expected, output_buffer
- self.output_buffer = ''
+ self.output_buffer = ''.html_safe
field_set_tag { concat "Hello world!" }
expected = %(<fieldset>Hello world!</fieldset>)
assert_dom_equal expected, output_buffer
- self.output_buffer = ''
+ self.output_buffer = ''.html_safe
field_set_tag('') { concat "Hello world!" }
expected = %(<fieldset>Hello world!</fieldset>)
assert_dom_equal expected, output_buffer
- self.output_buffer = ''
+ self.output_buffer = ''.html_safe
field_set_tag('', :class => 'format') { concat "Hello world!" }
expected = %(<fieldset class="format">Hello world!</fieldset>)
diff --git a/actionpack/test/template/html-scanner/sanitizer_test.rb b/actionpack/test/template/html-scanner/sanitizer_test.rb
index e85a5c7abf..a6e760b0b6 100644
--- a/actionpack/test/template/html-scanner/sanitizer_test.rb
+++ b/actionpack/test/template/html-scanner/sanitizer_test.rb
@@ -48,7 +48,7 @@ class SanitizerTest < ActionController::TestCase
assert_sanitized "a b c<script language=\"Javascript\">blah blah blah</script>d e f", "a b cd e f"
end
- # fucked
+ # TODO: Clean up
def test_sanitize_js_handlers
raw = %{onthis="do that" <a href="#" onclick="hello" name="foo" onbogus="remove me">hello</a>}
assert_sanitized raw, %{onthis="do that" <a name="foo" href="#">hello</a>}
@@ -193,7 +193,7 @@ class SanitizerTest < ActionController::TestCase
assert_sanitized img_hack, "<img>"
end
- # fucked
+ # TODO: Clean up
def test_should_sanitize_attributes
assert_sanitized %(<SPAN title="'><script>alert()</script>">blah</SPAN>), %(<span title="'&gt;&lt;script&gt;alert()&lt;/script&gt;">blah</span>)
end
diff --git a/actionpack/test/template/safe_buffer_test.rb b/actionpack/test/template/safe_buffer_test.rb
deleted file mode 100644
index 6a18201d16..0000000000
--- a/actionpack/test/template/safe_buffer_test.rb
+++ /dev/null
@@ -1,41 +0,0 @@
-require 'abstract_unit'
-
-class SafeBufferTest < ActionView::TestCase
- def setup
- @buffer = ActionView::SafeBuffer.new
- end
-
- test "Should look like a string" do
- assert @buffer.is_a?(String)
- assert_equal "", @buffer
- end
-
- test "Should escape a raw string which is passed to them" do
- @buffer << "<script>"
- assert_equal "&lt;script&gt;", @buffer
- end
-
- test "Should NOT escape a safe value passed to it" do
- @buffer << "<script>".html_safe!
- assert_equal "<script>", @buffer
- end
-
- test "Should not mess with an innocuous string" do
- @buffer << "Hello"
- assert_equal "Hello", @buffer
- end
-
- test "Should not mess with a previously escape test" do
- @buffer << ERB::Util.html_escape("<script>")
- assert_equal "&lt;script&gt;", @buffer
- end
-
- test "Should be considered safe" do
- assert @buffer.html_safe?
- end
-
- test "Should return a safe buffer when calling to_s" do
- new_buffer = @buffer.to_s
- assert_equal ActionView::SafeBuffer, new_buffer.class
- end
-end
diff --git a/actionpack/test/template/subscriber_test.rb b/actionpack/test/template/subscriber_test.rb
index 5db2b16ac1..8bacab7088 100644
--- a/actionpack/test/template/subscriber_test.rb
+++ b/actionpack/test/template/subscriber_test.rb
@@ -33,7 +33,7 @@ class AVSubscriberTest < ActiveSupport::TestCase
end
def test_render_text_template
- @view.render(:text => "OMG")
+ @view.render(:text => "TEXT")
wait
assert_equal 1, @logger.logged(:info).size
@@ -41,7 +41,7 @@ class AVSubscriberTest < ActiveSupport::TestCase
end
def test_render_inline_template
- @view.render(:inline => "<%= 'OMG' %>")
+ @view.render(:inline => "<%= 'TEXT' %>")
wait
assert_equal 1, @logger.logged(:info).size
diff --git a/actionpack/test/template/test_case_test.rb b/actionpack/test/template/test_case_test.rb
index 9a448ce328..be2c6b3108 100644
--- a/actionpack/test/template/test_case_test.rb
+++ b/actionpack/test/template/test_case_test.rb
@@ -160,7 +160,7 @@ module ActionView
class AssertionsTest < ActionView::TestCase
def render_from_helper
form_tag('/foo') do
- concat render(:text => '<ul><li>foo</li></ul>').html_safe!
+ safe_concat render(:text => '<ul><li>foo</li></ul>')
end
end
helper_method :render_from_helper
diff --git a/actionpack/test/template/url_helper_test.rb b/actionpack/test/template/url_helper_test.rb
index b498ec8429..e904e88f49 100644
--- a/actionpack/test/template/url_helper_test.rb
+++ b/actionpack/test/template/url_helper_test.rb
@@ -81,6 +81,13 @@ class UrlHelperTest < ActionView::TestCase
)
end
+ def test_button_to_with_remote_and_javascript_confirm
+ assert_dom_equal(
+ "<form method=\"post\" action=\"http://www.example.com\" class=\"button-to\" data-remote=\"true\"><div><input data-confirm=\"Are you sure?\" type=\"submit\" value=\"Hello\" /></div></form>",
+ button_to("Hello", "http://www.example.com", :remote => true, :confirm => "Are you sure?")
+ )
+ end
+
def test_button_to_enabled_disabled
assert_dom_equal(
"<form method=\"post\" action=\"http://www.example.com\" class=\"button-to\"><div><input type=\"submit\" value=\"Hello\" /></div></form>",