Fixed private helper

git-svn-id: https://svn.thoughtbot.com/plugins/shoulda/trunk@145 7bbfaf0e-4d1d-0410-9690-a8bb5f8ef2aa
This commit is contained in:
tsaleh 2007-07-24 16:53:54 +00:00
parent 2085854514
commit f00bddd001
2 changed files with 31 additions and 6 deletions

View File

@ -1,10 +1,9 @@
# $LOAD_PATH << File.join(File.dirname(__FILE__), 'controller_tests')
require 'yaml'
require 'shoulda/private_helpers'
require 'shoulda/general'
require 'shoulda/context'
require 'shoulda/active_record_helpers'
require 'shoulda/controller_tests/controller_tests.rb'
require 'shoulda/context'
require 'shoulda/general'
require 'yaml'
shoulda_options = {}

View File

@ -1,7 +1,6 @@
module ThoughtBot # :nodoc:
module Shoulda # :nodoc:
# = Macro test helpers for your controllers
#
module Controller
def self.included(other) # :nodoc:
other.class_eval do
@ -201,9 +200,36 @@ module ThoughtBot # :nodoc:
private
SPECIAL_INSTANCE_VARIABLES = %w{
_cookies
_flash
_headers
_params
_request
_response
_session
action_name
before_filter_chain_aborted
cookies
flash
headers
ignore_missing_templates
logger
params
request
request_origin
response
session
template
template_class
template_root
url
variables_added
}.map(&:to_s)
def instantiate_variables_from_assigns(*names, &blk)
old = {}
names = @response.template.assigns.keys if names.empty?
names = (@response.template.assigns.keys - SPECIAL_INSTANCE_VARIABLES) if names.empty?
names.each do |name|
old[name] = instance_variable_get("@#{name}")
instance_variable_set("@#{name}", assigns(name.to_sym))