]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
(#2) unstub is_valid_mac_address.
authorKen Barber <ken@bob.sh>
Fri, 29 Jul 2011 16:55:45 +0000 (17:55 +0100)
committerKen Barber <ken@bob.sh>
Fri, 29 Jul 2011 16:55:45 +0000 (17:55 +0100)
lib/puppet/parser/functions/is_valid_mac_address.rb
spec/unit/parser/functions/is_valid_mac_address_spec.rb

index 0b91d0ddb6ca9843abb2cca3f53c6d4b30589775..a00d87420afacf3376e41e6ec2c602d7e442394a 100644 (file)
@@ -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
 
index c4eb4684bb8b9a0050b2643cc64717af7e74809a..62e6fee6799042c8d8221940e18f9731a6aa6c75 100644 (file)
@@ -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