public function testPopRow() { $data = new FormatterData(); $row = ["title" => "A super book", "author" => "Manu"]; $data->addRow($row); $this->assertEquals($row, $data->popRow()); $this->assertFalse($data->getRow()); }
/** * @param \Thelia\Model\Lang $lang * @return \Thelia\Core\FileFormat\Formatting\FormatterData * * The method builds the FormatterData for the formatter */ public function buildData(Lang $lang) { $data = new FormatterData($this->getAliases()); $query = $this->buildDataSet($lang); if ($query instanceof ModelCriteria) { return $data->loadModelCriteria($query); } elseif (is_array($query)) { return $data->setData($query); } elseif ($query instanceof BaseLoop) { $pagination = null; $results = $query->exec($pagination); for ($results->rewind(); $results->valid(); $results->next()) { $current = $results->current(); $data->addRow($current->getVarVal()); } return $data; } throw new InvalidValueException(Translator::getInstance()->trans("The method \"%class\"::buildDataSet must return an array or a ModelCriteria", ["%class" => get_class($this)])); }