public function testReadEmpty() { $reader = new Xml(); $message = new Message(array(), ''); $dom = $reader->read($message); $this->assertNull($dom); }
/** * $url should be an url to an ATOM or RSS feed. If the feed has an hub tag * the url will be returned as PSX\Url object * * @param PSX\Url $url * @return PSX\Url|boolean */ public function discover(Url $url, $type = 0) { $reader = new Xml(); $request = new GetRequest($url); $request->setFollowLocation(true); $response = $this->http->request($request); switch ($type) { case self::RSS2: $dom = $reader->read($response); $elements = $dom->getElementsByTagNameNS(Atom::$xmlns, 'link'); break; case self::ATOM: default: $dom = $reader->read($response); $elements = $dom->getElementsByTagName('link'); break; } for ($i = 0; $i < $elements->length; $i++) { $link = $elements->item($i); if (strcasecmp($link->getAttribute('rel'), 'hub') == 0) { $href = new Url($link->getAttribute('href')); return $this->lastHub = $href; } } return false; }