mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
71234daef1
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
81 lines
2.4 KiB
Ruby
81 lines
2.4 KiB
Ruby
require File.dirname(__FILE__) + '/abstract_unit'
|
|
|
|
module ReloadableTestSandbox
|
|
|
|
class AReloadableClass
|
|
include Reloadable
|
|
end
|
|
class AReloadableClassWithSubclasses
|
|
include Reloadable
|
|
end
|
|
class AReloadableSubclass < AReloadableClassWithSubclasses
|
|
end
|
|
class ANonReloadableSubclass < AReloadableClassWithSubclasses
|
|
def self.reloadable?
|
|
false
|
|
end
|
|
end
|
|
class AClassWhichDefinesItsOwnReloadable
|
|
def self.reloadable?
|
|
10
|
|
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
|
|
|
|
class ReloadableTest < Test::Unit::TestCase
|
|
def test_classes_receive_reloadable
|
|
assert ReloadableTestSandbox::AReloadableClass.respond_to?(:reloadable?)
|
|
end
|
|
def test_classes_inherit_reloadable
|
|
assert ReloadableTestSandbox::AReloadableSubclass.respond_to?(:reloadable?)
|
|
end
|
|
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
|
|
AReloadableClassWithSubclasses
|
|
AReloadableSubclass
|
|
AClassWhichDefinesItsOwnReloadable
|
|
ASubclassOfSubclassesReloadable
|
|
)
|
|
non_reloadables = %w(
|
|
ANonReloadableSubclass
|
|
SubclassesReloadable
|
|
)
|
|
|
|
results = Reloadable.reloadable_classes
|
|
reloadables.each do |name|
|
|
assert results.include?(ReloadableTestSandbox.const_get(name)), "Expected #{name} to be reloadable"
|
|
end
|
|
non_reloadables.each do |name|
|
|
assert ! results.include?(ReloadableTestSandbox.const_get(name)), "Expected #{name} NOT to be reloadable"
|
|
end
|
|
end
|
|
end
|