Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

ActionPack components should no longer have undeclared dependencies.

  * Tests can be run in isolation
  * Dependencies added
  * A few tests modified to avoid depending on AS deps 
    not depended on my files they were testing
  • Loading branch information...
commit 86fc43fd584726ba81b1a3b3e0a6f6000c1f4cc8 1 parent 00ee990
Yehuda Katz + Carl Lerche authored
8 actionpack/Rakefile
View
@@ -35,6 +35,14 @@ Rake::TestTask.new(:test_action_pack) do |t|
t.verbose = true
#t.warning = true
end
+
+task :test_action_pack_isolated do
+ test_files = Dir.glob( "test/{controller,dispatch,template,html-scanner}/**/*_test.rb" ).sort
+ test_lib = test_lib_dirs.map { |lib| "-I#{lib}" }.join(' ')
+ test_files.map! { |f| "ruby #{test_lib} #{f}" }
+ exec test_files.join(" && ")
+end
+
task :isolated_test do
ruby = File.join(*RbConfig::CONFIG.values_at('bindir', 'RUBY_INSTALL_NAME'))
Dir.glob("test/{controller,dispatch,template}/**/*_test.rb").all? do |file|
4 actionpack/lib/action_controller/routing/resources.rb
View
@@ -150,9 +150,9 @@ def set_allowed_actions
end
if only
- @allowed_actions[:only] = Array(only).map(&:to_sym)
+ @allowed_actions[:only] = Array(only).map {|a| a.to_sym }
elsif except
- @allowed_actions[:except] = Array(except).map(&:to_sym)
+ @allowed_actions[:except] = Array(except).map {|a| a.to_sym }
end
end
1  actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb
View
@@ -1,3 +1,4 @@
+require "active_support/core_ext/kernel/requires"
begin
require_library_or_gem 'memcache'
2  actionpack/lib/action_dispatch/middleware/show_exceptions.rb
View
@@ -1,3 +1,5 @@
+require "active_support/core_ext/exception"
+
module ActionDispatch
class ShowExceptions
include StatusCodes
2  actionpack/lib/action_view/helpers/active_record_helper.rb
View
@@ -1,6 +1,8 @@
require 'cgi'
require 'action_view/helpers/form_helper'
require 'active_support/core_ext/class/attribute_accessors'
+require 'active_support/core_ext/enumerable'
+require 'active_support/core_ext/kernel/reporting'
module ActionView
class Base
2  actionpack/lib/action_view/helpers/benchmark_helper.rb
View
@@ -1,4 +1,4 @@
-require 'benchmark'
+require 'active_support/core_ext/benchmark'
module ActionView
module Helpers
6 actionpack/lib/action_view/helpers/url_helper.rb
View
@@ -221,9 +221,9 @@ def link_to(*args, &block)
html_options = args.second
concat(link_to(capture(&block), options, html_options))
else
- name = args.first
- options = args.second || {}
- html_options = args.third
+ name = args[0]
+ options = args[1] || {}
+ html_options = args[2]
url = url_for(options)
2  actionpack/lib/action_view/template/error.rb
View
@@ -1,3 +1,5 @@
+require "active_support/core_ext/enumerable"
+
module ActionView
# The TemplateError exception is raised when the compilation of the template fails. This exception then gathers a
# bunch of intimate details and uses it to report a very precise exception message.
6 actionpack/test/controller/helper_test.rb
View
@@ -127,7 +127,7 @@ def test_helper_for_acronym_controller
end
def test_all_helpers
- methods = AllHelpersController.master_helper_module.instance_methods.map(&:to_s)
+ methods = AllHelpersController.master_helper_module.instance_methods.map {|m| m.to_s}
# abc_helper.rb
assert methods.include?('bare_a')
@@ -171,11 +171,11 @@ def test_helper_proxy
private
def expected_helper_methods
- TestHelper.instance_methods.map(&:to_s)
+ TestHelper.instance_methods.map {|m| m.to_s }
end
def master_helper_methods
- @controller_class.master_helper_module.instance_methods.map(&:to_s)
+ @controller_class.master_helper_module.instance_methods.map {|m| m.to_s }
end
def missing_methods
8 actionpack/test/controller/routing_test.rb
View
@@ -1623,13 +1623,13 @@ def test_generate_extras
set.draw { |m| m.connect ':controller/:action/:id' }
path, extras = set.generate_extras(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
assert_equal "/foo/bar/15", path
- assert_equal %w(that this), extras.map(&:to_s).sort
+ assert_equal %w(that this), extras.map { |e| e.to_s }.sort
end
def test_extra_keys
set.draw { |m| m.connect ':controller/:action/:id' }
extras = set.extra_keys(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
- assert_equal %w(that this), extras.map(&:to_s).sort
+ assert_equal %w(that this), extras.map { |e| e.to_s }.sort
end
def test_generate_extras_not_first
@@ -1639,7 +1639,7 @@ def test_generate_extras_not_first
end
path, extras = set.generate_extras(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
assert_equal "/foo/bar/15", path
- assert_equal %w(that this), extras.map(&:to_s).sort
+ assert_equal %w(that this), extras.map { |e| e.to_s }.sort
end
def test_generate_not_first
@@ -1656,7 +1656,7 @@ def test_extra_keys_not_first
map.connect ':controller/:action/:id'
end
extras = set.extra_keys(:controller => "foo", :action => "bar", :id => 15, :this => "hello", :that => "world")
- assert_equal %w(that this), extras.map(&:to_s).sort
+ assert_equal %w(that this), extras.map { |e| e.to_s }.sort
end
def test_draw
4 actionpack/test/dispatch/mime_type_test.rb
View
@@ -56,7 +56,7 @@ class MimeTypeTest < ActiveSupport::TestCase
test "type convenience methods" do
# Don't test Mime::ALL, since it Mime::ALL#html? == true
- types = Mime::SET.to_a.map(&:to_sym).uniq - [:all]
+ types = Mime::SET.to_a.map{|m| m.to_sym }.uniq - [:all]
# Remove custom Mime::Type instances set in other tests, like Mime::GIF and Mime::IPHONE
types.delete_if { |type| !Mime.const_defined?(type.to_s.upcase) }
@@ -76,7 +76,7 @@ class MimeTypeTest < ActiveSupport::TestCase
end
test "verifiable mime types" do
- all_types = Mime::SET.to_a.map(&:to_sym)
+ all_types = Mime::SET.to_a.map{|m| m.to_sym}
all_types.uniq!
# Remove custom Mime::Type instances set in other tests, like Mime::GIF and Mime::IPHONE
all_types.delete_if { |type| !Mime.const_defined?(type.to_s.upcase) }
2  actionpack/test/fixtures/test/_local_inspector.html.erb
View
@@ -1 +1 @@
-<%= local_assigns.keys.map(&:to_s).sort.join(",") -%>
+<%= local_assigns.keys.map {|k| k.to_s }.sort.join(",") -%>
13 actionpack/test/new_base/abstract_unit.rb
View
@@ -11,9 +11,6 @@
require 'test/unit'
require 'active_support'
-# TODO : Revisit requiring all the core extensions here
-require 'active_support/core_ext'
-
require 'active_support/test_case'
require 'action_controller/abstract'
require 'action_controller/new_base'
@@ -45,6 +42,16 @@
FIXTURE_LOAD_PATH = File.join(File.dirname(__FILE__), '../fixtures')
+module ActionView
+ class TestCase
+ setup do
+ ActionController::Routing::Routes.draw do |map|
+ map.connect ':controller/:action/:id'
+ end
+ end
+ end
+end
+
module ActionController
Base.session = {
:key => '_testing_session',
2  actionpack/test/template/erb_util_test.rb
View
@@ -16,7 +16,7 @@ class ErbUtilTest < Test::Unit::TestCase
end
def test_rest_in_ascii
- (0..127).to_a.map(&:chr).each do |chr|
+ (0..127).to_a.map {|int| int.chr }.each do |chr|
next if %w(& " < >).include?(chr)
assert_equal chr, html_escape(chr)
end
42 actionpack/test/template/number_helper_test.rb
View
@@ -3,6 +3,22 @@
class NumberHelperTest < ActionView::TestCase
tests ActionView::Helpers::NumberHelper
+ def kilobytes(number)
+ number * 1024
+ end
+
+ def megabytes(number)
+ kilobytes(number) * 1024
+ end
+
+ def gigabytes(number)
+ megabytes(number) * 1024
+ end
+
+ def terabytes(number)
+ gigabytes(number) * 1024
+ end
+
def test_number_to_phone
assert_equal("555-1234", number_to_phone(5551234))
assert_equal("800-555-1212", number_to_phone(8005551212))
@@ -96,16 +112,16 @@ def test_number_to_human_size
assert_equal '1.2 MB', number_to_human_size(1234567)
assert_equal '1.1 GB', number_to_human_size(1234567890)
assert_equal '1.1 TB', number_to_human_size(1234567890123)
- assert_equal '1025 TB', number_to_human_size(1025.terabytes)
- assert_equal '444 KB', number_to_human_size(444.kilobytes)
- assert_equal '1023 MB', number_to_human_size(1023.megabytes)
- assert_equal '3 TB', number_to_human_size(3.terabytes)
+ assert_equal '1025 TB', number_to_human_size(terabytes(1025))
+ assert_equal '444 KB', number_to_human_size(kilobytes(444))
+ assert_equal '1023 MB', number_to_human_size(megabytes(1023))
+ assert_equal '3 TB', number_to_human_size(terabytes(3))
assert_equal '1.18 MB', number_to_human_size(1234567, :precision => 2)
assert_equal '3 Bytes', number_to_human_size(3.14159265, :precision => 4)
assert_equal("123 Bytes", number_to_human_size("123"))
- assert_equal '1.01 KB', number_to_human_size(1.0123.kilobytes, :precision => 2)
- assert_equal '1.01 KB', number_to_human_size(1.0100.kilobytes, :precision => 4)
- assert_equal '10 KB', number_to_human_size(10.000.kilobytes, :precision => 4)
+ assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2)
+ assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4)
+ assert_equal '10 KB', number_to_human_size(kilobytes(10.000), :precision => 4)
assert_equal '1 Byte', number_to_human_size(1.1)
assert_equal '10 Bytes', number_to_human_size(10)
#assert_nil number_to_human_size('x') # fails due to API consolidation
@@ -115,9 +131,9 @@ def test_number_to_human_size
def test_number_to_human_size_with_options_hash
assert_equal '1.18 MB', number_to_human_size(1234567, :precision => 2)
assert_equal '3 Bytes', number_to_human_size(3.14159265, :precision => 4)
- assert_equal '1.01 KB', number_to_human_size(1.0123.kilobytes, :precision => 2)
- assert_equal '1.01 KB', number_to_human_size(1.0100.kilobytes, :precision => 4)
- assert_equal '10 KB', number_to_human_size(10.000.kilobytes, :precision => 4)
+ assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2)
+ assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4)
+ assert_equal '10 KB', number_to_human_size(kilobytes(10.000), :precision => 4)
assert_equal '1 TB', number_to_human_size(1234567890123, :precision => 0)
assert_equal '500 MB', number_to_human_size(524288000, :precision=>0)
assert_equal '40 KB', number_to_human_size(41010, :precision => 0)
@@ -125,8 +141,8 @@ def test_number_to_human_size_with_options_hash
end
def test_number_to_human_size_with_custom_delimiter_and_separator
- assert_equal '1,01 KB', number_to_human_size(1.0123.kilobytes, :precision => 2, :separator => ',')
- assert_equal '1,01 KB', number_to_human_size(1.0100.kilobytes, :precision => 4, :separator => ',')
- assert_equal '1.000,1 TB', number_to_human_size(1000.1.terabytes, :delimiter => '.', :separator => ',')
+ assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2, :separator => ',')
+ assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4, :separator => ',')
+ assert_equal '1.000,1 TB', number_to_human_size(terabytes(1000.1), :delimiter => '.', :separator => ',')
end
end
2  actionpack/test/template/render_test.rb
View
@@ -13,7 +13,7 @@ def setup_view(paths)
I18n.backend.store_translations 'pt-BR', {}
# Ensure original are still the same since we are reindexing view paths
- assert_equal ORIGINAL_LOCALES, I18n.available_locales.map(&:to_s).sort
+ assert_equal ORIGINAL_LOCALES, I18n.available_locales.map {|l| l.to_s }.sort
end
def test_render_file
Please sign in to comment.
Something went wrong with that request. Please try again.