Sha256: 1abf308644ced6ba91a5f0b3317c1c0a87ae0ec197cd8b5cf5f96168c16f1794

Contents?: true

Size: 1.79 KB

Versions: 3

Compression:

Stored size: 1.79 KB

Contents

# encoding: utf-8
require 'spec_helper'

describe 'readonly option' do

  include FormtasticSpecHelper

  before do
    @output_buffer = ''
    mock_everything
  end

  describe "placeholder text" do
    [:email, :number, :password, :phone, :search, :string, :url, :text, :date_picker, :time_picker, :datetime_picker].each do |type|

      describe "for #{type} inputs" do

        describe "when readonly is found in input_html" do
          it "sets readonly attribute" do
            concat(semantic_form_for(@new_post) do |builder|
              concat(builder.input(:title, :as => type, input_html: {readonly: true}))
            end)
              output_buffer.should have_tag((type == :text ? 'textarea' : 'input') + '[@readonly]')
          end
        end

        describe "when readonly not found in input_html" do
          describe "when column is not readonly attribute" do
            it "doesn't set readonly attribute" do
              concat(semantic_form_for(@new_post) do |builder|
                concat(builder.input(:title, :as => type))
              end)
                output_buffer.should_not have_tag((type == :text ? 'textarea' : 'input') + '[@readonly]')
            end
          end
          describe "when column is readonly attribute" do
            it "sets readonly attribute" do
              input_class = "Formtastic::Inputs::#{type.to_s.camelize}Input".constantize
              expect_any_instance_of(input_class).to receive(:readonly_attribute?).at_least(1).and_return(true)
              concat(semantic_form_for(@new_post) do |builder|
                concat(builder.input(:title, :as => type))
              end)
                output_buffer.should have_tag((type == :text ? 'textarea' : 'input') + '[@readonly]')
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
formtastic-3.1.5 spec/inputs/readonly_spec.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/formtastic-3.1.4/spec/inputs/readonly_spec.rb
formtastic-3.1.4 spec/inputs/readonly_spec.rb