mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
r4487@asus: jeremy | 2006-04-29 12:21:39 -0700
Check whether @flash is defined? for warnings-safety. r4488@asus: jeremy | 2006-04-29 12:23:15 -0700 Check whether @flash is defined? for warnings-safety. Obviates nil? check. r4489@asus: jeremy | 2006-04-29 12:45:18 -0700 Check whether @session is defined? for warnings-safety. r4490@asus: jeremy | 2006-04-29 12:50:41 -0700 Check whether @rendering_runtime is defined? for warnings-safety. r4491@asus: jeremy | 2006-04-29 12:55:01 -0700 Check whether @_cycles is defined? for warnings-safety. r4492@asus: jeremy | 2006-04-29 12:59:19 -0700 Check whether instance variables are defined? for warnings-safety. r4493@asus: jeremy | 2006-04-29 13:14:09 -0700 Add nil @template to PrototypeHelperTest to suppress unitialized instance variable warning. r4494@asus: jeremy | 2006-04-29 13:31:34 -0700 Check whether @auto_index defined? for warnings-safety. r4495@asus: jeremy | 2006-04-29 13:32:24 -0700 Wrap content_columns redefinitions with silence_warnings. r4496@asus: jeremy | 2006-04-29 13:35:28 -0700 Wrap more redefinitions with silence_warnings. r4829@asus: jeremy | 2006-07-08 10:59:20 -0700 abstract unit, fix warnings r4830@asus: jeremy | 2006-07-08 11:06:12 -0700 Use parens to silence warning. r4831@asus: jeremy | 2006-07-08 11:06:48 -0700 Use parens to silence warning. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4595 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
a3f459eecf
commit
71234daef1
43 changed files with 236 additions and 274 deletions
|
@ -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"}]"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -155,8 +155,8 @@ module ActionController #:nodoc:
|
|||
# <tt>flash["notice"] = "hello"</tt> 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
|
||||
|
|
|
@ -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!
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
%(<form action="update/1" method="post"><input id="post_id" name="post[id]" type="hidden" value="1" /><p><label for="post_title">Title</label><br /><input id="post_title" name="post[title]" size="30" type="text" value="Hello World" /></p>\n<p><label for="post_body">Body</label><br /><div class="fieldWithErrors"><textarea cols="40" id="post_body" name="post[body]" rows="20">Back to the hill and over it again!</textarea></div></p><input name="commit" type="submit" value="Update" /></form>),
|
||||
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(
|
||||
%(<form action="create" method="post"><p><label for="post_written_on">Written on</label><br /><select name="post[written_on(1i)]">\n<option value="1999">1999</option>\n<option value="2000">2000</option>\n<option value="2001">2001</option>\n<option value="2002">2002</option>\n<option value="2003">2003</option>\n<option value="2004" selected="selected">2004</option>\n<option value="2005">2005</option>\n<option value="2006">2006</option>\n<option value="2007">2007</option>\n<option value="2008">2008</option>\n<option value="2009">2009</option>\n</select>\n<select name="post[written_on(2i)]">\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6" selected="selected">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12">December</option>\n</select>\n<select name="post[written_on(3i)]">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15" selected="selected">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31">31</option>\n</select>\n</p><input name="commit" type="submit" value="Create" /></form>),
|
||||
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(
|
||||
|
|
|
@ -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)
|
||||
|
|
4
activesupport/test/abstract_unit.rb
Normal file
4
activesupport/test/abstract_unit.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
require 'test/unit'
|
||||
|
||||
$:.unshift "#{File.dirname(__FILE__)}/../lib"
|
||||
require 'active_support'
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 "<people><person>", 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)
|
||||
|
||||
|
|
|
@ -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 ", [], {}]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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']
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
end
|
||||
|
|
|
@ -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!
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
end
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue