+1

On Aug 8, 2009, at 12:03 PM, Markus Roberts wrote:

>
> Added downcasing into find_or_load (which replaced fqfind) to get
> back the old behaviour.  Adjusted tests so that they would catch
> the problem & confirmed that they fail without the downcasing.
>
> Signed-off-by: Markus Roberts <[email protected]>
> ---
> lib/puppet/parser/parser_support.rb |    2 ++
> spec/unit/parser/parser.rb          |   30 ++++++++++++++++++ 
> +-----------
> 2 files changed, 21 insertions(+), 11 deletions(-)
>
> diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/ 
> parser_support.rb
> index 4e47cde..68cd382 100644
> --- a/lib/puppet/parser/parser_support.rb
> +++ b/lib/puppet/parser/parser_support.rb
> @@ -114,6 +114,8 @@ class Puppet::Parser::Parser
>
>     def find_or_load(namespace, name, type)
>         method = "find_#{type}"
> +        namespace = namespace.downcase
> +        name      = name.downcase
>         fullname = (namespace + "::" + name).sub(/^::/, '')
>         names_to_try = [fullname]
>
> diff --git a/spec/unit/parser/parser.rb b/spec/unit/parser/parser.rb
> index 75d0c05..ff14e20 100755
> --- a/spec/unit/parser/parser.rb
> +++ b/spec/unit/parser/parser.rb
> @@ -346,32 +346,40 @@ describe Puppet::Parser do
>     describe Puppet::Parser,"when looking up names" do
>         before :each do
>             @loaded_code = mock 'loaded code'
> -             
> @loaded_code.stubs(:find_my_type).with('Loaded_namespace',   
> 'Loaded_name').returns(true)
> -             
> @loaded_code.stubs(:find_my_type).with('Bogus_namespace',    
> 'Bogus_name' ).returns(false)
> +             
> @loaded_code.stubs(:find_my_type).with('loaded_namespace',   
> 'loaded_name').returns(true)
> +             
> @loaded_code.stubs(:find_my_type).with('bogus_namespace',    
> 'bogus_name' ).returns(false)
>             @parser = Puppet::Parser::Parser.new :environment =>  
> "development",:loaded_code => @loaded_code
>         end
>
>         describe "that are already loaded" do
>             it "should not try to load anything" do
>                 @parser.expects(:load).never
> -                 
> @parser.find_or_load("Loaded_namespace","Loaded_name",:my_type)
> +                 
> @parser.find_or_load("loaded_namespace","loaded_name",:my_type)
>             end
>             it "should return true" do
> -                 
> @parser 
> .find_or_load("Loaded_namespace","Loaded_name",:my_type).should ==  
> true
> +                 
> @parser 
> .find_or_load("loaded_namespace","loaded_name",:my_type).should ==  
> true
>             end
>         end
>
>         describe "that aren't already loaded" do
> -            it "should first attempt to load them with the fully  
> qualified name" do
> -                 
> @loaded_code 
> .stubs 
> (:find_my_type 
> ).with("Foo_namespace","Foo_name").returns(false,true,true)
> -                 
> @parser 
> .expects 
> (:load 
> ).with("Foo_namespace::Foo_name").returns(true).then.raises(Exception)
> +            it "should first attempt to load them with the all  
> lowercase fully qualified name" do
> +                 
> @loaded_code 
> .stubs 
> (:find_my_type 
> ).with("foo_namespace","foo_name").returns(false,true,true)
> +                 
> @parser 
> .expects 
> (:load 
> ).with("foo_namespace::foo_name").returns(true).then.raises(Exception)
>                  
> @parser.find_or_load("Foo_namespace","Foo_name",:my_type).should ==  
> true
>             end
>
> -            it "should next attempt to load them with the  
> namespace" do
> -                 
> @loaded_code 
> .stubs 
> (:find_my_type 
> ).with("Foo_namespace","Foo_name").returns(false,false,true,true)
> -                 
> @parser 
> .expects 
> (:load 
> ).with 
> ("Foo_namespace::Foo_name").returns(false).then.raises(Exception)
> -                 
> @parser 
> .expects 
> (:load).with("Foo_namespace").returns(true).then.raises(Exception)
> +            it "should next attempt to load them with the all  
> lowercase namespace" do
> +                 
> @loaded_code 
> .stubs 
> (:find_my_type 
> ).with("foo_namespace","foo_name").returns(false,false,true,true)
> +                 
> @parser 
> .expects 
> (:load 
> ).with 
> ("foo_namespace::foo_name").returns(false).then.raises(Exception)
> +                 
> @parser 
> .expects 
> (:load 
> ).with 
> ("foo_namespace"          ).returns(true ).then.raises(Exception)
> +                 
> @parser.find_or_load("Foo_namespace","Foo_name",:my_type).should ==  
> true
> +            end
> +
> +            it "should finally attempt to load them with the all  
> lowercase unqualified name" do
> +                 
> @loaded_code 
> .stubs 
> (:find_my_type 
> ).with 
> ("foo_namespace","foo_name").returns(false,false,false,true,true)
> +                 
> @parser 
> .expects 
> (:load 
> ).with 
> ("foo_namespace::foo_name").returns(false).then.raises(Exception)
> +                 
> @parser 
> .expects 
> (:load 
> ).with 
> ("foo_namespace"          ).returns(false).then.raises(Exception)
> +                 
> @parser 
> .expects 
> (:load 
> ).with 
> (               "foo_name").returns(true ).then.raises(Exception)
>                  
> @parser.find_or_load("Foo_namespace","Foo_name",:my_type).should ==  
> true
>             end
>
> -- 
> 1.6.0.4
>
>
> >


-- 
Hollywood is a place where they'll pay you a thousand dollars for a
kiss and fifty cents for your soul. -- Marilyn Monroe
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com


--~--~---------~--~----~------------~-------~--~----~
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