summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Barber <ken@bob.sh>2011-07-29 17:55:45 +0100
committerKen Barber <ken@bob.sh>2011-07-29 17:55:45 +0100
commit4080c0534e76cf68b935344c75b2382f0184a226 (patch)
treeddf74ba1f46b5f8f28f56d3a10c0342e48ecebb4
parentce48eb6e7a76f74e1f61c76ac3b185031c40772b (diff)
downloadpuppet-stdlib-4080c0534e76cf68b935344c75b2382f0184a226.tar.gz
puppet-stdlib-4080c0534e76cf68b935344c75b2382f0184a226.tar.bz2
(#2) unstub is_valid_mac_address.
-rw-r--r--lib/puppet/parser/functions/is_valid_mac_address.rb8
-rw-r--r--spec/unit/parser/functions/is_valid_mac_address_spec.rb9
2 files changed, 15 insertions, 2 deletions
diff --git a/lib/puppet/parser/functions/is_valid_mac_address.rb b/lib/puppet/parser/functions/is_valid_mac_address.rb
index 0b91d0d..a00d874 100644
--- a/lib/puppet/parser/functions/is_valid_mac_address.rb
+++ b/lib/puppet/parser/functions/is_valid_mac_address.rb
@@ -12,6 +12,14 @@ module Puppet::Parser::Functions
"given #{arguments.size} for 1")
end
+ mac = arguments[0]
+
+ if /^[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}$/.match(mac) then
+ return true
+ else
+ return false
+ end
+
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 c4eb468..62e6fee 100644
--- a/spec/unit/parser/functions/is_valid_mac_address_spec.rb
+++ b/spec/unit/parser/functions/is_valid_mac_address_spec.rb
@@ -19,12 +19,17 @@ describe "the is_valid_mac_address function" do
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 = @scope.function_is_valid_mac_address(["00:a0:1f:12:7f:a0"])
result.should(eq(true))
end
+ it "should return false if octets are out of range" do
+ result = @scope.function_is_valid_mac_address(["00:a0:1f:12:7f:g0"])
+ result.should(eq(false))
+ end
+
it "should return false if not valid" do
- result = @scope.function_is_valid_mac_address("not valid")
+ result = @scope.function_is_valid_mac_address(["not valid"])
result.should(eq(false))
end