+1

On Wed, Sep 23, 2009 at 11:25 AM, Brice Figureau <
[email protected]> wrote:

>
> 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 <[email protected]>
> ---
>  lib/puppet/parser/ast/leaf.rb |    2 +-
>  spec/unit/parser/ast/leaf.rb  |   10 ++++++++++
>  2 files changed, 11 insertions(+), 1 deletions(-)
>
> diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
> index 2f00ea7..153120a 100644
> --- a/lib/puppet/parser/ast/leaf.rb
> +++ b/lib/puppet/parser/ast/leaf.rb
> @@ -102,7 +102,7 @@ class Puppet::Parser::AST
>         end
>
>         def to_classname
> -            to_s.downcase.gsub(/[^-a-zA-Z0-9:.]/,'').sub(/^\.+/,'')
> +            to_s.downcase.gsub(/[^-\w:.]/,'').sub(/^\.+/,'')
>         end
>
>         # implementing eql? and hash so that when an HostName is stored
> diff --git a/spec/unit/parser/ast/leaf.rb b/spec/unit/parser/ast/leaf.rb
> index 69b704a..e968150 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 n...@a classname$/") )
>         host.to_classname.should == "this-isnotaclassname"
> --
> 1.6.4
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to