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'); }
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()); } }
/** * 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'); }