/** * Prepare params * * @param array $params * @return array */ public function prepareParams(array $params) { $return = array(); foreach ($params as $param => $value) { if (in_array($param, $this->options)) { $return[$param] = $value; } } foreach ($this->defaults as $default => $value) { if (false === in_array($default, $return)) { $return[$default] = $value; } } if (false === isset($return['url'])) { throw new Extlib\Exception(\translate('No url.'), Response::CODE_NOT_ACCEPTABLE); } $return['url'] = \Extlib\Utils::getInstance()->filterUrl($return['url']); $urlValidator = new \Extlib\Validate\Url(); if (false === $urlValidator->isValid($return['url'])) { throw new Extlib\Exception(sprintf(\translate("Url: '% s' is invalid."), $return['url']), Response::CODE_NOT_ACCEPTABLE); } return $return; }
/** * Testing method * * @dataProvider urls * @test */ public function tests($url, $expected) { $validator = new \Extlib\Validate\Url(); $result = $validator->isValid($url); $this->assertEquals($expected, $result); }