]> gitweb.fluxo.info Git - puppet-stdlib.git/commit
(#20681) fix behaviour of delete_values
authorLeonardo Rodrigues de Mello <l@lmello.eu.org>
Mon, 16 Sep 2013 13:33:58 +0000 (10:33 -0300)
committerLeonardo Rodrigues de Mello <l@lmello.eu.org>
Tue, 17 Sep 2013 15:05:23 +0000 (12:05 -0300)
commit51d96088c1d6bde8dae511d6a93bc6775e716f60
tree77823de2bd75cd72e30ede20379b0c27bb406687
parent806430224ad0da860be3761ab83f1e574b64fc60
(#20681) fix behaviour of delete_values

The issue #20681 describe the error of delete() function
removing the elements from the origin array/hash/string.

This issue affected other delete functions. Because
ruby delete and delete_if functions make destructive
changes to the origin array/hash.

The delete_undef_values removed elements from the
origin hash and this is not the desired behaviour.

To solve this, we should dup or clone the hash
before using the delete or delete_if ruby functions.

This fix the problem and add unit tests, so we could
enforce this behaviour and prevent regressions.
lib/puppet/parser/functions/delete_values.rb
spec/unit/puppet/parser/functions/delete_values_spec.rb