/**
  * @see xfRetort
  */
 public function respond(xfDocumentHit $hit, $method, array $args = array())
 {
     $route = $this->template;
     foreach ($this->matches as $match) {
         $route = str_replace('$' . $match . '$', $hit->getDocument()->getField($match)->getValue(), $route);
     }
     return $route;
 }
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
require dirname(__FILE__) . '/../../bootstrap/unit.php';
require 'util/xfException.class.php';
require 'document/xfDocument.class.php';
require 'document/xfField.class.php';
require 'document/xfFieldValue.class.php';
require 'result/xfDocumentHit.class.php';
require 'result/xfResultException.class.php';
require 'mock/result/xfMockRetort.class.php';
$t = new lime_test(11, new lime_output_color());
$document = new xfDocument('guid');
$document->addField(new xfFieldValue(new xfField('_service', xfField::STORED), 'foo-service'));
$hit = new xfDocumentHit($document, array('score' => 0.2));
$t->diag('->getOption(), ->getOptions(), hasOption(), setOption()');
$t->is($hit->getOption('score'), 0.2, '->getOption() returns the option value');
$t->is($hit->getOption('foobar'), null, '->getOption() returns null for unset options');
$t->is($hit->getOption('foobar', 42), 42, '->getOption() returns the default for unset options');
$t->ok($hit->hasOption('score'), '->hasOption() returns true for options that exist');
$t->ok(!$hit->hasOption('foobar'), '->hasOption() returns false for options that do not exist');
$hit->setOption('foobar', 'baz');
$t->is($hit->getOption('foobar'), 'baz', '->getOption() returns the option value');
$t->is($hit->getOptions(), array('score' => 0.2, 'foobar' => 'baz'), '->getOptions() returns all options');
$t->diag('->getDocument(), ->getServiceName()');
$t->is($hit->getDocument(), $document, '->getDocument() returns the wrapped document');
$t->is($hit->getServiceName(), 'foo-service', '->getServiceName() returns the service name');
$t->diag('->__call()');
$retort = new xfMockRetort();
$retort->can = false;
 /**
  * Processes a result
  *
  * @param xfDocumentHit $result
  * @param int $count
  * @param bool $verbose
  */
 private function processHit(xfDocumentHit $result, $count, $verbose = false)
 {
     $this->log('');
     $this->log($count . ') ' . $this->formatter->format($result->getDocument()->getGuid(), array('fg' => 'blue', 'bold' => true)) . ':');
     foreach ($result->getDocument()->getFields() as $field) {
         $this->processField($field, $verbose);
     }
     foreach ($result->getOptions() as $key => $value) {
         $this->outputRow($key, $value, 'red');
     }
 }
 public function respond(xfDocumentHit $hit, $method, array $args = array())
 {
     return 'Description' . $hit->getDocument()->getField('input')->getValue();
 }
 /**
  * @see xfRetort
  */
 public function respond(xfDocumentHit $hit, $method, array $args = array())
 {
     $field = $this->normalize($method);
     return $hit->getDocument()->getField($field)->getValue();
 }