]> granicus.if.org Git - php/commitdiff
MFH: add separate IPv6 test
authorAntony Dovgal <tony2001@php.net>
Mon, 12 Feb 2007 14:43:00 +0000 (14:43 +0000)
committerAntony Dovgal <tony2001@php.net>
Mon, 12 Feb 2007 14:43:00 +0000 (14:43 +0000)
ext/standard/tests/network/inet.phpt
ext/standard/tests/network/inet_ipv6.phpt [new file with mode: 0644]

index 70d472b5574052e3a0150285d8535df4edf8aeff..09cf206231e5e15d2d0493a5d83b74821179a20c 100644 (file)
@@ -14,9 +14,6 @@ var_dump(inet_ntop($packed));
 $packed = chr(255) . chr(255) . chr(255) . chr(0);
 var_dump(inet_ntop($packed));
 
-$packed = str_repeat(chr(0), 15) . chr(38);
-var_dump(inet_ntop($packed));
-
 var_dump(inet_ntop());
 var_dump(inet_ntop(-1));
 var_dump(inet_ntop(""));
@@ -43,7 +40,6 @@ echo "Done\n";
 --EXPECTF--    
 string(9) "127.0.0.1"
 string(13) "255.255.255.0"
-string(4) "::26"
 
 Warning: inet_ntop() expects exactly 1 parameter, 0 given in %s on line %d
 bool(false)
diff --git a/ext/standard/tests/network/inet_ipv6.phpt b/ext/standard/tests/network/inet_ipv6.phpt
new file mode 100644 (file)
index 0000000..f64976a
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+inet_ntop() & inet_pton() IPv6 tests
+--SKIPIF--
+<?php 
+if (!function_exists("inet_ntop")) die("skip no inet_ntop()"); 
+if (!function_exists("inet_pton")) die("skip no inet_pton()"); 
+
+$packed = str_repeat(chr(0), 15) . chr(1);
+if (@inet_ntop($packed) === false) {
+       die("skip no IPv6 support");
+}
+?>
+--FILE--
+<?php
+
+$a = array(
+       '::1',
+       '::2',
+       '::35',
+       '::255',
+       '::1024',
+       '',
+       '2001:0db8:85a3:08d3:1319:8a2e:0370:7344',
+       '2001:0db8:1234:0000:0000:0000:0000:0000',
+       '2001:0db8:1234:FFFF:FFFF:FFFF:FFFF:FFFF',
+);
+
+foreach ($a as $address) {
+       $packed = inet_pton($address);
+       var_dump(inet_ntop($packed));
+}
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(3) "::1"
+string(3) "::2"
+string(4) "::35"
+string(5) "::255"
+string(6) "::1024"
+
+Warning: inet_pton(): Unrecognized address  in %s on line %d
+
+Warning: inet_ntop(): Invalid in_addr value in %s on line %d
+bool(false)
+string(36) "2001:db8:85a3:8d3:1319:8a2e:370:7344"
+string(15) "2001:db8:1234::"
+string(38) "2001:db8:1234:ffff:ffff:ffff:ffff:ffff"
+Done