Sha256: 8f2c8eb48ca5e7c7e199147bb62b3df6b282f33628146c10d06d052a6bcff16f

Contents?: true

Size: 1.38 KB

Versions: 18

Compression:

Stored size: 1.38 KB

Contents

# coding: utf-8
require File.dirname(__FILE__) + '/spec_helper'

describe 'SemanticFormBuilder#semantic_fields_for' do

  include FormtasticSpecHelper
  
  before do
    @output_buffer = ''
    mock_everything
    @new_post.stub!(:author).and_return(::Author.new)
  end

  it 'yields an instance of SemanticFormHelper.builder' do  
    semantic_form_for(@new_post) do |builder|
      builder.semantic_fields_for(:author) do |nested_builder|
        nested_builder.class.should == ::Formtastic::SemanticFormHelper.builder
      end
    end
  end
  
  it 'nests the object name' do
    semantic_form_for(@new_post) do |builder|
      builder.semantic_fields_for(@bob) do |nested_builder|
        nested_builder.object_name.should == 'post[author]'
      end
    end
  end
  
  it 'should sanitize html id for li tag' do
    @bob.stub!(:column_for_attribute).and_return(mock('column', :type => :string, :limit => 255))
    semantic_form_for(@new_post) do |builder|
      builder.semantic_fields_for(@bob, :index => 1) do |nested_builder|
        concat(nested_builder.inputs(:login))
      end
    end
    output_buffer.should have_tag('form fieldset.inputs #post_author_1_login_input')
    # Not valid selector, so using good ol' regex
    output_buffer.should_not =~ /id="post\[author\]_1_login_input"/
    # <=> output_buffer.should_not have_tag('form fieldset.inputs #post[author]_1_login_input')
  end

end

Version data entries

18 entries across 18 versions & 4 rubygems

Version Path
formtastic-1.0.1 spec/semantic_fields_for_spec.rb
formtastic-1.0.0 spec/semantic_fields_for_spec.rb
formtastic-1.0.0.rc2 spec/semantic_fields_for_spec.rb
formtastic-1.0.0.rc spec/semantic_fields_for_spec.rb
formtastic-1.0.0.beta4 spec/semantic_fields_for_spec.rb
formtastic-1.0.0.beta3 spec/semantic_fields_for_spec.rb
formtastic-1.0.0.beta2 spec/semantic_fields_for_spec.rb
formtastic-1.0.0.beta spec/semantic_fields_for_spec.rb
formtastic-0.9.10 spec/semantic_fields_for_spec.rb
formtastic-0.9.9 spec/semantic_fields_for_spec.rb
formtastic-0.9.8 spec/semantic_fields_for_spec.rb
jintastic-1.1.0 vendor/plugins/formtastic/spec/semantic_fields_for_spec.rb
jintastic-1.0.2 vendor/plugins/formtastic/spec/semantic_fields_for_spec.rb
tmayad-formtastic-0.9.7 spec/semantic_fields_for_spec.rb
ShadowBelmolve-formtastic-0.9.7 spec/semantic_fields_for_spec.rb
formtastic-0.9.7 spec/semantic_fields_for_spec.rb
formtastic-0.9.6 spec/semantic_fields_for_spec.rb
formtastic-0.9.5 spec/semantic_fields_for_spec.rb