public static function newList(array $blocks) { foreach ($blocks as $key => $block) { $blocks[$key] = PhutilCIDRBlock::newBlock($block); } $obj = new PhutilCIDRList(); $obj->blocks = $blocks; return $obj; }
public function testCIDRBlockContains() { $cases = array('0.0.0.0/0' => array('0.0.0.0' => true, '1.1.1.1' => true, '2.3.4.5' => true), '0.0.0.2/32' => array('0.0.0.1' => false, '0.0.0.2' => true, '0.0.0.3' => false), '172.30.0.0/16' => array('172.29.255.255' => false, '172.30.0.0' => true, '172.30.255.255' => true, '172.31.0.0' => false)); foreach ($cases as $input_block => $tests) { $block = PhutilCIDRBlock::newBlock($input_block); foreach ($tests as $input => $expect) { $this->assertEqual($expect, $block->containsAddress($input), 'PhutilCIDRBlock[' . $input_block . ']->containsAddress(' . $input . ')'); } } }