test/functional/configatron.rb in configatron-4.2.1 vs test/functional/configatron.rb in configatron-4.3.0

- old
+ new

@@ -33,10 +33,23 @@ assert_equal('temp', @kernel.foo.bar) end assert_equal('original', @kernel.foo.bar) end + it 'cleans up after an exception' do + @kernel.foo.bar = 'original' + + assert_raises(RuntimeError) do + @kernel.temp do + @kernel.foo.bar = 'temp' + raise RuntimeError.new('error') + end + end + + assert_equal('original', @kernel.foo.bar) + 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 @@ -112,8 +125,15 @@ it 'returns a hash representation' do expected_hash = { a: 1, b: { c: 4 } } assert_equal(expected_hash, @kernel.to_h) assert_equal(expected_hash, @kernel.to_hash) + end + end + + describe 'nil value' do + it 'remembers a nil value' do + @kernel.a = nil + assert_equal(nil, @kernel.a) end end end