Sha256: 18bf2cbf1418f8f72c83f10cf131bb80b2e68c361a86b249f2bfc35b8e7cc1a3

Contents?: true

Size: 1.12 KB

Versions: 12

Compression:

Stored size: 1.12 KB

Contents

# encoding: utf-8
require 'spec_helper'

# TODO extract out
module TestInputs

  def input_args
    @template = self
    @object = ::Post.new
    @object_name = 'post'
    @method = :title
    @options = {}
    @proc = Proc.new {}
    @builder = Formtastic::FormBuilder.new(@object_name, @object, @template, @options, @proc)
    
    [@builder, @template, @object, @object_name, @method, @options]
  end
  
  class ::UnimplementedInput
    include Formtastic::Inputs::Base
  end

  class ::ImplementedInput < UnimplementedInput
    def to_html
      "some HTML output"
    end
  end
  
end

describe 'AnyCustomInput' do
  
  include TestInputs
  
  describe "#to_html" do

    describe 'without an implementation' do
      it "should raise a NotImplementedError exception" do
        expect { ::UnimplementedInput.new(*input_args).to_html }.to raise_error(NotImplementedError)
      end
    end    

    describe 'with an implementation' do
      it "should raise a NotImplementedError exception" do
        expect { ::ImplementedInput.new(*input_args).to_html }.to_not raise_error(NotImplementedError)
      end
    end
    
  end
    
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
formtastic-2.1.1 spec/inputs/custom_input_spec.rb
formtastic-2.1.0 spec/inputs/custom_input_spec.rb
formtastic-2.1.0.rc spec/inputs/custom_input_spec.rb
formtastic-2.1.0.beta1 spec/inputs/custom_input_spec.rb
formtastic-2.0.2 spec/inputs/custom_input_spec.rb
formtastic-2.0.1 spec/inputs/custom_input_spec.rb
formtastic-2.0.0 spec/inputs/custom_input_spec.rb
formtastic-2.0.0.rc5 spec/inputs/custom_input_spec.rb
formtastic-2.0.0.rc4 spec/inputs/custom_input_spec.rb
formtastic-2.0.0.rc3 spec/inputs/custom_input_spec.rb
formtastic-2.0.0.rc2 spec/inputs/custom_input_spec.rb
formtastic-2.0.0.rc1 spec/inputs/custom_input_spec.rb