added some tests based on bug #64395

This commit is contained in:
Anatol Belski 2013-06-19 16:24:30 +02:00
parent c6b8d992ba
commit 2873b5b6eb
3 changed files with 80 additions and 7 deletions

View File

@ -1,10 +1,5 @@
--TEST--
Test ip2long() function : usage variation
--SKIPIF--
<?php
if(substr(PHP_OS, 0, 3) == "WIN")
die("skip. Windows is more compliant (like 0 for localhost, etc.)");
?>
Test ip2long() function : usage variation 1
--FILE--
<?php
/* Prototype : int ip2long(string ip_address)
@ -201,4 +196,4 @@ bool(false)
--resource--
Error: 2 - ip2long() expects parameter 1 to be string, resource given, %s(%d)
NULL
===DONE===
===DONE===

View File

@ -0,0 +1,39 @@
--TEST--
Test ip2long() function : usage variation 2, 32 bit
--SKIPIF--
<?php if(PHP_INT_SIZE != 4) {die('skip 32 bit only');} ?>
--FILE--
<?php
/* Prototype : int ip2long(string ip_address)
* Description: Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
* Source code: ext/standard/basic_functions.c
* Alias to functions:
*/
$ips = array(
"1.1.011.011",
"127.0.0.1",
"1.1.071.071",
"0.0.0.0",
"1.1.081.081",
"192.168.0.0",
"256.0.0.1",
"192.168.0xa.5",
);
foreach($ips as $ip) {
var_dump(ip2long($ip));
}
?>
===DONE===
--EXPECT--
bool(false)
int(2130706433)
bool(false)
int(0)
bool(false)
int(-1062731776)
bool(false)
bool(false)
===DONE===

View File

@ -0,0 +1,39 @@
--TEST--
Test ip2long() function : usage variation 2, 64 bit
--SKIPIF--
<?php if(PHP_INT_SIZE != 8) {die('skip 64 bit only');} ?>
--FILE--
<?php
/* Prototype : int ip2long(string ip_address)
* Description: Converts a string containing an (IPv4) Internet Protocol dotted address into a proper address
* Source code: ext/standard/basic_functions.c
* Alias to functions:
*/
$ips = array(
"1.1.011.011",
"127.0.0.1",
"1.1.071.071",
"0.0.0.0",
"1.1.081.081",
"192.168.0.0",
"256.0.0.1",
"192.168.0xa.5",
);
foreach($ips as $ip) {
var_dump(ip2long($ip));
}
?>
===DONE===
--EXPECT--
bool(false)
int(2130706433)
bool(false)
int(0)
bool(false)
int(3232235520)
bool(false)
bool(false)
===DONE===