Sha256: fd61dc798ba72545dcc70b37cc3ce3099af722842891e480000cbe7df1c9f7a4

Contents?: true

Size: 1000 Bytes

Versions: 10

Compression:

Stored size: 1000 Bytes

Contents

require 'spec_helper'

describe Virtus::Options, '#accept_options' do
  class Model
    extend Virtus::DescendantsTracker
    extend Virtus::Options
  end

  let(:object)     { Model             }
  let(:descendant) { Class.new(object) }
  let(:new_option) { :width            }

  specify { object.should     respond_to(:accept_options) }
  specify { descendant.should respond_to(:accept_options) }

  before :all do
    object.accepted_options.should_not include(new_option)
    descendant.accepted_options.should_not include(new_option)
    object.accept_options(new_option)
  end

  it 'sets new accepted options on itself' do
    object.accepted_options.should include(new_option)
  end

  it 'sets new accepted option on its descendants' do
    descendant.accepted_options.should include(new_option)
  end

  it 'creates option accessors' do
    object.should respond_to(new_option)
  end

  it 'creates option accessors on descendant' do
    descendant.should respond_to(new_option)
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/virtus-0.5.2/spec/unit/virtus/options/accept_options_spec.rb
virtus-0.5.2 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.5.1 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.5.0 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.4.2 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.4.1 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.4.0 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.3.0 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.2.0 spec/unit/virtus/options/accept_options_spec.rb
virtus-0.1.0 spec/unit/virtus/options/accept_options_spec.rb