diff options
| author | Brice Figureau <brice-puppet@daysofwonder.com> | 2009-05-30 20:15:08 +0200 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2009-06-06 09:52:53 +1000 |
| commit | d69fffb63ca9efe3cca67167430b23d3b8d38fa4 (patch) | |
| tree | ea6c622f8610db44fd874f877a9a5aee6fe89a73 /spec/unit/parser | |
| parent | 6ce0d1e633780a71ec3597a90120d67d77a5d89f (diff) | |
| download | puppet-d69fffb63ca9efe3cca67167430b23d3b8d38fa4.tar.gz puppet-d69fffb63ca9efe3cca67167430b23d3b8d38fa4.tar.xz puppet-d69fffb63ca9efe3cca67167430b23d3b8d38fa4.zip | |
Fix #2246 - Array tagged resources can't be collected or exported
I don't know why we imposed the restriction that we shouldn't match
with parameter containing arrays in exported mode.
That doesn't seem right, as the produced rails query works fine with
arrays.
Note: the user tags are not stored in the rails database except under
the special resource parameter tag. This also doesn't seem right.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
Diffstat (limited to 'spec/unit/parser')
| -rwxr-xr-x | spec/unit/parser/ast/collexpr.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/spec/unit/parser/ast/collexpr.rb b/spec/unit/parser/ast/collexpr.rb index 51cd820a2..e45203492 100755 --- a/spec/unit/parser/ast/collexpr.rb +++ b/spec/unit/parser/ast/collexpr.rb @@ -74,16 +74,18 @@ describe Puppet::Parser::AST::CollExpr do end end - it "should check for array member equality if resource parameter is an array for ==" do + [:exported,:virtual].each do |mode| + it "should check for array member equality if resource parameter is an array for == in mode #{mode}" do array = mock 'array', :safeevaluate => "array" test1 = mock 'test1' test1.expects(:safeevaluate).with(@scope).returns("test1") resource = mock 'resource' resource.expects(:[]).with("array").at_least(1).returns(["test1","test2","test3"]) - collexpr = ast::CollExpr.new(:test1 => array, :test2 => test1, :oper => "==") + collexpr = ast::CollExpr.new(:test1 => array, :test2 => test1, :oper => "==", :form => mode) collexpr.evaluate(@scope)[1].call(resource).should be_true end + end it "should raise an error for invalid operator" do lambda { collexpr = ast::CollExpr.new(:oper=>">") }.should raise_error |
