Sha256: 27d2f5b6a0afa587d580ec746032b46613df56fe9b4698081fffae9931655026

Contents?: true

Size: 1002 Bytes

Versions: 1

Compression:

Stored size: 1002 Bytes

Contents

module NiceAssertSelect
  def build_html_selector(prefix, attributes = {})
    attribute_selector = attributes.keys.map {|key| "[#{key}=?]"}.join('')
    HTML.selector("#{prefix}#{attribute_selector}", *attributes.values)
  end

  def form(attributes)
    build_html_selector('form', attributes)
  end

  def text_field(attributes)
    build_html_selector('input', attributes.merge(:type => 'text'))
  end

  def hidden_field(attributes)
    build_html_selector('input', attributes.merge(:type => 'hidden'))
  end


  def password_field(attributes)
    build_html_selector('input', attributes.merge(:type => 'password'))
  end

  def submit_button
    build_html_selector('input', :type => 'submit')
  end

  def form_method_field(method)
    hidden_field(:name => '_method', :value => method)
  end
end

if defined? Rails
  Rails.configuration.after_initialize do
    require 'action_controller/test_case'
    ActionController::TestCase.class_eval do
      include NiceAssertSelect
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
technicalpickles-nice_assert_select-0.1.1 lib/nice_assert_select.rb