diff options
author | David Schmitt <david.schmitt@puppet.com> | 2017-01-13 13:46:17 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-13 13:46:17 +0000 |
commit | 1b4fb4e641af758dceeb0a4854099e5460700d6f (patch) | |
tree | d96aa59e9f7a4b5e088a6a5f8f9db5ebd7d10200 | |
parent | b65dd1f45d10e10e45455358aeabb29167990e2c (diff) | |
parent | 128d6fe56855ba37698f67314b991a2bfdb7af37 (diff) |
Merge pull request #708 from HelenCampbell/hashcompat
Addition of compat hash type for deprecation
-rw-r--r-- | spec/aliases/hash_spec.rb | 32 | ||||
-rw-r--r-- | spec/fixtures/test/manifests/hash.pp | 8 | ||||
-rw-r--r-- | types/compat/hash.pp | 2 |
3 files changed, 42 insertions, 0 deletions
diff --git a/spec/aliases/hash_spec.rb b/spec/aliases/hash_spec.rb new file mode 100644 index 0000000..e10a04b --- /dev/null +++ b/spec/aliases/hash_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' + +if Puppet.version.to_f >= 4.5 + describe 'test::hash', type: :class do + describe 'accepts hashes' do + [ + {}, + {'one' => "two"}, + {'wan' => 3}, + {'001' => "helly"}, + ].each do |value| + describe value.inspect do + let(:params) {{ value: value }} + it { is_expected.to compile } + end + end + end + describe 'rejects other values' do + [ + '', + 'one', + '1', + [], + ].each do |value| + describe value.inspect do + let(:params) {{ value: value }} + it { is_expected.to compile.and_raise_error(/parameter 'value' expects a Stdlib::Compat::Hash/) } + end + end + end + end +end diff --git a/spec/fixtures/test/manifests/hash.pp b/spec/fixtures/test/manifests/hash.pp new file mode 100644 index 0000000..c243570 --- /dev/null +++ b/spec/fixtures/test/manifests/hash.pp @@ -0,0 +1,8 @@ +# Class to test the Stdlib::Compat::Hash type alias +class test::hash( + Stdlib::Compat::Hash $value, + ) { + + notice("Success") + +} diff --git a/types/compat/hash.pp b/types/compat/hash.pp new file mode 100644 index 0000000..e84a10b --- /dev/null +++ b/types/compat/hash.pp @@ -0,0 +1,2 @@ +# Emulate the is_hash and validate_hash functions +type Stdlib::Compat::Hash = Hash[Any, Any] |