Sha256: 8c309ae21fba0e6c28609cd98f593e9112bc78bffc81180c59e7a8e333eadd3a

Contents?: true

Size: 1.59 KB

Versions: 6

Compression:

Stored size: 1.59 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe DRbQS::Setting::Base do
  it "should get default registered options." do
    obj = DRbQS::Setting::Base.new
    obj.source.registered_keys.sort.should == [:debug].sort
  end

  it "should register built-in options." do
    obj = DRbQS::Setting::Base.new(:all_keys_defined => true, :log_level => true, :daemon => true)
    obj.source.registered_keys.sort.should == [:debug, :log_level, :daemon].sort
  end

  it "should return string for shell." do
    obj = DRbQS::Setting::Base.new(:all_keys_defined => true, :log_level => true, :daemon => true)
    obj.value.log_level 'debug'
    obj.value.daemon '/path/to/log'
    obj.parse!
    str = obj.string_for_shell
    str.should match(/--log-level/)
    str.should match(/--daemon/)
    str.should match(/debug/)
    str.should match(/\/path\/to\/log/)
  end

  it "should not change when executing parse! twice." do
    obj = DRbQS::Setting::Base.new(:all_keys_defined => true, :log_level => true, :daemon => true)
    obj.value.log_level 'debug'
    obj.value.daemon '/path/to/log'
    obj.parse!
    lambda do
      obj.parse!
    end.should_not change(obj, :string_for_shell)
  end

  it "should clone an object." do
    obj = DRbQS::Setting::Base.new(:all_keys_defined => true, :log_level => true, :daemon => true)
    obj.value.daemon '/path/to/log'
    obj.value.log_level 'debug'
    obj_clone = obj.clone
    obj.value.daemon << '/add'
    obj.value.daemon.should_not == obj_clone.value.daemon
    obj_clone.value.debug 'error'
    obj_clone.value.debug.should_not == obj.value.debug
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
drbqs-0.1.1 spec/setting/base_spec.rb
drbqs-0.1.0 spec/setting/base_spec.rb
drbqs-0.0.19 spec/setting/base_spec.rb
drbqs-0.0.18 spec/setting/base_spec.rb
drbqs-0.0.17 spec/setting/base_spec.rb
drbqs-0.0.16 spec/setting/base_spec.rb