summaryrefslogtreecommitdiff
path: root/code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb')
-rw-r--r--code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb b/code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb
new file mode 100644
index 0000000..3a71ed9
--- /dev/null
+++ b/code/environments/production/modules/stdlib/spec/functions/type3x_spec.rb
@@ -0,0 +1,41 @@
+require 'spec_helper'
+
+describe 'type3x' do
+ it 'exists' do
+ expect(Puppet::Parser::Functions.function('type3x')).to eq('function_type3x')
+ end
+
+ it 'raises a ParseError if there is less than 1 arguments' do
+ expect { scope.function_type3x([]) }.to(raise_error(Puppet::ParseError))
+ end
+
+ it 'returns string when given a string' do
+ result = scope.function_type3x(['aaabbbbcccc'])
+ expect(result).to(eq('string'))
+ end
+
+ it 'returns array when given an array' do
+ result = scope.function_type3x([%w[aaabbbbcccc asdf]])
+ expect(result).to(eq('array'))
+ end
+
+ it 'returns hash when given a hash' do
+ result = scope.function_type3x([{ 'a' => 1, 'b' => 2 }])
+ expect(result).to(eq('hash'))
+ end
+
+ it 'returns integer when given an integer' do
+ result = scope.function_type3x(['1'])
+ expect(result).to(eq('integer'))
+ end
+
+ it 'returns float when given a float' do
+ result = scope.function_type3x(['1.34'])
+ expect(result).to(eq('float'))
+ end
+
+ it 'returns boolean when given a boolean' do
+ result = scope.function_type3x([true])
+ expect(result).to(eq('boolean'))
+ end
+end