Esempio n. 1
0
 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());
 }
Esempio n. 2
0
 /**
  * @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)]));
 }