summaryrefslogtreecommitdiff
path: root/spec/unit/pops/evaluator/variables_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/pops/evaluator/variables_spec.rb')
-rw-r--r--spec/unit/pops/evaluator/variables_spec.rb105
1 files changed, 0 insertions, 105 deletions
diff --git a/spec/unit/pops/evaluator/variables_spec.rb b/spec/unit/pops/evaluator/variables_spec.rb
index fe93842c4..6c1e9f821 100644
--- a/spec/unit/pops/evaluator/variables_spec.rb
+++ b/spec/unit/pops/evaluator/variables_spec.rb
@@ -49,111 +49,6 @@ describe 'Puppet::Pops::Impl::EvaluatorImpl' do
expect { evaluate_l(block(var('a').set(10), var('a').set(20))) }.to raise_error(/Cannot reassign variable a/)
end
- context "-= operations" do
- # Also see collections_ops_spec.rb where delete via - is fully tested, here only the
- # the -= operation itself is tested (there are many combinations)
- #
- it 'deleting from non existing value produces :undef, nil -= ?' do
- top_scope_block = var('b').set([1,2,3])
- local_scope_block = block(var('a').minus_set([4]), fqn('a').var)
- evaluate_l(top_scope_block, local_scope_block).should == :undef
- end
-
- it 'deletes from a list' do
- top_scope_block = var('a').set([1,2,3])
- local_scope_block = block(var('a').minus_set([2]), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should == [1,3]
- end
-
- it 'deletes from a hash' do
- top_scope_block = var('a').set({'a'=>1,'b'=>2,'c'=>3})
- local_scope_block = block(var('a').minus_set('b'), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should == {'a'=>1,'c'=>3}
- end
- end
-
- context "+= operations" do
- # Also see collections_ops_spec.rb where concatenation via + is fully tested
- it "appending to non existing value, nil += []" do
- top_scope_block = var('b').set([1,2,3])
- local_scope_block = var('a').plus_set([4])
- evaluate_l(top_scope_block, local_scope_block).should == [4]
- end
-
- context "appending to list" do
- it "from list, [] += []" do
- top_scope_block = var('a').set([1,2,3])
- local_scope_block = block(var('a').plus_set([4]), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should == [1,2,3,4]
- end
-
- it "from hash, [] += {a=>b}" do
- top_scope_block = var('a').set([1,2,3])
- local_scope_block = block(var('a').plus_set({'a' => 1, 'b'=>2}), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should satisfy {|result|
- # hash in 1.8.7 is not insertion order preserving, hence this hoop
- result == [1,2,3,['a',1],['b',2]] || result == [1,2,3,['b',2],['a',1]]
- }
- end
-
- it "from single value, [] += x" do
- top_scope_block = var('a').set([1,2,3])
- local_scope_block = block(var('a').plus_set(4), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should == [1,2,3,4]
- end
-
- it "from embedded list, [] += [[x]]" do
- top_scope_block = var('a').set([1,2,3])
- local_scope_block = block(var('a').plus_set([[4,5]]), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block).should == [1,2,3,[4,5]]
- end
- end
-
- context "appending to hash" do
- it "from hash, {a=>b} += {x=>y}" do
- top_scope_block = var('a').set({'a' => 1, 'b' => 2})
- local_scope_block = block(var('a').plus_set({'c' => 3}), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block) do |scope|
- # Assert no change to top scope hash
- scope['a'].should == {'a' =>1, 'b'=> 2}
- end.should == {'a' => 1, 'b' => 2, 'c' => 3}
- end
-
- it "from list, {a=>b} += ['x', y]" do
- top_scope_block = var('a').set({'a' => 1, 'b' => 2})
- local_scope_block = block(var('a').plus_set(['c', 3]), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block) do |scope|
- # Assert no change to top scope hash
- scope['a'].should == {'a' =>1, 'b'=> 2}
- end.should == {'a' => 1, 'b' => 2, 'c' => 3}
- end
-
- it "with overwrite from hash, {a=>b} += {a=>c}" do
- top_scope_block = var('a').set({'a' => 1, 'b' => 2})
- local_scope_block = block(var('a').plus_set({'b' => 4, 'c' => 3}),fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block) do |scope|
- # Assert no change to top scope hash
- scope['a'].should == {'a' =>1, 'b'=> 2}
- end.should == {'a' => 1, 'b' => 4, 'c' => 3}
- end
-
- it "with overwrite from list, {a=>b} += ['a', c]" do
- top_scope_block = var('a').set({'a' => 1, 'b' => 2})
- local_scope_block = block(var('a').plus_set(['b', 4, 'c', 3]), fqn('a').var())
- evaluate_l(top_scope_block, local_scope_block) do |scope|
- # Assert no change to topscope hash
- scope['a'].should == {'a' =>1, 'b'=> 2}
- end.should == {'a' => 1, 'b' => 4, 'c' => 3}
- end
-
- it "from odd length array - error" do
- top_scope_block = var('a').set({'a' => 1, 'b' => 2})
- local_scope_block = var('a').plus_set(['b', 4, 'c'])
- expect { evaluate_l(top_scope_block, local_scope_block) }.to raise_error(/Append assignment \+= failed with error: odd number of arguments for Hash/)
- end
- end
- end
-
context "access to numeric variables" do
it "without a match" do
evaluate_l(block(literal(2) + literal(2),