diff --git a/actionpack/lib/action_controller/benchmarking.rb b/actionpack/lib/action_controller/benchmarking.rb index 8b548f9d25..ae0dd3b9be 100644 --- a/actionpack/lib/action_controller/benchmarking.rb +++ b/actionpack/lib/action_controller/benchmarking.rb @@ -65,7 +65,7 @@ module ActionController #:nodoc: else runtime = [Benchmark::measure{ perform_action_without_benchmark }.real, 0.0001].max log_message = "Completed in #{sprintf("%.5f", runtime)} (#{(1 / runtime).floor} reqs/sec)" - log_message << rendering_runtime(runtime) if @rendering_runtime + log_message << rendering_runtime(runtime) if defined?(@rendering_runtime) log_message << active_record_runtime(runtime) if Object.const_defined?("ActiveRecord") && ActiveRecord::Base.connected? log_message << " | #{headers["Status"]}" log_message << " [#{complete_request_uri rescue "unknown"}]" diff --git a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb index 4be69548fd..4c124cb266 100644 --- a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb +++ b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb @@ -75,7 +75,7 @@ class CGI #:nodoc: content = stdinput.read(content_length) || '' # Fix for Safari Ajax postings that always append \000 content.chop! if content[-1] == 0 - content.gsub! /&_=$/, '' + content.gsub!(/&_=$/, '') env_table['RAW_POST_DATA'] = content.freeze end diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb index 05e9886ab0..e983912158 100644 --- a/actionpack/lib/action_controller/cgi_process.rb +++ b/actionpack/lib/action_controller/cgi_process.rb @@ -101,7 +101,7 @@ module ActionController #:nodoc: end def session - unless @session + unless defined?(@session) if @session_options == false @session = Hash.new else @@ -119,7 +119,7 @@ module ActionController #:nodoc: end def reset_session - @session.delete if CGI::Session === @session + @session.delete if defined?(@session) && @session.is_a?(CGI::Session) @session = new_session end diff --git a/actionpack/lib/action_controller/components.rb b/actionpack/lib/action_controller/components.rb index 7f7cb361f8..4d5dc20ab1 100644 --- a/actionpack/lib/action_controller/components.rb +++ b/actionpack/lib/action_controller/components.rb @@ -111,9 +111,9 @@ module ActionController #:nodoc: end def flash_with_components(refresh = false) #:nodoc: - if @flash.nil? || refresh - @flash = - if @parent_controller + if !defined?(@flash) || refresh + @flash = + if defined?(@parent_controller) @parent_controller.flash else flash_without_components diff --git a/actionpack/lib/action_controller/flash.rb b/actionpack/lib/action_controller/flash.rb index ea7a49ab77..5751fe6e93 100644 --- a/actionpack/lib/action_controller/flash.rb +++ b/actionpack/lib/action_controller/flash.rb @@ -155,8 +155,8 @@ module ActionController #:nodoc: # flash["notice"] = "hello" to put a new one. # Note that if sessions are disabled only flash.now will work. def flash(refresh = false) #:doc: - if @flash.nil? || refresh - @flash = + if !defined?(@flash) || refresh + @flash = if @session.is_a?(Hash) # @session is a Hash, if sessions are disabled # we don't put the flash in the session in this case diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb index 730d9e3bfb..6b3bf04c27 100644 --- a/actionpack/lib/action_controller/test_process.rb +++ b/actionpack/lib/action_controller/test_process.rb @@ -337,7 +337,7 @@ module ActionController #:nodoc: %w( get post put delete head ).each do |method| base.class_eval <<-EOV, __FILE__, __LINE__ def #{method}(action, parameters = nil, session = nil, flash = nil) - @request.env['REQUEST_METHOD'] = "#{method.upcase}" if @request + @request.env['REQUEST_METHOD'] = "#{method.upcase}" if defined?(@request) process(action, parameters, session, flash) end EOV @@ -348,8 +348,10 @@ module ActionController #:nodoc: def process(action, parameters = nil, session = nil, flash = nil) # Sanity check for required instance variables so we can give an # understandable error message. - %w(controller request response).each do |iv_name| - raise "@#{iv_name} is nil: make sure you set it in your test's setup method." if instance_variable_get("@#{iv_name}").nil? + %w(@controller @request @response).each do |iv_name| + if !instance_variables.include?(iv_name) || instance_variable_get(iv_name).nil? + raise "#{iv_name} is nil: make sure you set it in your test's setup method." + end end @request.recycle! diff --git a/actionpack/lib/action_view/helpers/form_helper.rb b/actionpack/lib/action_view/helpers/form_helper.rb index 286defa54e..eef7d1f567 100644 --- a/actionpack/lib/action_view/helpers/form_helper.rb +++ b/actionpack/lib/action_view/helpers/form_helper.rb @@ -267,7 +267,7 @@ module ActionView end options["checked"] = "checked" if checked pretty_tag_value = tag_value.to_s.gsub(/\s/, "_").gsub(/\W/, "").downcase - options["id"] = @auto_index ? + options["id"] = defined?(@auto_index) ? "#{@object_name}_#{@auto_index}_#{@method_name}_#{pretty_tag_value}" : "#{@object_name}_#{@method_name}_#{pretty_tag_value}" add_default_name_and_id(options) @@ -377,7 +377,7 @@ module ActionView options["name"] ||= tag_name_with_index(options["index"]) options["id"] ||= tag_id_with_index(options["index"]) options.delete("index") - elsif @auto_index + elsif defined?(@auto_index) options["name"] ||= tag_name_with_index(@auto_index) options["id"] ||= tag_id_with_index(@auto_index) else diff --git a/actionpack/lib/action_view/helpers/text_helper.rb b/actionpack/lib/action_view/helpers/text_helper.rb index 2040c52a71..f668f09d34 100644 --- a/actionpack/lib/action_view/helpers/text_helper.rb +++ b/actionpack/lib/action_view/helpers/text_helper.rb @@ -277,8 +277,7 @@ module ActionView # the next time it is used. def reset_cycle(name = "default") cycle = get_cycle(name) - return if cycle.nil? - cycle.reset + cycle.reset unless cycle.nil? end class Cycle #:nodoc: @@ -305,12 +304,12 @@ module ActionView # guaranteed to be reset every time a page is rendered, so it # uses an instance variable of ActionView::Base. def get_cycle(name) - @_cycles = Hash.new if @_cycles.nil? + @_cycles = Hash.new unless defined?(@_cycles) return @_cycles[name] end def set_cycle(name, cycle_object) - @_cycles = Hash.new if @_cycles.nil? + @_cycles = Hash.new unless defined?(@_cycles) @_cycles[name] = cycle_object end diff --git a/actionpack/test/controller/helper_test.rb b/actionpack/test/controller/helper_test.rb index 6fb67ee38e..98c8f7e72c 100644 --- a/actionpack/test/controller/helper_test.rb +++ b/actionpack/test/controller/helper_test.rb @@ -77,8 +77,8 @@ class HelperTest < Test::Unit::TestCase def test_declare_missing_file_from_helper require 'broken_helper' - rescue LoadError => e - assert_nil /\bbroken_helper\b/.match(e.to_s)[1] + rescue LoadError => e + assert_nil(/\bbroken_helper\b/.match(e.to_s)[1]) end def test_helper_block diff --git a/actionpack/test/template/active_record_helper_test.rb b/actionpack/test/template/active_record_helper_test.rb index 928c31832a..6f7f013de4 100644 --- a/actionpack/test/template/active_record_helper_test.rb +++ b/actionpack/test/template/active_record_helper_test.rb @@ -49,7 +49,9 @@ class ActiveRecordHelperTest < Test::Unit::TestCase Post.content_columns.select { |column| column.name == attr_name }.first end - def Post.content_columns() [ Column.new(:string, "title", "Title"), Column.new(:text, "body", "Body") ] end + silence_warnings do + def Post.content_columns() [ Column.new(:string, "title", "Title"), Column.new(:text, "body", "Body") ] end + end @post.title = "Hello World" @post.author_name = "" @@ -76,7 +78,9 @@ class ActiveRecordHelperTest < Test::Unit::TestCase User.content_columns.select { |column| column.name == attr_name }.first end - def User.content_columns() [ Column.new(:string, "email", "Email") ] end + silence_warnings do + def User.content_columns() [ Column.new(:string, "email", "Email") ] end + end @user.email = "" end @@ -119,11 +123,14 @@ class ActiveRecordHelperTest < Test::Unit::TestCase form("post") ) - class << @post - def new_record?() false end - def to_param() id end - def id() 1 end + silence_warnings do + class << @post + def new_record?() false end + def to_param() id end + def id() 1 end + end end + assert_dom_equal( %(


