diff options
author | Aleksander Machniak <alec@alec.pl> | 2012-08-27 12:23:30 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2012-08-27 12:23:30 +0200 |
commit | a65ce5d3b07deb578cc4c4aba5695bcea8c07a87 (patch) | |
tree | a3b441a115e7081a326da104444fea707034522f | |
parent | 6075f084ecbff71490fc5594f2d9470d87938317 (diff) |
Rename ip_check to check_ip, add IP checking tests
-rw-r--r-- | program/include/rcube_utils.php | 4 | ||||
-rw-r--r-- | tests/Framework/Utils.php | 47 |
2 files changed, 49 insertions, 2 deletions
diff --git a/program/include/rcube_utils.php b/program/include/rcube_utils.php index defb2aed1..aa748dc7f 100644 --- a/program/include/rcube_utils.php +++ b/program/include/rcube_utils.php @@ -94,7 +94,7 @@ class rcube_utils // Validate domain part if (preg_match('/^\[((IPv6:[0-9a-f:.]+)|([0-9.]+))\]$/i', $domain_part, $matches)) { - return self::ip_check(preg_replace('/^IPv6:/i', '', $matches[1])); // valid IPv4 or IPv6 address + return self::check_ip(preg_replace('/^IPv6:/i', '', $matches[1])); // valid IPv4 or IPv6 address } else { // If not an IP address @@ -154,7 +154,7 @@ class rcube_utils * * @return bool True if the address is valid */ - public static function ip_check($ip) + public static function check_ip($ip) { // IPv6, but there's no build-in IPv6 support if (strpos($ip, ':') !== false && !defined('AF_INET6')) { diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php index b6cc5d577..503b69a4a 100644 --- a/tests/Framework/Utils.php +++ b/tests/Framework/Utils.php @@ -83,6 +83,53 @@ class Framework_Utils extends PHPUnit_Framework_TestCase } /** + * Valid IP addresses for test_valid_ip() + */ + function data_valid_ip() + { + return array( + array('0.0.0.0'), + array('123.123.123.123'), + array('::'), + array('::1'), + array('::1.2.3.4'), + array('2001:2d12:c4fe:5afe::1'), + ); + } + + /** + * Valid IP addresses for test_invalid_ip() + */ + function data_invalid_ip() + { + return array( + array(''), + array(0), + array('123.123.123.1234'), + array('1.1.1.1.1'), + array('::1.2.3.260'), + array('::1.0'), + array('2001::c4fe:5afe::1'), + ); + } + + /** + * @dataProvider data_valid_ip + */ + function test_valid_ip($ip) + { + $this->assertTrue(rcube_utils::check_ip($ip)); + } + + /** + * @dataProvider data_invalid_ip + */ + function test_invalid_ip($ip) + { + $this->assertFalse(rcube_utils::check_ip($ip)); + } + + /** * rcube_utils::mod_css_styles() */ function test_mod_css_styles() |