summaryrefslogtreecommitdiff
path: root/spec/unit/parser
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/parser')
-rw-r--r--spec/unit/parser/functions/is_valid_domain_name_spec.rb10
-rw-r--r--spec/unit/parser/functions/is_valid_ip_address_spec.rb10
-rw-r--r--spec/unit/parser/functions/is_valid_mac_address_spec.rb10
-rw-r--r--spec/unit/parser/functions/join_spec.rb5
-rw-r--r--spec/unit/parser/functions/join_with_prefix_spec.rb5
-rw-r--r--spec/unit/parser/functions/keys_spec.rb5
-rw-r--r--spec/unit/parser/functions/lstrip_spec.rb5
-rw-r--r--spec/unit/parser/functions/member_spec.rb10
-rw-r--r--spec/unit/parser/functions/num2bool_spec.rb5
-rw-r--r--spec/unit/parser/functions/prefix_spec.rb5
-rw-r--r--spec/unit/parser/functions/range_spec.rb10
-rw-r--r--spec/unit/parser/functions/reverse_spec.rb5
-rw-r--r--spec/unit/parser/functions/rstrip_spec.rb10
-rw-r--r--spec/unit/parser/functions/size_spec.rb10
-rw-r--r--spec/unit/parser/functions/sort_spec.rb9
-rw-r--r--spec/unit/parser/functions/squeeze_spec.rb10
-rw-r--r--spec/unit/parser/functions/str2bool_spec.rb10
-rw-r--r--spec/unit/parser/functions/strip_spec.rb5
-rw-r--r--spec/unit/parser/functions/swapcase_spec.rb5
-rw-r--r--spec/unit/parser/functions/type_spec.rb5
-rw-r--r--spec/unit/parser/functions/unique_spec.rb5
-rw-r--r--spec/unit/parser/functions/upcase_spec.rb5
-rw-r--r--spec/unit/parser/functions/values_at_spec.rb5
-rw-r--r--spec/unit/parser/functions/values_spec.rb5
-rw-r--r--spec/unit/parser/functions/zip_spec.rb5
25 files changed, 172 insertions, 2 deletions
diff --git a/spec/unit/parser/functions/is_valid_domain_name_spec.rb b/spec/unit/parser/functions/is_valid_domain_name_spec.rb
index 5cea285..f03f6e8 100644
--- a/spec/unit/parser/functions/is_valid_domain_name_spec.rb
+++ b/spec/unit/parser/functions/is_valid_domain_name_spec.rb
@@ -18,4 +18,14 @@ describe "the is_valid_domain_name function" do
lambda { @scope.function_is_valid_domain_name([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return true if a valid domain name" do
+ result = @scope.function_is_valid_domain_name("foo.bar.com")
+ result.should(eq(true))
+ end
+
+ it "should return false if not a valid domain name" do
+ result = @scope.function_is_valid_domain_name("not valid")
+ result.should(eq(false))
+ end
+
end
diff --git a/spec/unit/parser/functions/is_valid_ip_address_spec.rb b/spec/unit/parser/functions/is_valid_ip_address_spec.rb
index fa803dd..ee53ee1 100644
--- a/spec/unit/parser/functions/is_valid_ip_address_spec.rb
+++ b/spec/unit/parser/functions/is_valid_ip_address_spec.rb
@@ -18,4 +18,14 @@ describe "the is_valid_ip_address function" do
lambda { @scope.function_is_valid_ip_address([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return true if an IP address" do
+ result = @scope.function_is_valid_ip_address("1.2.3.4")
+ result.should(eq(true))
+ end
+
+ it "should return false if not valid" do
+ result = @scope.function_is_valid_ip_address("asdf")
+ result.should(eq(false))
+ end
+
end
diff --git a/spec/unit/parser/functions/is_valid_mac_address_spec.rb b/spec/unit/parser/functions/is_valid_mac_address_spec.rb
index f2a8389..c4eb468 100644
--- a/spec/unit/parser/functions/is_valid_mac_address_spec.rb
+++ b/spec/unit/parser/functions/is_valid_mac_address_spec.rb
@@ -18,4 +18,14 @@ describe "the is_valid_mac_address function" do
lambda { @scope.function_is_valid_mac_address([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return true if a valid mac address" do
+ result = @scope.function_is_valid_mac_address("00:a0:1f:12:7f:a0")
+ result.should(eq(true))
+ end
+
+ it "should return false if not valid" do
+ result = @scope.function_is_valid_mac_address("not valid")
+ result.should(eq(false))
+ end
+
end
diff --git a/spec/unit/parser/functions/join_spec.rb b/spec/unit/parser/functions/join_spec.rb
index a7dc0e5..1b3dec8 100644
--- a/spec/unit/parser/functions/join_spec.rb
+++ b/spec/unit/parser/functions/join_spec.rb
@@ -18,4 +18,9 @@ describe "the join function" do
lambda { @scope.function_join([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should join an array into a string" do
+ result = @scope.function_join([["a","b","c"], ":"])
+ result.should(eq("a:b:c"))
+ end
+
end
diff --git a/spec/unit/parser/functions/join_with_prefix_spec.rb b/spec/unit/parser/functions/join_with_prefix_spec.rb
index 0182d8c..70e6965 100644
--- a/spec/unit/parser/functions/join_with_prefix_spec.rb
+++ b/spec/unit/parser/functions/join_with_prefix_spec.rb
@@ -18,4 +18,9 @@ describe "the join_with_prefix function" do
lambda { @scope.function_join_with_prefix([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should join an array into a string" do
+ result = @scope.function_join_with_prefix([["a","b","c"], ":", "p"])
+ result.should(eq("pa:pb:pc"))
+ end
+
end
diff --git a/spec/unit/parser/functions/keys_spec.rb b/spec/unit/parser/functions/keys_spec.rb
index 13dc260..927be96 100644
--- a/spec/unit/parser/functions/keys_spec.rb
+++ b/spec/unit/parser/functions/keys_spec.rb
@@ -18,4 +18,9 @@ describe "the keys function" do
lambda { @scope.function_keys([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return an array of keys when given a hash" do
+ result = @scope.function_keys([{'a'=>1, 'b' => 2}])
+ result.should(eq(['a','b']))
+ end
+
end
diff --git a/spec/unit/parser/functions/lstrip_spec.rb b/spec/unit/parser/functions/lstrip_spec.rb
index 9726675..ac331fa 100644
--- a/spec/unit/parser/functions/lstrip_spec.rb
+++ b/spec/unit/parser/functions/lstrip_spec.rb
@@ -18,4 +18,9 @@ describe "the lstrip function" do
lambda { @scope.function_lstrip([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should lstrip a string" do
+ result = @scope.function_lstrip([" asdf"])
+ result.should(eq('asdf'))
+ end
+
end
diff --git a/spec/unit/parser/functions/member_spec.rb b/spec/unit/parser/functions/member_spec.rb
index 39b684f..2cebc0d 100644
--- a/spec/unit/parser/functions/member_spec.rb
+++ b/spec/unit/parser/functions/member_spec.rb
@@ -18,4 +18,14 @@ describe "the member function" do
lambda { @scope.function_member([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return true if a member is in an array" do
+ result = @scope.function_member([["a","b","c"], "a"])
+ result.should(eq(true))
+ end
+
+ it "should return false if a member is not in an array" do
+ result = @scope.function_member([["a","b","c"], "d"])
+ result.should(eq(false))
+ end
+
end
diff --git a/spec/unit/parser/functions/num2bool_spec.rb b/spec/unit/parser/functions/num2bool_spec.rb
index fbd25c8..2f6435d 100644
--- a/spec/unit/parser/functions/num2bool_spec.rb
+++ b/spec/unit/parser/functions/num2bool_spec.rb
@@ -18,4 +18,9 @@ describe "the num2bool function" do
lambda { @scope.function_num2bool([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return true if 1" do
+ result = @scope.function_num2bool(["1"])
+ result.should(eq(true))
+ end
+
end
diff --git a/spec/unit/parser/functions/prefix_spec.rb b/spec/unit/parser/functions/prefix_spec.rb
index 9ede439..a0cbcab 100644
--- a/spec/unit/parser/functions/prefix_spec.rb
+++ b/spec/unit/parser/functions/prefix_spec.rb
@@ -18,4 +18,9 @@ describe "the prefix function" do
lambda { @scope.function_prefix([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return a prefixed array" do
+ result = @scope.function_prefix([['a','b','c'], 'p'])
+ result.should(eq(['pa','pb','pc']))
+ end
+
end
diff --git a/spec/unit/parser/functions/range_spec.rb b/spec/unit/parser/functions/range_spec.rb
index 23310bc..8c2446a 100644
--- a/spec/unit/parser/functions/range_spec.rb
+++ b/spec/unit/parser/functions/range_spec.rb
@@ -18,4 +18,14 @@ describe "the range function" do
lambda { @scope.function_range([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return a letter range" do
+ result = @scope.function_range(["a","d"])
+ result.should(eq(['a','b','c','d']))
+ end
+
+ it "should return a number range" do
+ result = @scope.function_range(["1","4"])
+ result.should(eq([1,2,3,4]))
+ end
+
end
diff --git a/spec/unit/parser/functions/reverse_spec.rb b/spec/unit/parser/functions/reverse_spec.rb
index 27aa2cf..4fa50e4 100644
--- a/spec/unit/parser/functions/reverse_spec.rb
+++ b/spec/unit/parser/functions/reverse_spec.rb
@@ -18,4 +18,9 @@ describe "the reverse function" do
lambda { @scope.function_reverse([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should reverse a string" do
+ result = @scope.function_reverse(["asdfghijkl"])
+ result.should(eq('lkjihgfdsa'))
+ end
+
end
diff --git a/spec/unit/parser/functions/rstrip_spec.rb b/spec/unit/parser/functions/rstrip_spec.rb
index a6e73ec..af8cc12 100644
--- a/spec/unit/parser/functions/rstrip_spec.rb
+++ b/spec/unit/parser/functions/rstrip_spec.rb
@@ -18,4 +18,14 @@ describe "the rstrip function" do
lambda { @scope.function_rstrip([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should rstrip a string" do
+ result = @scope.function_rstrip(["asdf "])
+ result.should(eq('asdf'))
+ end
+
+ it "should rstrip each element in an array" do
+ result = @scope.function_rstrip([["a ","b ", "c "]])
+ result.should(eq(['a','b','c']))
+ end
+
end
diff --git a/spec/unit/parser/functions/size_spec.rb b/spec/unit/parser/functions/size_spec.rb
index 0d1f0c4..ccaa335 100644
--- a/spec/unit/parser/functions/size_spec.rb
+++ b/spec/unit/parser/functions/size_spec.rb
@@ -18,4 +18,14 @@ describe "the size function" do
lambda { @scope.function_size([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return the size of a string" do
+ result = @scope.function_size(["asdf"])
+ result.should(eq(4))
+ end
+
+ it "should return the size of an array" do
+ result = @scope.function_size([["a","b","c"]])
+ result.should(eq(3))
+ end
+
end
diff --git a/spec/unit/parser/functions/sort_spec.rb b/spec/unit/parser/functions/sort_spec.rb
index ae62d5f..da5db7a 100644
--- a/spec/unit/parser/functions/sort_spec.rb
+++ b/spec/unit/parser/functions/sort_spec.rb
@@ -14,8 +14,13 @@ describe "the sort function" do
Puppet::Parser::Functions.function("sort").should == "function_sort"
end
- it "should raise a ParseError if there is not 0 arguments" do
- lambda { @scope.function_sort(['']) }.should( raise_error(Puppet::ParseError))
+ it "should raise a ParseError if there is not 1 arguments" do
+ lambda { @scope.function_sort(['','']) }.should( raise_error(Puppet::ParseError))
+ end
+
+ it "should sort an array" do
+ result = @scope.function_sort([["a","c","b"]])
+ result.should(eq(['a','b','c']))
end
end
diff --git a/spec/unit/parser/functions/squeeze_spec.rb b/spec/unit/parser/functions/squeeze_spec.rb
index da8965c..9355ad2 100644
--- a/spec/unit/parser/functions/squeeze_spec.rb
+++ b/spec/unit/parser/functions/squeeze_spec.rb
@@ -18,4 +18,14 @@ describe "the squeeze function" do
lambda { @scope.function_squeeze([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should squeeze a string" do
+ result = @scope.function_squeeze(["aaabbbbcccc"])
+ result.should(eq('abc'))
+ end
+
+ it "should squeeze all elements in an array" do
+ result = @scope.function_squeeze([["aaabbbbcccc","dddfff"]])
+ result.should(eq(['abc','df']))
+ end
+
end
diff --git a/spec/unit/parser/functions/str2bool_spec.rb b/spec/unit/parser/functions/str2bool_spec.rb
index 6a1ac95..d7f0ac9 100644
--- a/spec/unit/parser/functions/str2bool_spec.rb
+++ b/spec/unit/parser/functions/str2bool_spec.rb
@@ -18,4 +18,14 @@ describe "the str2bool function" do
lambda { @scope.function_str2bool([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should convert string 'true' to true" do
+ result = @scope.function_str2bool(["true"])
+ result.should(eq(true))
+ end
+
+ it "should convert string 'undef' to false" do
+ result = @scope.function_str2bool(["undef"])
+ result.should(eq(false))
+ end
+
end
diff --git a/spec/unit/parser/functions/strip_spec.rb b/spec/unit/parser/functions/strip_spec.rb
index ca06845..48a52dd 100644
--- a/spec/unit/parser/functions/strip_spec.rb
+++ b/spec/unit/parser/functions/strip_spec.rb
@@ -18,4 +18,9 @@ describe "the strip function" do
lambda { @scope.function_strip([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should strip a string" do
+ result = @scope.function_strip([" ab cd "])
+ result.should(eq('ab cd'))
+ end
+
end
diff --git a/spec/unit/parser/functions/swapcase_spec.rb b/spec/unit/parser/functions/swapcase_spec.rb
index 7c5ff30..2686054 100644
--- a/spec/unit/parser/functions/swapcase_spec.rb
+++ b/spec/unit/parser/functions/swapcase_spec.rb
@@ -18,4 +18,9 @@ describe "the swapcase function" do
lambda { @scope.function_swapcase([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should swapcase a string" do
+ result = @scope.function_swapcase(["aaBBccDD"])
+ result.should(eq('AAbbCCdd'))
+ end
+
end
diff --git a/spec/unit/parser/functions/type_spec.rb b/spec/unit/parser/functions/type_spec.rb
index 4109da1..fddb87d 100644
--- a/spec/unit/parser/functions/type_spec.rb
+++ b/spec/unit/parser/functions/type_spec.rb
@@ -18,4 +18,9 @@ describe "the type function" do
lambda { @scope.function_type([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return a type when given a string" do
+ result = @scope.function_type(["aaabbbbcccc"])
+ result.should(eq('String'))
+ end
+
end
diff --git a/spec/unit/parser/functions/unique_spec.rb b/spec/unit/parser/functions/unique_spec.rb
index fe7b3ca..7b8b08d 100644
--- a/spec/unit/parser/functions/unique_spec.rb
+++ b/spec/unit/parser/functions/unique_spec.rb
@@ -18,4 +18,9 @@ describe "the unique function" do
lambda { @scope.function_unique([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should remove duplicate elements in a string" do
+ result = @scope.function_squeeze([["aabbc"]])
+ result.should(eq(['abc']))
+ end
+
end
diff --git a/spec/unit/parser/functions/upcase_spec.rb b/spec/unit/parser/functions/upcase_spec.rb
index 39884eb..10e4c8a 100644
--- a/spec/unit/parser/functions/upcase_spec.rb
+++ b/spec/unit/parser/functions/upcase_spec.rb
@@ -18,4 +18,9 @@ describe "the upcase function" do
lambda { @scope.function_upcase([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should upcase a string" do
+ result = @scope.function_upcase(["abc"])
+ result.should(eq('ABC'))
+ end
+
end
diff --git a/spec/unit/parser/functions/values_at_spec.rb b/spec/unit/parser/functions/values_at_spec.rb
index af5dc25..ec8730b 100644
--- a/spec/unit/parser/functions/values_at_spec.rb
+++ b/spec/unit/parser/functions/values_at_spec.rb
@@ -18,4 +18,9 @@ describe "the values_at function" do
lambda { @scope.function_values_at([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return a value at from an array" do
+ result = @scope.function_values_at([['a','b','c'],"1"])
+ result.should(eq(['b']))
+ end
+
end
diff --git a/spec/unit/parser/functions/values_spec.rb b/spec/unit/parser/functions/values_spec.rb
index 2c313a0..92f1311 100644
--- a/spec/unit/parser/functions/values_spec.rb
+++ b/spec/unit/parser/functions/values_spec.rb
@@ -18,4 +18,9 @@ describe "the values function" do
lambda { @scope.function_values([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should return values from a hash" do
+ result = @scope.function_values([{'a'=>'1','b'=>'2','c'=>'3'}])
+ result.should(eq(['1','2','3']))
+ end
+
end
diff --git a/spec/unit/parser/functions/zip_spec.rb b/spec/unit/parser/functions/zip_spec.rb
index 3d0392a..074f4df 100644
--- a/spec/unit/parser/functions/zip_spec.rb
+++ b/spec/unit/parser/functions/zip_spec.rb
@@ -18,4 +18,9 @@ describe "the zip function" do
lambda { @scope.function_zip([]) }.should( raise_error(Puppet::ParseError))
end
+ it "should be able to zip an array" do
+ result = @scope.function_zip([['1','2','3'],['4','5','6']])
+ result.should(eq([["1", "4"], ["2", "5"], ["3", "6"]]))
+ end
+
end