From 201ae59eacaff289a8a5bb45f7d301c1a490a119 Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Fri, 12 Jun 2009 23:24:36 +0200 Subject: Allow variable $0 to $9 to be interpolated, if ephemeral Signed-off-by: Brice Figureau --- spec/unit/parser/scope.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'spec/unit/parser') diff --git a/spec/unit/parser/scope.rb b/spec/unit/parser/scope.rb index 641a3f946..665b2ed63 100755 --- a/spec/unit/parser/scope.rb +++ b/spec/unit/parser/scope.rb @@ -223,6 +223,36 @@ describe Puppet::Parser::Scope do end end + describe "when interpolating string" do + (0..9).each do |n| + it "should allow $#{n} to match" do + @scope.setvar(n.to_s, "value", :ephemeral => true) + + @scope.strinterp("$#{n}").should == "value" + end + end + + (0..9).each do |n| + it "should not allow $#{n} to match if not ephemeral" do + @scope.setvar(n.to_s, "value", :ephemeral => false) + + @scope.strinterp("$#{n}").should_not == "value" + end + end + + it "should not allow $10 to match" do + @scope.setvar("10", "value", :ephemeral => true) + + @scope.strinterp('==$10==').should_not == "==value==" + end + + it "should not allow ${10} to match" do + @scope.setvar("10", "value", :ephemeral => true) + + @scope.strinterp('==${10}==').should == "==value==" + end + end + describe "when setting ephemeral vars from matches" do before :each do @match = stub 'match', :is_a? => true -- cgit