<?php /** * This file is part of the sfSearch package. * (c) Carl Vondrick <*****@*****.**> * * 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 'document/xfFieldValue.class.php'; require 'document/xfField.class.php'; $t = new lime_test(3, new lime_output_color()); $field = new xfField('name', xfField::KEYWORD); $field->registerCallback('md5'); $value = new xfFieldValue($field, 'value', 'utf8'); $t->is($value->getField(), $field, '->getField() returns the field'); $t->is($value->getValue(), md5('value'), '->getValue() returns the transformed value'); $t->is($value->getEncoding(), 'utf8', '->getEncoding() returns the encoding');
/** * Processes a field * * @param xfFieldValue $field * @param bool $verbose */ private function processField(xfFieldValue $field, $verbose = false) { $name = $field->getField()->getName(); $value = $field->getValue(); if (strlen($value) > 175 && !$verbose) { $value = rtrim(substr($value, 0, 175)) . $this->formatter->format('...', array('fg' => 'red', 'bold' => true)); } if ($field->getField()->getBoost() != 1) { $value = $this->formatter->format('B' . number_format($field->getField()->getBoost(), 2), array('fg' => 'yellow', 'bold' => true)) . ' ' . $value; } $value = wordwrap($value, 66); $value = str_replace("\n", "\n" . str_repeat(' ', 17), $value); if ($field->getField()->getType() & xfField::INDEXED) { $name = '*' . $name; } $this->outputRow($name, $value, 'green'); }
/** * Adds a field to the document. * * @param xfFieldValue $fieldValue The field with a value */ public function addField(xfFieldValue $fieldValue) { $this->fields[strtolower($fieldValue->getField()->getName())] = $fieldValue; }