Example #1
0
 /**
  * Parse a result into an array.  Also requires
  * the request so we can work out which columns
  * we expected the API to return.
  *
  * @param Request $request
  * @param string $data
  * @throws ErroneousResponseException
  * @return string[]
  */
 public function parseResult(Request $request, $data)
 {
     try {
         $this->handleErrors($data);
     } catch (EmptyResponseException $e) {
         return [];
     }
     $rows = $this->splitStringIntoArray($data);
     $columns = $request->getExpectedResultColumns();
     $rows = $this->hackToFixNewlineInCell($rows);
     foreach ($rows as &$row) {
         $row = $this->parseRow($columns, $row);
     }
     return $rows;
 }
Example #2
0
 public function testGetExpectedResultColumns()
 {
     $columns = [Column::COLUMN_OVERVIEW_ADWORDS_BUDGET, Column::COLUMN_OVERVIEW_ADWORDS_KEYWORDS];
     $request = new Request(Type::TYPE_DOMAIN_RANKS, ['key' => $this->key, 'domain' => $this->domain, 'export_columns' => $columns]);
     $this->assertEquals($columns, $request->getExpectedResultColumns());
 }