Sha256: 93439ae8ccfa45198b705ceed1cdac64e74deb61e3f2fd968c581d6789fc7f65
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
require 'spec_helper' describe Kookaburra::Configuration::Proxy do subject { described_class.new(name: :foobar, basis: basis) } let(:basis) { Kookaburra::Configuration.new.tap do |c| c.ui_driver_class = default_ui_driver_class end } let(:default_ui_driver_class) { double(:default_ui_driver_class) } it 'it knows the name with which it was created' do expect(subject.name).to eq :foobar end it 'delegates to its basis by default' do expect(subject.ui_driver_class).to equal default_ui_driver_class end it 'does not delegate attributes that are set explicitly to a value' do ui_driver_class_override = double(:ui_driver_class_override) subject.ui_driver_class = ui_driver_class_override expect(basis.ui_driver_class).to equal default_ui_driver_class expect(subject.ui_driver_class).to equal ui_driver_class_override end it 'does not delegate attributes that are set explicitly to nil' do subject.ui_driver_class = nil expect(basis.ui_driver_class).to equal default_ui_driver_class expect(subject.ui_driver_class).to be_nil end it 'responds only to methods to which its basis also responds' do expect{ subject.not_a_defined_method }.to raise_error(NameError) expect{ subject.not_a_defined_method = :something }.to raise_error(NameError) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kookaburra-3.0.1 | spec/kookaburra/configuration/proxy_spec.rb |
kookaburra-3.0.0 | spec/kookaburra/configuration/proxy_spec.rb |