Sha256: b39533030772096927369d66ba23f5f831a3fe2c99d853715e2ee6c383c9e1dd

Contents?: true

Size: 878 Bytes

Versions: 2

Compression:

Stored size: 878 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

ActionController::TestCase.class_eval do
  include NiceAssertSelect
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
technicalpickles-nice_assert_select-0.0.0 lib/nice_assert_select.rb
technicalpickles-nice_assert_select-0.1.0 lib/nice_assert_select.rb