Esempio n. 1
0
 public function testConvertFeedToAndFromString()
 {
     $this->feed->transferFromXML($this->feedText);
     $feedXml = $this->feed->saveXML();
     $newFeed = new App\Feed();
     $newFeed->transferFromXML($feedXml);
     $this->assertEquals(1, count($newFeed->entry));
     $this->assertEquals('dive into mark', $newFeed->title->text);
     $this->assertEquals('text', $newFeed->title->type);
     $this->assertEquals('2005-07-31T12:29:29Z', $newFeed->updated->text);
     $this->assertEquals('tag:example.org,2003:3', $newFeed->id->text);
     $this->assertEquals(2, count($newFeed->link));
     $this->assertEquals('http://example.org/', $newFeed->getAlternateLink()->href);
     $this->assertEquals('en', $newFeed->getAlternateLink()->hrefLang);
     $this->assertEquals('text/html', $newFeed->getAlternateLink()->type);
     $this->assertEquals('http://example.org/feed.atom', $newFeed->getSelfLink()->href);
     $this->assertEquals('application/atom+xml', $newFeed->getSelfLink()->type);
     $this->assertEquals('Copyright (c) 2003, Mark Pilgrim', $newFeed->rights->text);
     $entry = $newFeed->entry[0];
     $this->assertEquals('Atom draft-07 snapshot', $entry->title->text);
     $this->assertEquals('tag:example.org,2003:3.2397', $entry->id->text);
     $this->assertEquals('2005-07-31T12:29:29Z', $entry->updated->text);
     $this->assertEquals('2003-12-13T08:29:29-04:00', $entry->published->text);
     $this->assertEquals('Mark Pilgrim', $entry->author[0]->name->text);
     $this->assertEquals('http://example.org/', $entry->author[0]->uri->text);
     $this->assertEquals(2, count($entry->contributor));
     $this->assertEquals('Sam Ruby', $entry->contributor[0]->name->text);
     $this->assertEquals('Joe Gregorio', $entry->contributor[1]->name->text);
     $this->assertEquals('xhtml', $entry->content->type);
 }
Esempio n. 2
0
 /**
  * Retrieve previous set of results based on a given feed.
  *
  * @param \Zend\GData\App\Feed $feed The feed from which to
  *          retreive the previous set of results.
  * @param string $className (optional) The class of feed to be returned.
  *          If null, the previous feed (if found) will be the same class as
  *          the feed that was given as the first argument.
  * @return \Zend\GData\App\Feed|null Returns a
  *          Zend_Gdata_App_Feed or null if no previous set of results
  *          exists.
  */
 public function getPreviousFeed($feed, $className = null)
 {
     $previousLink = $feed->getPreviousLink();
     if (!$previousLink) {
         return null;
     }
     $previousLinkHref = $previousLink->getHref();
     if ($className === null) {
         $className = get_class($feed);
     }
     return $this->getFeed($previousLinkHref, $className);
 }
Esempio n. 3
0
 /**
  * Given a DOMNode representing an attribute, tries to map the data into
  * instance members.  If no mapping is defined, the name and value are
  * stored in an array.
  *
  * @param DOMNode $attribute The DOMNode attribute needed to be handled
  */
 protected function takeAttributeFromDOM($attribute)
 {
     switch ($attribute->localName) {
         case 'etag':
             // ETags are special, since they can be conveyed by either the
             // HTTP ETag header or as an XML attribute.
             $etag = $attribute->nodeValue;
             if (!$this->_etag instanceof Etag) {
                 $this->_etag = $etag;
             } elseif ($this->_etag->getFieldValue() != $etag) {
                 throw new App\IOException("ETag mismatch");
             }
             break;
         default:
             parent::takeAttributeFromDOM($attribute);
             break;
     }
 }
Esempio n. 4
0
 /**
  * @group ZF-10242
  */
 public function testCount()
 {
     $feed = new App\Feed();
     $feed->addEntry('foo')->addEntry('bar');
     $this->assertEquals(2, $feed->count());
     $this->assertEquals(2, count($feed));
 }