96c6ca369a
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4824 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
49 lines
1.4 KiB
Ruby
49 lines
1.4 KiB
Ruby
require File.dirname(__FILE__) + '/../abstract_unit'
|
|
|
|
class DeprecatedControllerInstanceVariablesTest < Test::Unit::TestCase
|
|
class Target < ActionController::Base
|
|
def initialize(run = nil)
|
|
instance_eval(run) if run
|
|
super()
|
|
end
|
|
|
|
def noop
|
|
render :nothing => true
|
|
end
|
|
|
|
ActionController::Base::DEPRECATED_INSTANCE_VARIABLES.each do |var|
|
|
class_eval "def old_#{var}; render :text => @#{var}.inspect end"
|
|
class_eval "def new_#{var}; render :text => #{var}.inspect end"
|
|
class_eval "def internal_#{var}; render :text => @_#{var}.inspect end"
|
|
end
|
|
|
|
def rescue_action(e) raise e end
|
|
end
|
|
|
|
def setup
|
|
@request = ActionController::TestRequest.new
|
|
@response = ActionController::TestResponse.new
|
|
@controller = Target.new
|
|
end
|
|
|
|
ActionController::Base::DEPRECATED_INSTANCE_VARIABLES.each do |var|
|
|
class_eval <<-end_eval, __FILE__, __LINE__
|
|
def test_old_#{var}_is_deprecated
|
|
assert_deprecated('@#{var}') { get :old_#{var} }
|
|
end
|
|
def test_new_#{var}_isnt_deprecated
|
|
assert_not_deprecated { get :new_#{var} }
|
|
end
|
|
def test_internal_#{var}_isnt_deprecated
|
|
assert_not_deprecated { get :internal_#{var} }
|
|
end
|
|
def test_#{var}_raises_if_already_set
|
|
assert_raise(RuntimeError) do
|
|
@controller = Target.new '@#{var} = Object.new'
|
|
get :noop
|
|
end
|
|
end
|
|
end_eval
|
|
end
|
|
end
|