示例#1
0
 public function testConvertFeedToAndFromString()
 {
     $this->feed->transferFromXML($this->feedText);
     $feedXml = $this->feed->saveXML();
     $newFeed = new Zend_Gdata_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);
 }
示例#2
0
文件: Feed.php 项目: hackingman/TubeX
 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 (is_null($this->_etag)) {
                 $this->_etag = $etag;
             } elseif ($this->_etag != $etag) {
                 require_once 'Zend/Gdata/App/IOException.php';
                 throw new Zend_Gdata_App_IOException("ETag mismatch");
             }
             break;
         default:
             parent::takeAttributeFromDOM($attribute);
             break;
     }
 }
示例#3
0
文件: App.php 项目: bizanto/Hooked
 /**
  * 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);
 }
示例#4
0
 /**
  * Creates individual Entry objects of the appropriate type and
  * stores them in the $_entry array based upon DOM data.
  *
  * @param DOMNode $child The DOMNode to process
  */
 protected function takeChildFromDOM($child)
 {
     $absoluteNodeName = $child->namespaceURI . ':' . $child->localName;
     switch ($absoluteNodeName) {
         case $this->lookupNamespace('openSearch') . ':' . 'totalResults':
             $totalResults = new Zend_Gdata_Extension_OpenSearchTotalResults();
             $totalResults->transferFromDOM($child);
             $this->_totalResults = $totalResults;
             break;
         case $this->lookupNamespace('openSearch') . ':' . 'startIndex':
             $startIndex = new Zend_Gdata_Extension_OpenSearchStartIndex();
             $startIndex->transferFromDOM($child);
             $this->_startIndex = $startIndex;
             break;
         case $this->lookupNamespace('openSearch') . ':' . 'itemsPerPage':
             $itemsPerPage = new Zend_Gdata_Extension_OpenSearchItemsPerPage();
             $itemsPerPage->transferFromDOM($child);
             $this->_itemsPerPage = $itemsPerPage;
             break;
         default:
             parent::takeChildFromDOM($child);
             break;
     }
 }
 /**
  * @group ZF-10242
  */
 public function testCount()
 {
     $feed = new Zend_Gdata_App_Feed();
     $feed->addEntry('foo')->addEntry('bar');
     $this->assertEquals(2, $feed->count());
     $this->assertEquals(2, count($feed));
 }