From bfba2cdf8787f1e7fa778bba1b74c03fc06634cd Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Wed, 23 Sep 2009 20:22:44 +0200 Subject: Fix #2672 - Make sure nodenames keep their underscores when used as classname The #2627 fix was modifying nodename in case of string nodename, but was removing '_'. Since underscores is a valid character in a class name, we now allow it. Signed-off-by: Brice Figureau --- spec/unit/parser/ast/leaf.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'spec/unit/parser') diff --git a/spec/unit/parser/ast/leaf.rb b/spec/unit/parser/ast/leaf.rb index 69b704ad8..e9681503d 100755 --- a/spec/unit/parser/ast/leaf.rb +++ b/spec/unit/parser/ast/leaf.rb @@ -195,6 +195,16 @@ describe Puppet::Parser::AST::HostName do host.to_classname.should == "klassname" end + it "should preserve '_' in to_classname with a string nodename" do + host = Puppet::Parser::AST::HostName.new( :value => "node_with_underscore") + host.to_classname.should == "node_with_underscore" + end + + it "should preserve '_' in to_classname with a regex nodename" do + host = Puppet::Parser::AST::HostName.new( :value => Puppet::Parser::AST::Regex.new(:value => "/\dnode_with_underscore\.+/") ) + host.to_classname.should == "dnode_with_underscore." + end + it "should return a string usable as classname when calling to_classname" do host = Puppet::Parser::AST::HostName.new( :value => Puppet::Parser::AST::Regex.new(:value => "/^this-is not@a classname$/") ) host.to_classname.should == "this-isnotaclassname" -- cgit