Commit b08a014d authored by Michel Oleynik's avatar Michel Oleynik

Adds support for hl.preserveMulti and option. This fixes #263.

parent 960d1549
......@@ -168,6 +168,27 @@ class Field extends Configurable
return $this->getOption('alternatefield');
}
/**
* Set preserveMulti option
*
* @param boolean $preservemulti
* @return self Provides fluent interface
*/
public function setPreserveMulti($preservemulti)
{
return $this->setOption('preservemulti', $preservemulti);
}
/**
* Get preserveMulti option
*
* @return boolean|null
*/
public function getPreserveMulti()
{
return $this->getOption('preservemulti');
}
/**
* Set formatter option
*
......
......@@ -420,6 +420,27 @@ class Highlighting extends Component
return $this->getOption('maxalternatefieldlength');
}
/**
* Set preserveMulti option
*
* @param boolean $preservemulti
* @return self Provides fluent interface
*/
public function setPreserveMulti($preservemulti)
{
return $this->setOption('preservemulti', $preservemulti);
}
/**
* Get preserveMulti option
*
* @return boolean|null
*/
public function getPreserveMulti()
{
return $this->getOption('preservemulti');
}
/**
* Set formatter option
*
......
......@@ -70,6 +70,7 @@ class Highlighting implements ComponentRequestBuilderInterface
$request->addParam('hl.maxAnalyzedChars', $component->getMaxAnalyzedChars());
$request->addParam('hl.alternateField', $component->getAlternateField());
$request->addParam('hl.maxAlternateFieldLength', $component->getMaxAlternateFieldLength());
$request->addParam('hl.preserveMulti', $component->getPreserveMulti());
$request->addParam('hl.formatter', $component->getFormatter());
$request->addParam('hl.simple.pre', $component->getSimplePrefix());
$request->addParam('hl.simple.post', $component->getSimplePostfix());
......@@ -115,6 +116,7 @@ class Highlighting implements ComponentRequestBuilderInterface
$request->addParam($prefix.'fragsize', $field->getFragSize());
$request->addParam($prefix.'mergeContiguous', $field->getMergeContiguous());
$request->addParam($prefix.'alternateField', $field->getAlternateField());
$request->addParam($prefix.'preserveMulti', $field->getPreserveMulti());
$request->addParam($prefix.'formatter', $field->getFormatter());
$request->addParam($prefix.'simple.pre', $field->getSimplePrefix());
$request->addParam($prefix.'simple.post', $field->getSimplePostfix());
......
......@@ -54,6 +54,7 @@ class FieldTest extends \PHPUnit_Framework_TestCase
'fragsize' => 25,
'mergecontiguous' => true,
'alternatefield' => 'text',
'preservemulti' => true,
'formatter' => 'myFormatter',
'simpleprefix' => '<b>',
'simplepostfix' => '</b>',
......@@ -67,6 +68,7 @@ class FieldTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(25, $this->fld->getFragSize());
$this->assertEquals(true, $this->fld->getMergeContiguous());
$this->assertEquals('text', $this->fld->getAlternateField());
$this->assertEquals(true, $this->fld->getPreserveMulti());
$this->assertEquals('myFormatter', $this->fld->getFormatter());
$this->assertEquals('<b>', $this->fld->getSimplePrefix());
$this->assertEquals('</b>', $this->fld->getSimplePostfix());
......@@ -129,6 +131,17 @@ class FieldTest extends \PHPUnit_Framework_TestCase
);
}
public function testSetAndGetPreserveMulti()
{
$value = true;
$this->fld->setPreserveMulti($value);
$this->assertEquals(
$value,
$this->fld->getPreserveMulti()
);
}
public function testSetAndGetFormatter()
{
$this->fld->setFormatter();
......
......@@ -64,6 +64,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
'maxanalyzedchars' => 40,
'alternatefield' => 'text',
'maxalternatefieldlength' => 50,
'preservemulti' => true,
'formatter' => 'myFormatter',
'simpleprefix' => '<b>',
'simplepostfix' => '</b>',
......@@ -100,6 +101,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($options['maxanalyzedchars'], $this->hlt->getMaxAnalyzedChars());
$this->assertEquals($options['alternatefield'], $this->hlt->getAlternateField());
$this->assertEquals($options['maxalternatefieldlength'], $this->hlt->getMaxAlternateFieldLength());
$this->assertEquals($options['preservemulti'], $this->hlt->getPreserveMulti());
$this->assertEquals($options['formatter'], $this->hlt->getFormatter());
$this->assertEquals($options['simpleprefix'], $this->hlt->getSimplePrefix());
$this->assertEquals($options['simplepostfix'], $this->hlt->getSimplePostfix());
......@@ -355,6 +357,17 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
);
}
public function testSetAndGetPreserveMulti()
{
$value = true;
$this->hlt->setPreserveMulti($value);
$this->assertEquals(
$value,
$this->hlt->getPreserveMulti()
);
}
public function testSetAndGetFormatter()
{
$this->hlt->setFormatter();
......
......@@ -50,6 +50,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
$field->setFragSize(25);
$field->setMergeContiguous(true);
$field->setAlternateField('text');
$field->setPreserveMulti(true);
$field->setFormatter('myFormatter');
$field->setSimplePrefix('<b>');
$field->setSimplePostfix('</b>');
......@@ -63,6 +64,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
$component->setMaxAnalyzedChars(4);
$component->setAlternateField('fieldC');
$component->setMaxAlternateFieldLength(5);
$component->setPreserveMulti(true);
$component->setFormatter('simple');
$component->setSimplePrefix('<b>');
$component->setSimplePostfix('</b>');
......@@ -99,6 +101,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
'hl.maxAnalyzedChars' => 100,
'hl.alternateField' => 'fieldC',
'hl.maxAlternateFieldLength' => 5,
'hl.preserveMulti' => 'true',
'hl.formatter' => 'simple',
'hl.simple.pre' => '<b>',
'hl.simple.post' => '</b>',
......@@ -119,6 +122,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
'f.fieldB.hl.fragsize' => 25,
'f.fieldB.hl.mergeContiguous' => 'true',
'f.fieldB.hl.alternateField' => 'text',
'f.fieldB.hl.preserveMulti' => 'true',
'f.fieldB.hl.formatter' => 'myFormatter',
'f.fieldB.hl.simple.pre' => '<b>',
'f.fieldB.hl.simple.post' => '</b>',
......@@ -148,6 +152,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
$component->setMaxAnalyzedChars(4);
$component->setAlternateField('fieldC');
$component->setMaxAlternateFieldLength(5);
$component->setPreserveMulti(true);
$component->setFormatter('simple');
$component->setSimplePrefix('<b>');
$component->setSimplePostfix('</b>');
......@@ -183,6 +188,7 @@ class HighlightingTest extends \PHPUnit_Framework_TestCase
'hl.maxAnalyzedChars' => 100,
'hl.alternateField' => 'fieldC',
'hl.maxAlternateFieldLength' => 5,
'hl.preserveMulti' => 'true',
'hl.formatter' => 'simple',
'hl.simple.pre' => '<b>',
'hl.simple.post' => '</b>',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment