public function testToAndFromString()
    {
        $rowData = array();
        $rowData[] = new Zend_Gdata_Spreadsheets_Extension_Custom('column_1', 'value 1');
        $rowData[] = new Zend_Gdata_Spreadsheets_Extension_Custom('column_2', 'value 2');
        
        $this->listEntry->setCustom($rowData);
        $rowDataOut = $this->listEntry->getCustom();
        
        $this->assertTrue(count($rowDataOut) == 2);
        $this->assertTrue($rowDataOut[0]->getText() == 'value 1');
        $this->assertTrue($rowDataOut[0]->getColumnName() == 'column_1');
        $this->assertTrue($rowDataOut[1]->getText() == 'value 2');
        $this->assertTrue($rowDataOut[1]->getColumnName() == 'column_2');
        
        $newListEntry = new Zend_Gdata_Spreadsheets_ListEntry();
        $doc = new DOMDocument();
        $doc->loadXML($this->listEntry->saveXML());
        $newListEntry->transferFromDom($doc->documentElement);
        $rowDataFromXML = $newListEntry->getCustom();
        
        $this->assertTrue(count($rowDataFromXML) == 2);
        $this->assertTrue($rowDataFromXML[0]->getText() == 'value 1');
        $this->assertTrue($rowDataFromXML[0]->getColumnName() == 'column_1');
        $this->assertTrue($rowDataFromXML[1]->getText() == 'value 2');
        $this->assertTrue($rowDataFromXML[1]->getColumnName() == 'column_2');
        
 
    }
示例#2
0
 public function testToAndFromString()
 {
     $this->listEntry->setCustom($this->rowData);
     $rowDataOut = $this->listEntry->getCustom();
     $this->assertEquals(count($this->rowData), count($rowDataOut));
     for ($i = 0; $i < count($this->rowData); $i++) {
         $this->assertEquals($this->rowData[$i]->getText(), $rowDataOut[$i]->getText());
         $this->assertEquals($this->rowData[$i]->getColumnName(), $rowDataOut[$i]->getColumnName());
     }
     $newListEntry = new Zend_Gdata_Spreadsheets_ListEntry();
     $doc = new DOMDocument();
     $doc->loadXML($this->listEntry->saveXML());
     $newListEntry->transferFromDom($doc->documentElement);
     $rowDataFromXML = $newListEntry->getCustom();
     $this->assertEquals(count($this->rowData), count($rowDataFromXML));
     for ($i = 0; $i < count($this->rowData); $i++) {
         $this->assertEquals($this->rowData[$i]->getText(), $rowDataFromXML[$i]->getText());
         $this->assertEquals($this->rowData[$i]->getColumnName(), $rowDataFromXML[$i]->getColumnName());
     }
 }
示例#3
0
 /**
  * Inserts a new row with provided data.
  *
  * @param array $rowData An array of column header to row data
  * @param string $key The key of the spreadsheet to modify
  * @param string $wkshtId (optional) The worksheet to modify
  * @return ListEntry The inserted row
  */
 public function insertRow($rowData, $key, $wkshtId = 'default')
 {
     $newEntry = new Zend_Gdata_Spreadsheets_ListEntry();
     $newCustomArr = array();
     foreach ($rowData as $k => $v) {
         $newCustom = new Zend_Gdata_Spreadsheets_Extension_Custom();
         $newCustom->setText($v)->setColumnName($k);
         $newEntry->addCustom($newCustom);
     }
     $query = new Zend_Gdata_Spreadsheets_ListQuery();
     $query->setSpreadsheetKey($key);
     $query->setWorksheetId($wkshtId);
     $feed = $this->getListFeed($query);
     $editLink = $feed->getLink('http://schemas.google.com/g/2005#post');
     return $this->insertEntry($newEntry->saveXML(), $editLink->href, 'Zend_Gdata_Spreadsheets_ListEntry');
 }