diff options
| author | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-05-18 15:36:36 -0700 |
|---|---|---|
| committer | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-05-18 15:36:36 -0700 |
| commit | b87a1dea704ed981f2f0af728afac2c63e87b5a8 (patch) | |
| tree | db7e191629d5de3cadf388fb35ca71c5fe32a283 /spec/integration | |
| parent | b63fd841a188f9b21aed40c7b2f046a144fd37c9 (diff) | |
| parent | 7941336d6b91945c02bc6e79f72720f6048f4e64 (diff) | |
Merge branch 'next'
Diffstat (limited to 'spec/integration')
| -rwxr-xr-x | spec/integration/parser/parser_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/integration/parser/parser_spec.rb b/spec/integration/parser/parser_spec.rb index 65c9ee302..b55aa04ce 100755 --- a/spec/integration/parser/parser_spec.rb +++ b/spec/integration/parser/parser_spec.rb @@ -117,5 +117,36 @@ describe Puppet::Parser::Parser do $out = $hash['a']['b']['c'] }.should parse_with { |v| v.value.is_a?(Puppet::Parser::AST::ASTHash) } end + + it "should fail if asked to parse '$foo::::bar'" do + expect { @parser.parse("$foo::::bar") }.should raise_error(Puppet::ParseError, /Syntax error at ':'/) + end + + describe "function calls" do + it "should be able to pass an array to a function" do + "my_function([1,2,3])".should parse_with { |fun| + fun.is_a?(Puppet::Parser::AST::Function) && + fun.arguments.first.evaluate(stub 'scope') == ['1','2','3'] + } + end + + it "should be able to pass a hash to a function" do + "my_function({foo => bar})".should parse_with { |fun| + fun.is_a?(Puppet::Parser::AST::Function) && + fun.arguments.first.evaluate(stub 'scope') == {'foo' => 'bar'} + } + end + end + + describe "collections" do + it "should find resources according to an expression" do + %q{ + File <| mode == 0700 + 0050 + 0050 |> + }.should parse_with { |coll| + coll.is_a?(Puppet::Parser::AST::Collection) && + coll.query.evaluate(stub 'scope').first == "param_values.value = '528' and param_names.name = 'mode'" + } + end + end end end |
