Commit graph

9 commits

Author SHA1 Message Date
Martin Hellmich
b975bd66aa Added rspec tests for the new behaviour of merge accepting empty strings
added test that '' is accepted
changed a test that a number is correctly rejected with a type error
2013-05-08 18:24:46 +02:00
stephen
5f22933e75 ammend .should raise_error to .to raise_error 2013-02-06 08:12:42 -08:00
Jeff McCune
a8a4f93992 Merge branch '2.1.x' into 2.2.x
* 2.1.x:
  (Maint) Fix mis-use of rvalue functions as statements
  Add .rspec file to repo root

Conflicts:
	spec/unit/puppet/parser/functions/getvar_spec.rb
	spec/unit/puppet/parser/functions/has_key_spec.rb
	spec/unit/puppet/parser/functions/merge_spec.rb
2012-08-20 14:03:48 -07:00
Jeff McCune
44929130f9 (Maint) Fix mis-use of rvalue functions as statements
Without this patch applied the spec tests are invalid because they call
rvalue functions as if they were statements.  This is a problem because
Puppet 2.7.x currently throws an exception if a rvalue function is
invoked as if it were a statement function.  This exception from Puppet
is causing tests to fail.

This patch fixes the problem by changing the tests to assign the return
value of the functions to a variable.  This fixes the problem by
invoking the functions properly.

Paired-with: Andrew Parker <andy@puppetlabs.com>
2012-08-20 13:57:09 -07:00
Patrick Carlisle
e27eccb356 Disable tests that fail on 2.6.x due to #15912
In Puppet 2.6.x there is a bug where a function may be incorrectly detected as
an rvalue when it is not, or not detected when it is. This means that in tests
the correct syntax for calling a function will be rejected. This disables
those tests on 2.6.x, as there is no straightforward way to write them to be
compatible with both 2.6.x and newer versions of Puppet.
2012-08-10 11:43:36 -07:00
Patrick Carlisle
09322ad943 Use rvalue functions correctly
A bug fix in Puppet exposed that several tests were using rvalue functions
incorrectly (this was not properly checked by puppet before). This fixes those
tests.
2012-08-09 14:49:51 -07:00
Jeff McCune
99f084868b (Maint) Rename PuppetlabsSpec::Puppet{Seams,Internals}
The module PuppetlabsSpec::PuppetSeams has been renamed in the
puppetlabs_spec_helper gem to PuppetlabsSpec::PuppetInternals.

The method to obtain a scope object has also changed slightly.  Without
this patch the spec tests will fail because the stdlib module is not
aligned with the spec helper gem.  This patch fixes the problem by
matching up messages with their receivers in the spec helper library.

Paired-with: Andrew Parker <andy@puppetlabs.com>
2012-07-23 08:35:00 -07:00
Jeff McCune
8a4e115ccb (Maint) use PuppetlabsSpec::PuppetSeams.parser_scope
Without this patch all of the spec tests for parser functions in stdlib
would instantiate their own scope instances.  This is a problem because
the standard library is tightly coupled with the internal behavior of
Puppet.  Tight coupling like this creates failures when we change the
internal behavior of Puppet.  This is exactly what happened recently
when we changed the method signature for the initializer of
Puppet::Parser::Scope instances.

This patch fixes the problem by creating scope instances using the
puppet labs spec helper.  The specific method that provides scope
instances in Puppet-version-independent way is something like this:

 let(:scope) { PuppetlabsSpec::PuppetSeams.parser_scope }

This patch simply implements this across the board.
2012-07-19 16:24:57 -07:00
Dan Bode
c4a13acafe (#8709) Add hash merging function
In Puppet, it is not possible to reassign hash
values.

This function allows a reasonable way to perform
hash munging in Puppet.

Reviewed-by: Jeff McCune
2011-07-29 15:28:21 -07:00