Sha256: 1422466fdaf97bd0000a5435bed93452e51c443a68101b3fd7205760d41cc9df
Contents?: true
Size: 2 KB
Versions: 3
Compression:
Stored size: 2 KB
Contents
require_relative '_lib' class Critic::Functional::ConfigatronTest < Critic::Functional::Test before do @kernel = Configatron::RootStore.new end describe 'temp' do before do @kernel.a = 'A' @kernel.b = 'B' end it 'allows for temporary setting of values' do assert_equal('A', @kernel.a) assert_equal('B', @kernel.b) @kernel.temp do @kernel.a = 'AA' @kernel.c = 'C' assert_equal('AA', @kernel.a) assert_equal('B', @kernel.b) assert_equal('C', @kernel.c) end assert_equal('A', @kernel.a) assert_equal('B', @kernel.b) assert_equal(false, @kernel.key?(:c)) end describe 'start/end' do it 'allows for temporary setting of values' do assert_equal('A', @kernel.a) assert_equal('B', @kernel.b) @kernel.temp_start @kernel.a = 'AA' @kernel.c = 'C' assert_equal('AA', @kernel.a) assert_equal('B', @kernel.b) assert_equal('C', @kernel.c) @kernel.temp_end assert_equal('A', @kernel.a) assert_equal('B', @kernel.b) assert_equal(false, @kernel.key?(:c)) end end end describe 'lock!' do before do @kernel.a.b.c.d = 'DD' @kernel.lock! end it 'raises an error when accessing non-existing values' do refute_nil(@kernel.a) refute_nil(@kernel.a.b) refute_nil(@kernel.a.b.c) assert_equal('DD', @kernel.a.b.c.d) assert_raises(Configatron::UndefinedKeyError) do @kernel.unknown end end it 'raises an error when trying to set a non-existing key' do assert_raises(Configatron::LockedError) do @kernel.unknown = 'known' end end end describe 'name' do it 'assigns an appropriate nested name' do name = @kernel.foo.bar.baz.to_s assert_equal(name, 'configatron.foo.bar.baz') end end describe 'puts' do it 'does not cause an exception' do puts @kernel puts @kernel.hi end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
configatron-4.0.3 | test/functional/configatron.rb |
configatron-4.0.2 | test/functional/configatron.rb |
configatron-4.0.1 | test/functional/configatron.rb |