summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/parser/ast/selector.rb1
-rwxr-xr-xtest/language/ast/selector.rb7
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/puppet/parser/ast/selector.rb b/lib/puppet/parser/ast/selector.rb
index 7ba020c8e..f3d684a3d 100644
--- a/lib/puppet/parser/ast/selector.rb
+++ b/lib/puppet/parser/ast/selector.rb
@@ -43,6 +43,7 @@ class Puppet::Parser::AST
found = true
break
elsif obj.param.is_a?(Default)
+ # Store the default, in case it's necessary.
default = obj
end
}
diff --git a/test/language/ast/selector.rb b/test/language/ast/selector.rb
index ba21f616e..c7dfeb2fe 100755
--- a/test/language/ast/selector.rb
+++ b/test/language/ast/selector.rb
@@ -47,13 +47,16 @@ class TestSelector < Test::Unit::TestCase
%w{MYPARAM myparam}.each do |str|
param = nameobj(str)
params = maker.call()
+
+ # Delete the upper value, since we don't want it to match
+ # and it introduces a hash-ordering bug in testing.
+ params.delete(:upper)
sel = AST::Selector.new(:param => param, :values => params.values)
result = nil
assert_nothing_raised { result = sel.evaluate(:scope => scope) }
assert_equal("lower", result, "did not case-insensitively match %s" % str)
end
-
end
end
-# $Id$ \ No newline at end of file
+# $Id$