Aleksander Machniak
2012-08-27 a65ce5d3b07deb578cc4c4aba5695bcea8c07a87
Rename ip_check to check_ip, add IP checking tests
2 files modified
51 ■■■■■ changed files
program/include/rcube_utils.php 4 ●●●● patch | view | raw | blame | history
tests/Framework/Utils.php 47 ●●●●● patch | view | raw | blame | history
program/include/rcube_utils.php
@@ -94,7 +94,7 @@
        // 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 @@
     *
     * @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')) {
tests/Framework/Utils.php
@@ -83,6 +83,53 @@
    }
    /**
     * 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()