示例#1
0
 /**
  * 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);
 }