inet.phpt   [plain text]


--TEST--
inet_ntop() & inet_pton() tests
--SKIPIF--
<?php 
if (!function_exists("inet_ntop")) die("skip no inet_ntop()"); 
if (!function_exists("inet_pton")) die("skip no inet_pton()"); 
?>
--FILE--
<?php

$packed = chr(127) . chr(0) . chr(0) . chr(1);
var_dump(inet_ntop((binary)$packed));

$packed = chr(255) . chr(255) . chr(255) . chr(0);
var_dump(inet_ntop((binary)$packed));

var_dump(inet_ntop());
var_dump(inet_ntop(-1));
var_dump(inet_ntop(b""));
var_dump(inet_ntop(b"blah-blah"));

var_dump(inet_pton());
var_dump(inet_pton(b""));
var_dump(inet_pton(-1));
var_dump(inet_pton(b"abra"));

$array = array(
	b"127.0.0.1",
	b"66.163.161.116",
	b"255.255.255.255",
	b"0.0.0.0",
	);
foreach ($array as $val) {
	var_dump(bin2hex($packed = inet_pton($val)));
	var_dump(inet_ntop($packed));
}

echo "Done\n";
?>
--EXPECTF--	
%unicode|string%(9) "127.0.0.1"
%unicode|string%(13) "255.255.255.0"

Warning: inet_ntop() expects exactly 1 parameter, 0 given in %s on line %d
bool(false)

Warning: inet_ntop(): Invalid in_addr value in %s on line %d
bool(false)

Warning: inet_ntop(): Invalid in_addr value in %s on line %d
bool(false)

Warning: inet_ntop(): Invalid in_addr value in %s on line %d
bool(false)

Warning: inet_pton() expects exactly 1 parameter, 0 given in %s on line %d
bool(false)

Warning: inet_pton(): Unrecognized address  in %s on line %d
bool(false)

Warning: inet_pton(): Unrecognized address -1 in %s on line %d
bool(false)

Warning: inet_pton(): Unrecognized address abra in %s on line %d
bool(false)
%unicode|string%(%d) "7f000001"
%unicode|string%(9) "127.0.0.1"
%unicode|string%(%d) "42a3a174"
%unicode|string%(14) "66.163.161.116"
%unicode|string%(%d) "ffffffff"
%unicode|string%(15) "255.255.255.255"
%unicode|string%(%d) "00000000"
%unicode|string%(7) "0.0.0.0"
Done