diff options
author | Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com> | 2009-06-08 13:33:18 -0700 |
---|---|---|
committer | Yehuda Katz + Carl Lerche <ykatz+clerche@engineyard.com> | 2009-06-08 13:34:07 -0700 |
commit | 86fc43fd584726ba81b1a3b3e0a6f6000c1f4cc8 (patch) | |
tree | ae5b6811931cb2903bf3a54a7211316f4e43589e | |
parent | 00ee990443189649e481b2c30945e7a1029d8280 (diff) | |
download | rails-86fc43fd584726ba81b1a3b3e0a6f6000c1f4cc8.tar.gz rails-86fc43fd584726ba81b1a3b3e0a6f6000c1f4cc8.tar.bz2 rails-86fc43fd584726ba81b1a3b3e0a6f6000c1f4cc8.zip |
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
-rw-r--r-- | actionpack/Rakefile | 8 | ||||
-rw-r--r-- | actionpack/lib/action_controller/routing/resources.rb | 4 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb | 1 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/show_exceptions.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/active_record_helper.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/benchmark_helper.rb | 2 | ||||
-rw-r--r-- | actionpack/lib/action_view/helpers/url_helper.rb | 6 | ||||
-rw-r--r-- | actionpack/lib/action_view/template/error.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/helper_test.rb | 6 | ||||
-rw-r--r-- | actionpack/test/controller/routing_test.rb | 8 | ||||
-rw-r--r-- | actionpack/test/dispatch/mime_type_test.rb | 4 | ||||
-rw-r--r-- | actionpack/test/fixtures/test/_local_inspector.html.erb | 2 | ||||
-rw-r--r-- | actionpack/test/new_base/abstract_unit.rb | 13 | ||||
-rw-r--r-- | actionpack/test/template/erb_util_test.rb | 2 | ||||
-rw-r--r-- | actionpack/test/template/number_helper_test.rb | 42 | ||||
-rw-r--r-- | actionpack/test/template/render_test.rb | 2 |
16 files changed, 72 insertions, 34 deletions
diff --git a/actionpack/Rakefile b/actionpack/Rakefile index 5f5614e58f..d6aa0c0b87 100644 --- a/actionpack/Rakefile +++ b/actionpack/Rakefile @@ -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| diff --git a/actionpack/lib/action_controller/routing/resources.rb b/actionpack/lib/action_controller/routing/resources.rb index 05c782d226..2dee0a3d87 100644 --- a/actionpack/lib/action_controller/routing/resources.rb +++ b/actionpack/lib/action_controller/routing/resources.rb @@ -150,9 +150,9 @@ module ActionController 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 diff --git a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb index 8f448970d9..1d9efc2b36 100644 --- a/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb +++ b/actionpack/lib/action_dispatch/middleware/session/mem_cache_store.rb @@ -1,3 +1,4 @@ +require "active_support/core_ext/kernel/requires" begin require_library_or_gem 'memcache' diff --git a/actionpack/lib/action_dispatch/middleware/show_exceptions.rb b/actionpack/lib/action_dispatch/middleware/show_exceptions.rb index bfff307669..036deec6d2 100644 --- a/actionpack/lib/action_dispatch/middleware/show_exceptions.rb +++ b/actionpack/lib/action_dispatch/middleware/show_exceptions.rb @@ -1,3 +1,5 @@ +require "active_support/core_ext/exception" + module ActionDispatch class ShowExceptions include StatusCodes diff --git a/actionpack/lib/action_view/helpers/active_record_helper.rb b/actionpack/lib/action_view/helpers/active_record_helper.rb index b4b9f6e34b..8b70200654 100644 --- a/actionpack/lib/action_view/helpers/active_record_helper.rb +++ b/actionpack/lib/action_view/helpers/active_record_helper.rb @@ -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 diff --git a/actionpack/lib/action_view/helpers/benchmark_helper.rb b/actionpack/lib/action_view/helpers/benchmark_helper.rb index 61c2cecb04..c13a069a35 100644 --- a/actionpack/lib/action_view/helpers/benchmark_helper.rb +++ b/actionpack/lib/action_view/helpers/benchmark_helper.rb @@ -1,4 +1,4 @@ -require 'benchmark' +require 'active_support/core_ext/benchmark' module ActionView module Helpers diff --git a/actionpack/lib/action_view/helpers/url_helper.rb b/actionpack/lib/action_view/helpers/url_helper.rb index 36e0a78e93..a861102166 100644 --- a/actionpack/lib/action_view/helpers/url_helper.rb +++ b/actionpack/lib/action_view/helpers/url_helper.rb @@ -221,9 +221,9 @@ module ActionView 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) diff --git a/actionpack/lib/action_view/template/error.rb b/actionpack/lib/action_view/template/error.rb index a06e80b294..6e5093c5bd 100644 --- a/actionpack/lib/action_view/template/error.rb +++ b/actionpack/lib/action_view/template/error.rb @@ -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. diff --git a/actionpack/test/controller/helper_test.rb b/actionpack/test/controller/helper_test.rb index 5b9feb3630..342cbfbcd3 100644 --- a/actionpack/test/controller/helper_test.rb +++ b/actionpack/test/controller/helper_test.rb @@ -127,7 +127,7 @@ class HelperTest < Test::Unit::TestCase 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 @@ class HelperTest < Test::Unit::TestCase 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 diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb index 6b08a04b10..c2acc03a1b 100644 --- a/actionpack/test/controller/routing_test.rb +++ b/actionpack/test/controller/routing_test.rb @@ -1623,13 +1623,13 @@ class RouteSetTest < Test::Unit::TestCase 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 @@ class RouteSetTest < Test::Unit::TestCase 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 @@ class RouteSetTest < Test::Unit::TestCase 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 diff --git a/actionpack/test/dispatch/mime_type_test.rb b/actionpack/test/dispatch/mime_type_test.rb index 2fdf4819bb..27bdd10ee5 100644 --- a/actionpack/test/dispatch/mime_type_test.rb +++ b/actionpack/test/dispatch/mime_type_test.rb @@ -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) } diff --git a/actionpack/test/fixtures/test/_local_inspector.html.erb b/actionpack/test/fixtures/test/_local_inspector.html.erb index c5a6e3e5bc..e6765c0882 100644 --- a/actionpack/test/fixtures/test/_local_inspector.html.erb +++ b/actionpack/test/fixtures/test/_local_inspector.html.erb @@ -1 +1 @@ -<%= local_assigns.keys.map(&:to_s).sort.join(",") -%>
\ No newline at end of file +<%= local_assigns.keys.map {|k| k.to_s }.sort.join(",") -%>
\ No newline at end of file diff --git a/actionpack/test/new_base/abstract_unit.rb b/actionpack/test/new_base/abstract_unit.rb index e6690d41d9..7d72f8393b 100644 --- a/actionpack/test/new_base/abstract_unit.rb +++ b/actionpack/test/new_base/abstract_unit.rb @@ -11,9 +11,6 @@ $stderr.puts "Running old tests on new_base" 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 @@ ORIGINAL_LOCALES = I18n.available_locales.map {|locale| locale.to_s }.sort 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', diff --git a/actionpack/test/template/erb_util_test.rb b/actionpack/test/template/erb_util_test.rb index c8c986f218..49f51c50c5 100644 --- a/actionpack/test/template/erb_util_test.rb +++ b/actionpack/test/template/erb_util_test.rb @@ -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 diff --git a/actionpack/test/template/number_helper_test.rb b/actionpack/test/template/number_helper_test.rb index b6542ef29d..57b740032e 100644 --- a/actionpack/test/template/number_helper_test.rb +++ b/actionpack/test/template/number_helper_test.rb @@ -3,6 +3,22 @@ require 'abstract_unit' 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 @@ class NumberHelperTest < ActionView::TestCase 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 @@ class NumberHelperTest < ActionView::TestCase 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 @@ class NumberHelperTest < ActionView::TestCase 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 diff --git a/actionpack/test/template/render_test.rb b/actionpack/test/template/render_test.rb index 20cd4cc1d4..2ed11aa3c0 100644 --- a/actionpack/test/template/render_test.rb +++ b/actionpack/test/template/render_test.rb @@ -13,7 +13,7 @@ module RenderTestCases 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 |