mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
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
This commit is contained in:
parent
00ee990443
commit
86fc43fd58
16 changed files with 72 additions and 34 deletions
|
@ -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|
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
require "active_support/core_ext/kernel/requires"
|
||||
begin
|
||||
require_library_or_gem 'memcache'
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
require "active_support/core_ext/exception"
|
||||
|
||||
module ActionDispatch
|
||||
class ShowExceptions
|
||||
include StatusCodes
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
require 'benchmark'
|
||||
require 'active_support/core_ext/benchmark'
|
||||
|
||||
module ActionView
|
||||
module Helpers
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) }
|
||||
|
|
|
@ -1 +1 @@
|
|||
<%= local_assigns.keys.map(&:to_s).sort.join(",") -%>
|
||||
<%= local_assigns.keys.map {|k| k.to_s }.sort.join(",") -%>
|
|
@ -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',
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue