Sha256: 71caeed7b4a7f85fcfe6b25a02c48dfdc0d1f0aa81e705d0a6426eae37775cbc

Contents?: true

Size: 1.49 KB

Versions: 2

Compression:

Stored size: 1.49 KB

Contents

##
# Stub controller for testing helpers.

class HelperTestCaseController < ApplicationController

  attr_accessor :request

  attr_accessor :url

  ##
  # Re-raise errors

  def rescue_action(e)
    raise e
  end

end

##
# HelperTestCase allows helpers to be easily tested.
#
# Original concept by Ryan Davis, original implementation by Geoff Grosenbach.

class Test::Rails::HelperTestCase < Test::Rails::FunctionalTestCase

  # Are other helpers needed?

  include ActionView::Helpers::ActiveRecordHelper
  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::FormTagHelper
  include ActionView::Helpers::FormOptionsHelper
  include ActionView::Helpers::FormHelper
  include ActionView::Helpers::UrlHelper
  include ActionView::Helpers::AssetTagHelper
  include ActionView::Helpers::PrototypeHelper rescue nil # Rails 1.0 only

  ##
  # Automatically includes the helper module into the test sublcass.

  def self.inherited(helper_testcase)
    super
    helper_name = helper_testcase.name.sub 'Test', ''
    helper_module = Object.const_get helper_name
    helper_testcase.send :include, helper_module
  rescue NameError
    raise "Unable to find helper #{helper_name}"
  end

  def setup
    return if self.class.name =~ /TestCase$/
    @controller_class_name = 'HelperTestCaseController'
    super
    @controller.request = @request
    @controller.url = ActionController::UrlRewriter.new @request, {} # url_for
    
    ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ZenTest-3.3.0 lib/test/rails/helper_test_case.rb
ZenTest-3.4.0 lib/test/rails/helper_test_case.rb