Sha256: 8a319ddc40ecc5bd5dfd3b73ccd0fd336bc02afd5fb9ae9d4e3bc47fbb55b589

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 KB

Contents

require "spec_helper"
require "cascade/helpers/configuration"

describe Configuration do
  class ExtendableClass
    extend Configuration

    define_setting :simple_setting
    define_setting :setting_with_default, 42
  end

  it "defines class variables with curresponding default values" do
    assert_equal ExtendableClass.class_variables,
      [:@@simple_setting, :@@setting_with_default]
  end

  it "defines reader methods for extended class" do
    assert_respond_to ExtendableClass, :simple_setting
    assert_respond_to ExtendableClass, :setting_with_default
  end

  it "defines write accessor for extended class" do
    assert_respond_to ExtendableClass, :simple_setting=
    assert_respond_to ExtendableClass, :setting_with_default=
  end

  it "allows to set class variables in configuration block" do
    ExtendableClass.configuration do |config|
      config.simple_setting = :value
      config.setting_with_default = 29
    end

    assert_equal ExtendableClass.setting_with_default, 29
    assert_equal ExtendableClass.simple_setting, :value
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
cascade-rb-0.2.3 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.2.2 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.2.1 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.2.0 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.1.5 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.1.4 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.1.2 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.1.1 spec/lib/helpers/configuration_spec.rb
cascade-rb-0.1.0 spec/lib/helpers/configuration_spec.rb