\n


), form("post") @@ -131,16 +138,20 @@ class ActiveRecordHelperTest < Test::Unit::TestCase end def test_form_with_date - def Post.content_columns() [ Column.new(:date, "written_on", "Written on") ] end + silence_warnings do + def Post.content_columns() [ Column.new(:date, "written_on", "Written on") ] end + end assert_dom_equal( %(


\n\n\n

), form("post") ) end - + def test_form_with_datetime - def Post.content_columns() [ Column.new(:datetime, "written_on", "Written on") ] end + silence_warnings do + def Post.content_columns() [ Column.new(:datetime, "written_on", "Written on") ] end + end @post.written_on = Time.gm(2004, 6, 15, 16, 30) assert_dom_equal( diff --git a/actionpack/test/template/prototype_helper_test.rb b/actionpack/test/template/prototype_helper_test.rb index 56b1ed263c..719a2f83ab 100644 --- a/actionpack/test/template/prototype_helper_test.rb +++ b/actionpack/test/template/prototype_helper_test.rb @@ -13,6 +13,7 @@ module BaseTest include ActionView::Helpers::CaptureHelper def setup + @template = nil @controller = Class.new do def url_for(options, *parameters_for_method_reference) if options.is_a?(String) diff --git a/activesupport/test/abstract_unit.rb b/activesupport/test/abstract_unit.rb new file mode 100644 index 0000000000..7e3ff50ac9 --- /dev/null +++ b/activesupport/test/abstract_unit.rb @@ -0,0 +1,4 @@ +require 'test/unit' + +$:.unshift "#{File.dirname(__FILE__)}/../lib" +require 'active_support' diff --git a/activesupport/test/caching_tools_test.rb b/activesupport/test/caching_tools_test.rb index 9f3e42e496..c9890e4d13 100644 --- a/activesupport/test/caching_tools_test.rb +++ b/activesupport/test/caching_tools_test.rb @@ -1,11 +1,9 @@ -require 'test/unit' -require File.dirname(__FILE__)+'/../lib/active_support/caching_tools' +require File.dirname(__FILE__) + '/abstract_unit' class HashCachingTests < Test::Unit::TestCase - def cached(&proc) - return @cached if @cached - + return @cached if defined?(@cached) + @cached_class = Class.new(&proc) @cached_class.class_eval do extend ActiveSupport::CachingTools::HashCaching @@ -13,14 +11,14 @@ class HashCachingTests < Test::Unit::TestCase end @cached = @cached_class.new end - + def test_cache_access_should_call_method cached do def slow_method(a) raise "I should be here: #{a}"; end end assert_raises(RuntimeError) { cached.slow_method_cache[1] } end - + def test_cache_access_should_actually_cache cached do def slow_method(a) @@ -37,7 +35,7 @@ class HashCachingTests < Test::Unit::TestCase assert_equal 11, cached.slow_method_cache[10] assert_equal 12, cached.slow_method_cache[11] end - + def test_cache_should_be_clearable cached do def slow_method(a) @@ -48,18 +46,18 @@ class HashCachingTests < Test::Unit::TestCase assert_equal 1, cached.slow_method_cache[:a] assert_equal 2, cached.slow_method_cache[:b] assert_equal 3, cached.slow_method_cache[:c] - + assert_equal 1, cached.slow_method_cache[:a] assert_equal 2, cached.slow_method_cache[:b] assert_equal 3, cached.slow_method_cache[:c] - + cached.slow_method_cache.clear - + assert_equal 4, cached.slow_method_cache[:a] assert_equal 5, cached.slow_method_cache[:b] assert_equal 6, cached.slow_method_cache[:c] end - + def test_deep_caches_should_work_too cached do def slow_method(a, b, c) @@ -70,12 +68,11 @@ class HashCachingTests < Test::Unit::TestCase assert_equal 7, cached.slow_method_cache[1][2][4] assert_equal 7, cached.slow_method_cache[1][2][4] assert_equal 7, cached.slow_method_cache[4][2][1] - + assert_equal({ 1 => {1 => {1 => 3}, 2 => {4 => 7}}, 4 => {2 => {1 => 7}}}, cached.slow_method_cache ) end - end diff --git a/activesupport/test/class_inheritable_attributes_test.rb b/activesupport/test/class_inheritable_attributes_test.rb index 36914e2bbf..54e533e964 100644 --- a/activesupport/test/class_inheritable_attributes_test.rb +++ b/activesupport/test/class_inheritable_attributes_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../lib/active_support/core_ext/class/inheritable_attributes' +require File.dirname(__FILE__) + '/abstract_unit' class ClassInheritableAttributesTest < Test::Unit::TestCase def setup diff --git a/activesupport/test/clean_logger_test.rb b/activesupport/test/clean_logger_test.rb index fabbc4af03..a15bfbca3b 100644 --- a/activesupport/test/clean_logger_test.rb +++ b/activesupport/test/clean_logger_test.rb @@ -1,7 +1,5 @@ -require 'test/unit' +require File.dirname(__FILE__) + '/abstract_unit' require 'stringio' -require File.dirname(__FILE__) + '/../lib/active_support/clean_logger' -require File.dirname(__FILE__) + '/../lib/active_support/core_ext/kernel.rb' unless defined? silence_warnings class CleanLoggerTest < Test::Unit::TestCase def setup diff --git a/activesupport/test/core_ext/array_ext_test.rb b/activesupport/test/core_ext/array_ext_test.rb index 492e59bf21..955b2b30c1 100644 --- a/activesupport/test/core_ext/array_ext_test.rb +++ b/activesupport/test/core_ext/array_ext_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support' +require File.dirname(__FILE__) + '/../abstract_unit' class ArrayExtToParamTests < Test::Unit::TestCase def test_string_array @@ -7,7 +6,7 @@ class ArrayExtToParamTests < Test::Unit::TestCase assert_equal 'hello/world', %w(hello world).to_param assert_equal 'hello/10', %w(hello 10).to_param end - + def test_number_array assert_equal '10/20', [10, 20].to_param end @@ -19,13 +18,13 @@ class ArrayExtToSentenceTests < Test::Unit::TestCase assert_equal "one", ['one'].to_sentence assert_equal "one and two", ['one', 'two'].to_sentence assert_equal "one, two, and three", ['one', 'two', 'three'].to_sentence - + end - + def test_to_sentence_with_connector assert_equal "one, two, and also three", ['one', 'two', 'three'].to_sentence(:connector => 'and also') end - + def test_to_sentence_with_skip_last_comma assert_equal "one, two, and three", ['one', 'two', 'three'].to_sentence(:skip_last_comma => false) end @@ -33,7 +32,7 @@ class ArrayExtToSentenceTests < Test::Unit::TestCase def test_two_elements assert_equal "one and two", ['one', 'two'].to_sentence end - + def test_one_element assert_equal "one", ['one'].to_sentence end @@ -46,7 +45,7 @@ class ArrayExtToSTests < Test::Unit::TestCase Class.new { def id() 2 end }.new, Class.new { def id() 3 end }.new ] - + assert_equal "null", [].to_s(:db) assert_equal "1,2,3", collection.to_s(:db) end @@ -87,16 +86,16 @@ class ArraySplitTests < Test::Unit::TestCase def test_split_with_empty_array assert_equal [[]], [].split(0) end - + def test_split_with_argument assert_equal [[1, 2], [4, 5]], [1, 2, 3, 4, 5].split(3) assert_equal [[1, 2, 3, 4, 5]], [1, 2, 3, 4, 5].split(0) end - + def test_split_with_block assert_equal [[1, 2], [4, 5], [7, 8], [10]], (1..10).to_a.split { |i| i % 3 == 0 } end - + def test_split_with_edge_values assert_equal [[], [2, 3, 4, 5]], [1, 2, 3, 4, 5].split(1) assert_equal [[1, 2, 3, 4], []], [1, 2, 3, 4, 5].split(5) @@ -124,9 +123,9 @@ class ArrayToXmlTests < Test::Unit::TestCase assert_equal "", xml.first(16) end - + def test_to_xml_with_options - xml = [ + xml = [ { :name => "David", :street_address => "Paulina" }, { :name => "Jason", :street_address => "Evergreen" } ].to_xml(:skip_instruct => true, :skip_types => true, :indent => 0) @@ -138,7 +137,7 @@ class ArrayToXmlTests < Test::Unit::TestCase end def test_to_xml_with_dasherize_false - xml = [ + xml = [ { :name => "David", :street_address => "Paulina" }, { :name => "Jason", :street_address => "Evergreen" } ].to_xml(:skip_instruct => true, :skip_types => true, :indent => 0, :dasherize => false) @@ -148,7 +147,7 @@ class ArrayToXmlTests < Test::Unit::TestCase end def test_to_xml_with_dasherize_true - xml = [ + xml = [ { :name => "David", :street_address => "Paulina" }, { :name => "Jason", :street_address => "Evergreen" } ].to_xml(:skip_instruct => true, :skip_types => true, :indent => 0, :dasherize => true) diff --git a/activesupport/test/core_ext/blank_test.rb b/activesupport/test/core_ext/blank_test.rb index ff7345e774..0fce470fd5 100644 --- a/activesupport/test/core_ext/blank_test.rb +++ b/activesupport/test/core_ext/blank_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/object' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/blank' +require File.dirname(__FILE__) + '/../abstract_unit' class BlankTest < Test::Unit::TestCase BLANK = [nil, false, '', ' ', " \n\t \r ", [], {}] diff --git a/activesupport/test/core_ext/cgi_ext_test.rb b/activesupport/test/core_ext/cgi_ext_test.rb index ec9bb41334..229715c28e 100644 --- a/activesupport/test/core_ext/cgi_ext_test.rb +++ b/activesupport/test/core_ext/cgi_ext_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/cgi' +require File.dirname(__FILE__) + '/../abstract_unit' class EscapeSkippingSlashesTest < Test::Unit::TestCase def test_array diff --git a/activesupport/test/core_ext/class_test.rb b/activesupport/test/core_ext/class_test.rb index 6e956fa45d..bcb96f5e33 100644 --- a/activesupport/test/core_ext/class_test.rb +++ b/activesupport/test/core_ext/class_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/class' +require File.dirname(__FILE__) + '/../abstract_unit' class A end diff --git a/activesupport/test/core_ext/date_ext_test.rb b/activesupport/test/core_ext/date_ext_test.rb index 63a0cf5e6d..71c2ed1f3a 100644 --- a/activesupport/test/core_ext/date_ext_test.rb +++ b/activesupport/test/core_ext/date_ext_test.rb @@ -1,17 +1,16 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/date' +require File.dirname(__FILE__) + '/../abstract_unit' class DateExtCalculationsTest < Test::Unit::TestCase def test_to_s assert_equal "21 Feb", Date.new(2005, 2, 21).to_s(:short) assert_equal "February 21, 2005", Date.new(2005, 2, 21).to_s(:long) end - + def test_to_time assert_equal Time.local(2005, 2, 21), Date.new(2005, 2, 21).to_time end - + def test_to_date assert_equal Date.new(2005, 2, 21), Date.new(2005, 2, 21).to_date end -end \ No newline at end of file +end diff --git a/activesupport/test/core_ext/enumerable_test.rb b/activesupport/test/core_ext/enumerable_test.rb index 3d116e8d93..3180755e5f 100644 --- a/activesupport/test/core_ext/enumerable_test.rb +++ b/activesupport/test/core_ext/enumerable_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/symbol' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/enumerable' +require File.dirname(__FILE__) + '/../abstract_unit' Payment = Struct.new(:price) class SummablePayment < Payment @@ -12,7 +10,7 @@ class EnumerableTests < Test::Unit::TestCase names = %w(marcel sam david jeremy) klass = Class.new klass.send(:attr_accessor, :name) - objects = (1..50).inject([]) do |people,| + objects = (1..50).inject([]) do |people,| p = klass.new p.name = names.sort_by { rand }.first people << p diff --git a/activesupport/test/core_ext/exception_test.rb b/activesupport/test/core_ext/exception_test.rb index 9b7afb1913..952ac04e2e 100644 --- a/activesupport/test/core_ext/exception_test.rb +++ b/activesupport/test/core_ext/exception_test.rb @@ -1,33 +1,32 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/exception' +require File.dirname(__FILE__) + '/../abstract_unit' class ExceptionExtTests < Test::Unit::TestCase - + def get_exception(cls = RuntimeError, msg = nil, trace = nil) begin raise cls, msg, (trace || caller) rescue Object => e return e end end - + def setup Exception::TraceSubstitutions.clear end - + def test_clean_backtrace Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, 'RAWR', ['bhal.rb', 'rawh hid den stuff is not here', 'almost all'] assert_kind_of Exception, e assert_equal ['bhal.rb', 'rawh hid den stuff is not here', 'almost all'], e.clean_backtrace end - + def test_app_backtrace Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, 'RAWR', ['bhal.rb', ' vendor/file.rb some stuff', 'almost all'] assert_kind_of Exception, e assert_equal ['bhal.rb', 'almost all'], e.application_backtrace end - + def test_app_backtrace_with_before Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, 'RAWR', ['vendor/file.rb some stuff', 'bhal.rb', ' vendor/file.rb some stuff', 'almost all'] @@ -41,21 +40,21 @@ class ExceptionExtTests < Test::Unit::TestCase assert_kind_of Exception, e assert_equal ['vendor/file.rb some stuff', ' vendor/file.rb some stuff'], e.framework_backtrace end - + def test_backtrace_should_clean_paths Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, 'RAWR', ['a/b/c/../d/../../../bhal.rb', 'rawh hid den stuff is not here', 'almost all'] assert_kind_of Exception, e assert_equal ['bhal.rb', 'rawh hid den stuff is not here', 'almost all'], e.clean_backtrace end - + def test_clean_message_should_clean_paths Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, "I dislike a/z/x/../../b/y/../c", ['a/b/c/../d/../../../bhal.rb', 'rawh hid den stuff is not here', 'almost all'] assert_kind_of Exception, e assert_equal "I dislike a/b/c", e.clean_message end - + def test_app_trace_should_be_empty_when_no_app_frames Exception::TraceSubstitutions << [/\s*hidden.*/, ''] e = get_exception RuntimeError, 'RAWR', ['vendor/file.rb some stuff', 'generated/bhal.rb', ' vendor/file.rb some stuff', 'generated/almost all'] diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb index 28b4304500..2afdf95c4d 100644 --- a/activesupport/test/core_ext/hash_ext_test.rb +++ b/activesupport/test/core_ext/hash_ext_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support' +require File.dirname(__FILE__) + '/../abstract_unit' class HashExtTest < Test::Unit::TestCase def setup diff --git a/activesupport/test/core_ext/integer_ext_test.rb b/activesupport/test/core_ext/integer_ext_test.rb index 4435bc79d3..6d6b796865 100644 --- a/activesupport/test/core_ext/integer_ext_test.rb +++ b/activesupport/test/core_ext/integer_ext_test.rb @@ -1,11 +1,10 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/integer' +require File.dirname(__FILE__) + '/../abstract_unit' class IntegerExtTest < Test::Unit::TestCase def test_even assert [ -2, 0, 2, 4 ].all? { |i| i.even? } assert ![ -1, 1, 3 ].all? { |i| i.even? } - + assert 22953686867719691230002707821868552601124472329079.odd? assert !22953686867719691230002707821868552601124472329079.even? assert 22953686867719691230002707821868552601124472329080.even? @@ -17,7 +16,7 @@ class IntegerExtTest < Test::Unit::TestCase assert [ -1, 1, 3 ].all? { |i| i.odd? } assert 1000000000000000000000000000000000000000000000000000000001.odd? end - + def test_multiple_of [ -7, 0, 7, 14 ].each { |i| assert i.multiple_of?(7) } [ -7, 7, 14 ].each { |i| assert ! i.multiple_of?(6) } diff --git a/activesupport/test/core_ext/kernel_test.rb b/activesupport/test/core_ext/kernel_test.rb index 44e3b87241..92d9047061 100644 --- a/activesupport/test/core_ext/kernel_test.rb +++ b/activesupport/test/core_ext/kernel_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/kernel' unless defined? silence_warnings +require File.dirname(__FILE__) + '/../abstract_unit' class KernelTest < Test::Unit::TestCase def test_silence_warnings diff --git a/activesupport/test/core_ext/load_error_tests.rb b/activesupport/test/core_ext/load_error_tests.rb index 0b24c47112..34c5cb4cda 100644 --- a/activesupport/test/core_ext/load_error_tests.rb +++ b/activesupport/test/core_ext/load_error_tests.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/load_error' +require File.dirname(__FILE__) + '/../abstract_unit' class TestMissingSourceFile < Test::Unit::TestCase def test_with_require @@ -14,4 +13,4 @@ class TestMissingSourceFile < Test::Unit::TestCase assert_equal 'nor/this/one.rb', e.path end end -end \ No newline at end of file +end diff --git a/activesupport/test/core_ext/module_test.rb b/activesupport/test/core_ext/module_test.rb index 66e4afc918..5507ef3120 100644 --- a/activesupport/test/core_ext/module_test.rb +++ b/activesupport/test/core_ext/module_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/class' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/module' +require File.dirname(__FILE__) + '/../abstract_unit' module One end @@ -67,33 +65,33 @@ class ModuleTest < Test::Unit::TestCase assert_equal "Paulina", david.street assert_equal "Chicago", david.city end - + def test_delegation_down_hierarchy david = Someone.new("David", Somewhere.new("Paulina", "Chicago")) assert_equal "CHICAGO", david.upcase end - + def test_delegation_to_instance_variable david = Name.new("David", "Hansson") assert_equal "DAVID HANSSON", david.upcase end - + def test_missing_delegation_target assert_raises(ArgumentError) { eval($nowhere) } assert_raises(ArgumentError) { eval($noplace) } end - + def test_parent assert_equal Yz::Zy, Yz::Zy::Cd.parent assert_equal Yz, Yz::Zy.parent assert_equal Object, Yz.parent end - + def test_parents assert_equal [Yz::Zy, Yz, Object], Yz::Zy::Cd.parents assert_equal [Yz, Object], Yz::Zy.parents end - + def test_as_load_path assert_equal 'yz/zy', Yz::Zy.as_load_path assert_equal 'yz', Yz.as_load_path @@ -156,7 +154,7 @@ class MethodAliasingTest < Test::Unit::TestCase FooClassWithBarMethod.send(:include, BarMethodAliaser) FooClassWithBarMethod.alias_method_chain :quux!, :baz assert @instance.respond_to?(:quux_with_baz!) - + assert_equal 'quux_with_baz!', @instance.quux! assert_equal 'quux', @instance.quux_without_baz! end @@ -166,11 +164,11 @@ class MethodAliasingTest < Test::Unit::TestCase FooClassWithBarMethod.send(:define_method, 'quux?', Proc.new { true }) assert !@instance.respond_to?(:quux_with_baz!) assert !@instance.respond_to?(:quux_with_baz?) - + FooClassWithBarMethod.send(:include, BarMethodAliaser) FooClassWithBarMethod.alias_method_chain :quux!, :baz FooClassWithBarMethod.alias_method_chain :quux?, :baz - + assert @instance.respond_to?(:quux_with_baz!) assert @instance.respond_to?(:quux_with_baz?) assert_equal 'quux_with_baz!', @instance.quux! diff --git a/activesupport/test/core_ext/numeric_ext_test.rb b/activesupport/test/core_ext/numeric_ext_test.rb index 828276d46a..1d04cf7fe8 100644 --- a/activesupport/test/core_ext/numeric_ext_test.rb +++ b/activesupport/test/core_ext/numeric_ext_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/numeric' +require File.dirname(__FILE__) + '/../abstract_unit' class NumericExtTimeTest < Test::Unit::TestCase def setup diff --git a/activesupport/test/core_ext/object_and_class_ext_test.rb b/activesupport/test/core_ext/object_and_class_ext_test.rb index a1e5ea79db..73121ca966 100644 --- a/activesupport/test/core_ext/object_and_class_ext_test.rb +++ b/activesupport/test/core_ext/object_and_class_ext_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/object' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/class' +require File.dirname(__FILE__) + '/../abstract_unit' class ClassA; end class ClassB < ClassA; end @@ -41,24 +39,24 @@ class ClassExtTest < Test::Unit::TestCase assert !defined?(ClassC) assert !defined?(ClassD) end - + def test_subclasses_of assert_equal [ClassJ], Object.subclasses_of(ClassI) ClassI.remove_subclasses assert_equal [], Object.subclasses_of(ClassI) end - + def test_subclasses_of_should_find_nested_classes assert Object.subclasses_of(ClassK).include?(Nested::ClassL) end - + def test_subclasses_of_should_not_return_removed_classes # First create the removed class old_class = Nested.send :remove_const, :ClassL new_class = Class.new(ClassK) Nested.const_set :ClassL, new_class assert_equal "Nested::ClassL", new_class.name # Sanity check - + subclasses = Object.subclasses_of(ClassK) assert subclasses.include?(new_class) assert ! subclasses.include?(old_class) @@ -75,23 +73,23 @@ class ObjectTests < Test::Unit::TestCase suppress(LoadError, ArgumentError) { raise LoadError } suppress(LoadError, ArgumentError) { raise ArgumentError } end - + def test_extended_by foo = Foo.new assert foo.extended_by.include?(Bar) foo.extend(Baz) assert ([Bar, Baz] - foo.extended_by).empty?, "Expected Bar, Baz in #{foo.extended_by.inspect}" end - + def test_extend_with_included_modules_from foo, object = Foo.new, Object.new assert !object.respond_to?(:bar) assert !object.respond_to?(:baz) - + object.extend_with_included_modules_from(foo) assert object.respond_to?(:bar) assert !object.respond_to?(:baz) - + foo.extend(Baz) object.extend_with_included_modules_from(foo) assert object.respond_to?(:bar) @@ -113,17 +111,17 @@ class ObjectInstanceVariableTest < Test::Unit::TestCase assert_equal %w(@bar @baz), @dest.instance_variables.sort %w(@bar @baz).each do |name| - assert_equal @source.instance_variable_get(name).object_id, + assert_equal @source.instance_variable_get(name).object_id, @dest.instance_variable_get(name).object_id end end - + def test_copy_instance_variables_from_with_explicit_excludes @dest.copy_instance_variables_from(@source, ['@baz']) assert !@dest.instance_variables.include?('@baz') assert_equal 'bar', @dest.instance_variable_get('@bar') end - + def test_copy_instance_variables_automatically_excludes_protected_instance_variables @source.instance_variable_set(:@quux, 'quux') class << @source @@ -131,23 +129,23 @@ class ObjectInstanceVariableTest < Test::Unit::TestCase ['@bar', :@quux] end end - + @dest.copy_instance_variables_from(@source) assert !@dest.instance_variables.include?('@bar') assert !@dest.instance_variables.include?('@quux') assert_equal 'baz', @dest.instance_variable_get('@baz') end - + def test_instance_values object = Object.new object.instance_variable_set :@a, 1 object.instance_variable_set :@b, 2 assert_equal({'a' => 1, 'b' => 2}, object.instance_values) end - + def test_instance_exec_passes_arguments_to_block block = Proc.new { |value| [self, value] } assert_equal %w(hello goodbye), 'hello'.instance_exec('goodbye', &block) end - + end diff --git a/activesupport/test/core_ext/pathname_test.rb b/activesupport/test/core_ext/pathname_test.rb index 3f49b665b2..2933e2d610 100644 --- a/activesupport/test/core_ext/pathname_test.rb +++ b/activesupport/test/core_ext/pathname_test.rb @@ -1,12 +1,9 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/pathname' +require File.dirname(__FILE__) + '/../abstract_unit' class TestPathname < Test::Unit::TestCase - def test_clean_within assert_equal "Hi", Pathname.clean_within("Hi") assert_equal "Hi", Pathname.clean_within("Hi/a/b/../..") assert_equal "Hello\nWorld", Pathname.clean_within("Hello/a/b/../..\na/b/../../World/c/..") end - end diff --git a/activesupport/test/core_ext/proc_test.rb b/activesupport/test/core_ext/proc_test.rb index ca91a257b7..f63cd82d22 100644 --- a/activesupport/test/core_ext/proc_test.rb +++ b/activesupport/test/core_ext/proc_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/proc' +require File.dirname(__FILE__) + '/../abstract_unit' class ProcTests < Test::Unit::TestCase def test_bind_returns_method_with_changed_self @@ -9,4 +8,4 @@ class ProcTests < Test::Unit::TestCase assert_not_equal block, bound_block assert_equal "hello", bound_block.call end -end \ No newline at end of file +end diff --git a/activesupport/test/core_ext/range_ext_test.rb b/activesupport/test/core_ext/range_ext_test.rb index 49cbb10be6..e8890ac835 100644 --- a/activesupport/test/core_ext/range_ext_test.rb +++ b/activesupport/test/core_ext/range_ext_test.rb @@ -1,7 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/date' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/time' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/range' +require File.dirname(__FILE__) + '/../abstract_unit' class RangeTest < Test::Unit::TestCase def test_to_s_from_dates diff --git a/activesupport/test/core_ext/string_ext_test.rb b/activesupport/test/core_ext/string_ext_test.rb index e09eb02188..c7c4d1a05f 100644 --- a/activesupport/test/core_ext/string_ext_test.rb +++ b/activesupport/test/core_ext/string_ext_test.rb @@ -1,7 +1,5 @@ -require 'test/unit' require 'date' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/string' -require File.dirname(__FILE__) + '/../inflector_test' unless defined? InflectorTest +require File.dirname(__FILE__) + '/../abstract_unit' class StringInflectionsTest < Test::Unit::TestCase def test_pluralize @@ -28,7 +26,7 @@ class StringInflectionsTest < Test::Unit::TestCase InflectorTest::CamelToUnderscore.each do |camel, underscore| assert_equal(underscore, camel.underscore) end - + assert_equal "html_tidy", "HTMLTidy".underscore assert_equal "html_tidy_generator", "HTMLTidyGenerator".underscore end @@ -58,26 +56,26 @@ class StringInflectionsTest < Test::Unit::TestCase assert_equal(class_name, table_name.classify) end end - + def test_string_to_time assert_equal Time.utc(2005, 2, 27, 23, 50), "2005-02-27 23:50".to_time assert_equal Time.local(2005, 2, 27, 23, 50), "2005-02-27 23:50".to_time(:local) assert_equal Date.new(2005, 2, 27), "2005-02-27".to_date end - + def test_access s = "hello" assert_equal "h", s.at(0) - + assert_equal "llo", s.from(2) assert_equal "hel", s.to(2) - + assert_equal "h", s.first assert_equal "he", s.first(2) assert_equal "o", s.last assert_equal "llo", s.last(3) - + assert_equal 'x', 'x'.first assert_equal 'x', 'x'.first(4) @@ -86,14 +84,14 @@ class StringInflectionsTest < Test::Unit::TestCase end def test_starts_ends_with - s = "hello" - assert s.starts_with?('h') - assert s.starts_with?('hel') - assert !s.starts_with?('el') + s = "hello" + assert s.starts_with?('h') + assert s.starts_with?('hel') + assert !s.starts_with?('el') - assert s.ends_with?('o') - assert s.ends_with?('lo') - assert !s.ends_with?('el') + assert s.ends_with?('o') + assert s.ends_with?('lo') + assert !s.ends_with?('el') end def test_each_char_with_utf8_string_when_kcode_is_utf8 diff --git a/activesupport/test/core_ext/symbol_test.rb b/activesupport/test/core_ext/symbol_test.rb index b30bd0b985..943133496a 100644 --- a/activesupport/test/core_ext/symbol_test.rb +++ b/activesupport/test/core_ext/symbol_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/symbol' +require File.dirname(__FILE__) + '/../abstract_unit' class SymbolTests < Test::Unit::TestCase def test_to_proc diff --git a/activesupport/test/core_ext/time_ext_test.rb b/activesupport/test/core_ext/time_ext_test.rb index dee0a1f84e..ab76348967 100644 --- a/activesupport/test/core_ext/time_ext_test.rb +++ b/activesupport/test/core_ext/time_ext_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/numeric' -require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/time' +require File.dirname(__FILE__) + '/../abstract_unit' class TimeExtCalculationsTest < Test::Unit::TestCase def test_seconds_since_midnight @@ -19,35 +17,35 @@ class TimeExtCalculationsTest < Test::Unit::TestCase assert_equal Time.local(2005,11,28), Time.local(2005,12,01,0,0,0).beginning_of_week #thursday assert_equal Time.local(2005,11,28), Time.local(2005,12,02,0,0,0).beginning_of_week #friday assert_equal Time.local(2005,11,28), Time.local(2005,12,03,0,0,0).beginning_of_week #saturday - assert_equal Time.local(2005,11,28), Time.local(2005,12,04,0,0,0).beginning_of_week #sunday + assert_equal Time.local(2005,11,28), Time.local(2005,12,04,0,0,0).beginning_of_week #sunday end - + def test_beginning_of_day assert_equal Time.local(2005,2,4,0,0,0), Time.local(2005,2,4,10,10,10).beginning_of_day end - + def test_beginning_of_month assert_equal Time.local(2005,2,1,0,0,0), Time.local(2005,2,22,10,10,10).beginning_of_month end - + def test_beginning_of_quarter assert_equal Time.local(2005,1,1,0,0,0), Time.local(2005,2,15,10,10,10).beginning_of_quarter assert_equal Time.local(2005,1,1,0,0,0), Time.local(2005,1,1,0,0,0).beginning_of_quarter assert_equal Time.local(2005,10,1,0,0,0), Time.local(2005,12,31,10,10,10).beginning_of_quarter assert_equal Time.local(2005,4,1,0,0,0), Time.local(2005,6,30,23,59,59).beginning_of_quarter end - + def test_end_of_month assert_equal Time.local(2005,3,31,0,0,0), Time.local(2005,3,20,10,10,10).end_of_month assert_equal Time.local(2005,2,28,0,0,0), Time.local(2005,2,20,10,10,10).end_of_month assert_equal Time.local(2005,4,30,0,0,0), Time.local(2005,4,20,10,10,10).end_of_month - + end - + def test_beginning_of_year assert_equal Time.local(2005,1,1,0,0,0), Time.local(2005,2,22,10,10,10).beginning_of_year end - + def test_months_ago assert_equal Time.local(2005,5,5,10), Time.local(2005,6,5,10,0,0).months_ago(1) assert_equal Time.local(2004,11,5,10), Time.local(2005,6,5,10,0,0).months_ago(7) @@ -65,31 +63,31 @@ class TimeExtCalculationsTest < Test::Unit::TestCase assert_equal Time.local(2006,6,5,10), Time.local(2005,6,5,10,0,0).months_since(12) assert_equal Time.local(2007,6,5,10), Time.local(2005,6,5,10,0,0).months_since(24) end - + def test_years_ago assert_equal Time.local(2004,6,5,10), Time.local(2005,6,5,10,0,0).years_ago(1) assert_equal Time.local(1998,6,5,10), Time.local(2005,6,5,10,0,0).years_ago(7) end - + def test_years_since assert_equal Time.local(2006,6,5,10), Time.local(2005,6,5,10,0,0).years_since(1) assert_equal Time.local(2012,6,5,10), Time.local(2005,6,5,10,0,0).years_since(7) # Failure because of size limitations of numeric? - # assert_equal Time.local(2182,6,5,10), Time.local(2005,6,5,10,0,0).years_since(177) + # assert_equal Time.local(2182,6,5,10), Time.local(2005,6,5,10,0,0).years_since(177) end def test_last_year assert_equal Time.local(2004,6,5,10), Time.local(2005,6,5,10,0,0).last_year end - + def test_ago assert_equal Time.local(2005,2,22,10,10,9), Time.local(2005,2,22,10,10,10).ago(1) assert_equal Time.local(2005,2,22,9,10,10), Time.local(2005,2,22,10,10,10).ago(3600) assert_equal Time.local(2005,2,20,10,10,10), Time.local(2005,2,22,10,10,10).ago(86400*2) assert_equal Time.local(2005,2,20,9,9,45), Time.local(2005,2,22,10,10,10).ago(86400*2 + 3600 + 25) - end - + end + def test_since assert_equal Time.local(2005,2,22,10,10,11), Time.local(2005,2,22,10,10,10).since(1) assert_equal Time.local(2005,2,22,11,10,10), Time.local(2005,2,22,10,10,10).since(3600) @@ -101,12 +99,12 @@ class TimeExtCalculationsTest < Test::Unit::TestCase assert_equal Time.local(2005,2,21,10,10,10), Time.local(2005,2,22,10,10,10).yesterday assert_equal Time.local(2005,2,28,10,10,10), Time.local(2005,3,2,10,10,10).yesterday.yesterday end - + def test_tomorrow assert_equal Time.local(2005,2,23,10,10,10), Time.local(2005,2,22,10,10,10).tomorrow assert_equal Time.local(2005,3,2,10,10,10), Time.local(2005,2,28,10,10,10).tomorrow.tomorrow end - + def test_change assert_equal Time.local(2006,2,22,15,15,10), Time.local(2005,2,22,15,15,10).change(:year => 2006) assert_equal Time.local(2005,6,22,15,15,10), Time.local(2005,2,22,15,15,10).change(:month => 6) @@ -120,7 +118,7 @@ class TimeExtCalculationsTest < Test::Unit::TestCase assert_equal Time.local(2005,1,2,11,22, 7, 0), Time.local(2005,1,2,11,22,33,44).change(:sec => 7) assert_equal Time.local(2005,1,2,11,22,33, 8), Time.local(2005,1,2,11,22,33,44).change(:usec => 8) end - + def test_utc_change assert_equal Time.utc(2006,2,22,15,15,10), Time.utc(2005,2,22,15,15,10).change(:year => 2006) assert_equal Time.utc(2005,6,22,15,15,10), Time.utc(2005,2,22,15,15,10).change(:month => 6) @@ -136,7 +134,7 @@ class TimeExtCalculationsTest < Test::Unit::TestCase assert_equal Time.local(2012,9,28,15,15,10), Time.local(2005,2,28,15,15,10).advance(:years => 7, :months => 7) assert_equal Time.local(2013,10,3,15,15,10), Time.local(2005,2,28,15,15,10).advance(:years => 7, :months => 19, :days => 5) end - + def test_utc_plus assert_equal Time.utc(2006,2,22,15,15,10), Time.utc(2005,2,22,15,15,10).advance(:years => 1) assert_equal Time.utc(2005,6,22,15,15,10), Time.utc(2005,2,22,15,15,10).advance(:months => 4) @@ -159,11 +157,11 @@ class TimeExtCalculationsTest < Test::Unit::TestCase time = Time.utc(2005, 2, 21, 17, 44, 30) assert_equal "Mon, 21 Feb 2005 17:44:30 +0000", time.to_s(:rfc822) end - + def test_to_date assert_equal Date.new(2005, 2, 21), Time.local(2005, 2, 21, 17, 44, 30).to_date end - + def test_to_time assert_equal Time.local(2005, 2, 21, 17, 44, 30), Time.local(2005, 2, 21, 17, 44, 30).to_time end @@ -202,7 +200,7 @@ class TimeExtCalculationsTest < Test::Unit::TestCase def test_last_month_on_31st assert_equal Time.local(2004, 2, 29), Time.local(2004, 3, 31).last_month end - + def test_xmlschema_is_available assert_nothing_raised { Time.now.xmlschema } end diff --git a/activesupport/test/dependencies_test.rb b/activesupport/test/dependencies_test.rb index f5651eddcc..397548973a 100644 --- a/activesupport/test/dependencies_test.rb +++ b/activesupport/test/dependencies_test.rb @@ -1,13 +1,11 @@ -require 'test/unit' -$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib/active_support/' -require 'core_ext/string' -require 'dependencies' +require File.dirname(__FILE__) + '/abstract_unit' +#require 'dependencies' class DependenciesTest < Test::Unit::TestCase def teardown Dependencies.clear end - + def with_loading(from_dir = nil) prior_path = $LOAD_PATH.clone $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/#{from_dir}" if from_dir @@ -103,11 +101,11 @@ class DependenciesTest < Test::Unit::TestCase assert_equal 2, $mutual_dependencies_count end end - + def test_as_load_path assert_equal '', DependenciesTest.as_load_path end - + def test_module_loading with_loading 'autoloading_fixtures' do assert_kind_of Module, A @@ -116,7 +114,7 @@ class DependenciesTest < Test::Unit::TestCase assert_kind_of Class, A::C::E::F end end - + def test_non_existing_const_raises_name_error with_loading 'autoloading_fixtures' do assert_raises(NameError) { DoesNotExist } @@ -125,21 +123,21 @@ class DependenciesTest < Test::Unit::TestCase assert_raises(NameError) { A::B::DoesNotExist } end end - + def test_directories_should_manifest_as_modules with_loading 'autoloading_fixtures' do assert_kind_of Module, ModuleFolder Object.send :remove_const, :ModuleFolder end end - + def test_nested_class_access with_loading 'autoloading_fixtures' do assert_kind_of Class, ModuleFolder::NestedClass Object.send :remove_const, :ModuleFolder end end - + def test_nested_class_can_access_sibling with_loading 'autoloading_fixtures' do sibling = ModuleFolder::NestedClass.class_eval "NestedSibling" @@ -148,7 +146,7 @@ class DependenciesTest < Test::Unit::TestCase Object.send :remove_const, :ModuleFolder end end - + def failing_test_access_thru_and_upwards_fails with_loading 'autoloading_fixtures' do assert ! defined?(ModuleFolder) @@ -157,5 +155,4 @@ class DependenciesTest < Test::Unit::TestCase Object.send :remove_const, :ModuleFolder end end - end diff --git a/activesupport/test/inflector_test.rb b/activesupport/test/inflector_test.rb index e1676281ad..f8a665c1ed 100644 --- a/activesupport/test/inflector_test.rb +++ b/activesupport/test/inflector_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../lib/active_support/inflector' unless defined? Inflector +require File.dirname(__FILE__) + '/abstract_unit' module Ace module Base @@ -63,14 +62,14 @@ class InflectorTest < Test::Unit::TestCase "old_news" => "old_news", "news" => "news", - + "series" => "series", "species" => "species", "quiz" => "quizzes", "perspective" => "perspectives", - + "ox" => "oxen", "photo" => "photos", "buffalo" => "buffaloes", @@ -79,7 +78,7 @@ class InflectorTest < Test::Unit::TestCase "elf" => "elves", "information" => "information", "equipment" => "equipment", - "bus" => "buses", + "bus" => "buses", "status" => "statuses", "status_code" => "status_codes", "mouse" => "mice", @@ -90,17 +89,17 @@ class InflectorTest < Test::Unit::TestCase "virus" => "viri", "alias" => "aliases", "portfolio" => "portfolios", - + "vertex" => "vertices", "matrix" => "matrices", - + "axis" => "axes", "testis" => "testes", "crisis" => "crises", - + "rice" => "rice", "shoe" => "shoes", - + "horse" => "horses", "prize" => "prizes", "edge" => "edges" @@ -117,16 +116,16 @@ class InflectorTest < Test::Unit::TestCase "product" => "product", "special_guest" => "specialGuest", "application_controller" => "applicationController", - "area51_controller" => "area51Controller" + "area51_controller" => "area51Controller" } - + CamelToUnderscoreWithoutReverse = { "HTMLTidy" => "html_tidy", "HTMLTidyGenerator" => "html_tidy_generator", "FreeBSD" => "free_bsd", "HTML" => "html", } - + CamelWithModuleToUnderscoreWithSlash = { "Admin::Product" => "admin/product", "Users::Commission::Department" => "users/commission/department", @@ -142,12 +141,12 @@ class InflectorTest < Test::Unit::TestCase "Person" => "personid", "MyApplication::Billing::Account" => "accountid" } - + ClassNameToTableName = { "PrimarySpokesman" => "primary_spokesmen", "NodeChild" => "node_children" } - + UnderscoreToHuman = { "employee_salary" => "Employee salary", "employee_id" => "Employee", @@ -194,7 +193,7 @@ class InflectorTest < Test::Unit::TestCase "1000" => "1000th", "1001" => "1001st" } - + UnderscoresToDashes = { "street" => "street", "street_address" => "street-address", @@ -246,7 +245,7 @@ class InflectorTest < Test::Unit::TestCase assert_equal(camel, Inflector.camelize(underscore)) end end - + def test_underscore_with_slashes CamelWithModuleToUnderscoreWithSlash.each do |camel, underscore| assert_equal(underscore, Inflector.underscore(camel)) @@ -284,13 +283,13 @@ class InflectorTest < Test::Unit::TestCase assert_equal 'FooBar', Inflector.classify(:foo_bar) end end - + def test_humanize UnderscoreToHuman.each do |underscore, human| assert_equal(human, Inflector.humanize(underscore)) end end - + def test_constantize assert_equal Ace::Base::Case, Inflector.constantize("Ace::Base::Case") assert_equal Ace::Base::Case, Inflector.constantize("::Ace::Base::Case") @@ -299,7 +298,7 @@ class InflectorTest < Test::Unit::TestCase assert_raises(NameError) { Inflector.constantize("UnknownClass") } assert_raises(NameError) { Inflector.constantize("An invalid string") } end - + def test_constantize_doesnt_look_in_parent assert_raises(NameError) { Inflector.constantize("Ace::Base::InflectorTest") } end diff --git a/activesupport/test/json.rb b/activesupport/test/json.rb index fc4d7705b1..d9c3cebf32 100644 --- a/activesupport/test/json.rb +++ b/activesupport/test/json.rb @@ -1,6 +1,4 @@ -$:.unshift File.dirname(__FILE__) + '/../lib' -require 'active_support' -require 'test/unit' +require File.dirname(__FILE__) + '/abstract_unit' class Foo def initialize(a, b) @@ -14,15 +12,15 @@ class TestJSONEmitters < Test::Unit::TestCase NilTests = [[ nil, %(null) ]] NumericTests = [[ 1, %(1) ], [ 2.5, %(2.5) ]] - + StringTests = [[ 'this is the string', %("this is the string") ], [ 'a "string" with quotes', %("a \\"string\\" with quotes") ]] - + ArrayTests = [[ ['a', 'b', 'c'], %([\"a\", \"b\", \"c\"]) ], [ [1, 'a', :b, nil, false], %([1, \"a\", \"b\", null, false]) ]] - + HashTests = [[ {:a => :b, :c => :d}, %({\"c\": \"d\", \"a\": \"b\"}) ]] - + SymbolTests = [[ :a, %("a") ], [ :this, %("this") ], [ :"a b", %("a b") ]] @@ -40,7 +38,7 @@ class TestJSONEmitters < Test::Unit::TestCase end end end - + def test_utf8_string_encoded_properly_when_kcode_is_utf8 old_kcode, $KCODE = $KCODE, 'UTF8' assert_equal '"\\u20ac2.99"', '€2.99'.to_json @@ -48,7 +46,7 @@ class TestJSONEmitters < Test::Unit::TestCase ensure $KCODE = old_kcode end - + def test_exception_raised_when_encoding_circular_reference a = [1] a << a diff --git a/activesupport/test/option_merger_test.rb b/activesupport/test/option_merger_test.rb index e97a4f918b..db32d4f6c1 100644 --- a/activesupport/test/option_merger_test.rb +++ b/activesupport/test/option_merger_test.rb @@ -1,25 +1,20 @@ -require 'test/unit' - -unless defined? ActiveSupport::OptionMerger - require File.dirname(__FILE__) + '/../lib/active_support/option_merger' - require File.dirname(__FILE__) + '/../lib/active_support/core_ext/object' -end +require File.dirname(__FILE__) + '/abstract_unit' class OptionMergerTest < Test::Unit::TestCase def setup @options = {:hello => 'world'} end - + def test_method_with_options_merges_options_when_options_are_present local_options = {:cool => true} - + with_options(@options) do |o| assert_equal local_options, method_with_options(local_options) - assert_equal @options.merge(local_options), + assert_equal @options.merge(local_options), o.method_with_options(local_options) end end - + def test_method_with_options_appends_options_when_options_are_missing with_options(@options) do |o| assert_equal Hash.new, method_with_options @@ -30,10 +25,10 @@ class OptionMergerTest < Test::Unit::TestCase def test_method_with_options_allows_to_overwrite_options local_options = {:hello => 'moon'} assert_equal @options.keys, local_options.keys - + with_options(@options) do |o| assert_equal local_options, method_with_options(local_options) - assert_equal @options.merge(local_options), + assert_equal @options.merge(local_options), o.method_with_options(local_options) assert_equal local_options, o.method_with_options(local_options) end diff --git a/activesupport/test/ordered_options_test.rb b/activesupport/test/ordered_options_test.rb index 05bd5ef932..903c730ce4 100644 --- a/activesupport/test/ordered_options_test.rb +++ b/activesupport/test/ordered_options_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' - -require File.dirname(__FILE__) + '/../lib/active_support/ordered_options' +require File.dirname(__FILE__) + '/abstract_unit' class OrderedHashTest < Test::Unit::TestCase def setup @@ -8,19 +6,19 @@ class OrderedHashTest < Test::Unit::TestCase @values = %w( 000099 009900 aa0000 cc0066 cc6633 ) @ordered_hash = ActiveSupport::OrderedHash.new(@keys.zip(@values)) end - + def test_order assert_equal @keys, @ordered_hash.keys assert_equal @values, @ordered_hash.values end - + def test_access assert @keys.zip(@values).all? { |k, v| @ordered_hash[k] == v } end - + def test_assignment key, value = 'purple', '5422a8' - + @ordered_hash[key] = value assert_equal @keys.length + 1, @ordered_hash.length assert_equal key, @ordered_hash.keys.last @@ -35,7 +33,7 @@ class OrderedOptionsTest < Test::Unit::TestCase assert_nil a[:not_set] - a[:allow_concurreny] = true + a[:allow_concurreny] = true assert_equal 1, a.size assert a[:allow_concurreny] @@ -47,27 +45,27 @@ class OrderedOptionsTest < Test::Unit::TestCase assert_equal 2, a.size assert_equal 56, a[:else_where] end - + def test_looping a = OrderedOptions.new - a[:allow_concurreny] = true + a[:allow_concurreny] = true a["else_where"] = 56 - + test = [[:allow_concurreny, true], [:else_where, 56]] - + a.each_with_index do |(key, value), index| assert_equal test[index].first, key assert_equal test[index].last, value end end - + def test_method_access a = OrderedOptions.new assert_nil a.not_set - a.allow_concurreny = true + a.allow_concurreny = true assert_equal 1, a.size assert a.allow_concurreny diff --git a/activesupport/test/reloadable_test.rb b/activesupport/test/reloadable_test.rb index 1b147e0d18..c330394b29 100644 --- a/activesupport/test/reloadable_test.rb +++ b/activesupport/test/reloadable_test.rb @@ -1,10 +1,7 @@ -require 'test/unit' -require File.dirname(__FILE__) + '/../lib/active_support/core_ext/class' -require File.dirname(__FILE__) + '/../lib/active_support/core_ext/module' -require File.dirname(__FILE__) + '/../lib/active_support/reloadable' +require File.dirname(__FILE__) + '/abstract_unit' module ReloadableTestSandbox - + class AReloadableClass include Reloadable end @@ -24,17 +21,17 @@ module ReloadableTestSandbox end include Reloadable end - + class SubclassesReloadable include Reloadable::Subclasses end class ASubclassOfSubclassesReloadable < SubclassesReloadable end - + class AnOnlySubclassReloadableClassSubclassingAReloadableClass include Reloadable::Subclasses end - + class ASubclassofAOnlySubclassReloadableClassWhichWasSubclassingAReloadableClass < AnOnlySubclassReloadableClassSubclassingAReloadableClass end end @@ -49,17 +46,17 @@ class ReloadableTest < Test::Unit::TestCase def test_reloadable_is_not_overwritten_if_present assert_equal 10, ReloadableTestSandbox::AClassWhichDefinesItsOwnReloadable.reloadable? end - + def test_only_subclass_reloadable assert ! ReloadableTestSandbox::SubclassesReloadable.reloadable? assert ReloadableTestSandbox::ASubclassOfSubclassesReloadable.reloadable? end - + def test_inside_hierarchy_only_subclass_reloadable assert ! ReloadableTestSandbox::AnOnlySubclassReloadableClassSubclassingAReloadableClass.reloadable? assert ReloadableTestSandbox::ASubclassofAOnlySubclassReloadableClassWhichWasSubclassingAReloadableClass.reloadable? end - + def test_removable_classes reloadables = %w( AReloadableClass @@ -72,7 +69,7 @@ class ReloadableTest < Test::Unit::TestCase ANonReloadableSubclass SubclassesReloadable ) - + results = Reloadable.reloadable_classes reloadables.each do |name| assert results.include?(ReloadableTestSandbox.const_get(name)), "Expected #{name} to be reloadable" @@ -81,4 +78,4 @@ class ReloadableTest < Test::Unit::TestCase assert ! results.include?(ReloadableTestSandbox.const_get(name)), "Expected #{name} NOT to be reloadable" end end -end \ No newline at end of file +end diff --git a/activesupport/test/time_zone_test.rb b/activesupport/test/time_zone_test.rb index 3e35c327e0..3cdf5582bf 100644 --- a/activesupport/test/time_zone_test.rb +++ b/activesupport/test/time_zone_test.rb @@ -1,5 +1,4 @@ -require 'test/unit' -require File.dirname(__FILE__)+'/../lib/active_support/values/time_zone' +require File.dirname(__FILE__) + '/abstract_unit' class TimeZoneTest < Test::Unit::TestCase class MockTime diff --git a/activesupport/test/whiny_nil_test.rb b/activesupport/test/whiny_nil_test.rb index 9ed31bfef5..4483134be1 100644 --- a/activesupport/test/whiny_nil_test.rb +++ b/activesupport/test/whiny_nil_test.rb @@ -1,6 +1,4 @@ -require 'test/unit' - -# mock to enable testing without activerecord +# Stub to enable testing without Active Record module ActiveRecord class Base def save! @@ -8,8 +6,8 @@ module ActiveRecord end end -require File.dirname(__FILE__) + '/../lib/active_support/inflector' -require File.dirname(__FILE__) + '/../lib/active_support/whiny_nil' +require File.dirname(__FILE__) + '/abstract_unit' +require 'active_support/whiny_nil' class WhinyNilTest < Test::Unit::TestCase def test_unchanged @@ -17,14 +15,14 @@ class WhinyNilTest < Test::Unit::TestCase rescue NoMethodError => nme assert_match(/nil.method_thats_not_in_whiners/, nme.message) end - + def test_active_record nil.save! rescue NoMethodError => nme assert(!(nme.message =~ /nil:NilClass/)) assert_match(/nil\.save!/, nme.message) end - + def test_array nil.each rescue NoMethodError => nme