예제 #1
0
 /**
  * Add the query result to the API output.
  *
  * @since 1.6.2
  *
  * @param SMWQueryResult $queryResult
  */
 protected function addQueryResult(SMWQueryResult $queryResult)
 {
     $result = $this->getResult();
     $resultFormatter = new ApiQueryResultFormatter($queryResult);
     $resultFormatter->setIsRawMode($result->getIsRawMode());
     $resultFormatter->doFormat();
     if ($resultFormatter->getContinueOffset()) {
         $result->disableSizeCheck();
         $result->addValue(null, 'query-continue-offset', $resultFormatter->getContinueOffset());
         $result->enableSizeCheck();
     }
     $result->addValue(null, $resultFormatter->getType(), $resultFormatter->getResult());
 }
예제 #2
0
 /**
  * Add the query result to the API output.
  *
  * @since 1.6.2
  *
  * @param SMWQueryResult $queryResult
  */
 protected function addQueryResult(SMWQueryResult $queryResult, $outputFormat = 'json')
 {
     $result = $this->getResult();
     $resultFormatter = new ApiQueryResultFormatter($queryResult);
     $resultFormatter->setIsRawMode(strpos(strtolower($outputFormat), 'xml') !== false);
     $resultFormatter->doFormat();
     if ($resultFormatter->getContinueOffset()) {
         //	$result->disableSizeCheck();
         $result->addValue(null, 'query-continue-offset', $resultFormatter->getContinueOffset());
         //	$result->enableSizeCheck();
     }
     $result->addValue(null, $resultFormatter->getType(), $resultFormatter->getResult());
 }
 /**
  * @dataProvider resultDataProvider
  */
 public function testResultFormat(array $parameters, array $expected)
 {
     $queryResult = $this->getMockBuilder('\\SMWQueryResult')->disableOriginalConstructor()->getMock();
     $queryResult->expects($this->atLeastOnce())->method('toArray')->will($this->returnValue($parameters['result']));
     $queryResult->expects($this->atLeastOnce())->method('getErrors')->will($this->returnValue(array()));
     $queryResult->expects($this->atLeastOnce())->method('hasFurtherResults')->will($this->returnValue($parameters['furtherResults']));
     $instance = new ApiQueryResultFormatter($queryResult);
     $instance->setIsRawMode($parameters['rawMode']);
     $instance->doFormat();
     $this->assertEquals('query', $instance->getType());
     $this->assertEquals($expected['result'], $instance->getResult());
     $this->assertEquals($expected['continueOffset'], $instance->getContinueOffset());
 }