Commit 9ee61252 authored by Bas de Nooijer's avatar Bas de Nooijer

PR #140 Merge branch 'add_collate_params' of github.com:relwell/solarium into develop

Conflicts:
	library/Solarium/QueryType/Select/Query/Component/Spellcheck.php
parents 18c31bf7 323ab6e7
...@@ -48,6 +48,13 @@ use Solarium\QueryType\Select\ResponseParser\Component\Spellcheck as ResponsePar ...@@ -48,6 +48,13 @@ use Solarium\QueryType\Select\ResponseParser\Component\Spellcheck as ResponsePar
*/ */
class Spellcheck extends Component class Spellcheck extends Component
{ {
/**
* Used to further customize collation parameters
* @var array
*/
protected $collateParams = array();
/** /**
* Get component type * Get component type
* *
...@@ -366,4 +373,25 @@ class Spellcheck extends Component ...@@ -366,4 +373,25 @@ class Spellcheck extends Component
return $this->getOption('accuracy'); return $this->getOption('accuracy');
} }
/**
* Set a collation param
* @param string $param
* @param mixed $value
* @return self Provides fluent interface
*/
public function setCollateParam($param, $value)
{
$this->collateParams[$param] = $value;
return $this;
}
/**
* Returns the array of collate params
* @return array
*/
public function getCollateParams()
{
return $this->collateParams;
}
} }
...@@ -72,6 +72,11 @@ class Spellcheck implements ComponentRequestBuilderInterface ...@@ -72,6 +72,11 @@ class Spellcheck implements ComponentRequestBuilderInterface
$request->addParam('spellcheck.collateExtendedResults', $component->getCollateExtendedResults()); $request->addParam('spellcheck.collateExtendedResults', $component->getCollateExtendedResults());
$request->addParam('spellcheck.accuracy', $component->getAccuracy()); $request->addParam('spellcheck.accuracy', $component->getAccuracy());
foreach ( $component->getCollateParams() as $param => $value )
{
$request->addParam('spellcheck.collateParam.'.$param, $value);
}
return $request; return $request;
} }
} }
...@@ -210,4 +210,23 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase ...@@ -210,4 +210,23 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase
$this->spellCheck->getAccuracy() $this->spellCheck->getAccuracy()
); );
} }
public function testSetAndGetCollateParams()
{
$this->assertEquals(
$this->spellCheck,
$this->spellCheck->setCollateParam('mm', '100%')
);
$params = $this->spellCheck->getCollateParams();
$this->assertArrayHasKey(
'mm',
$params
);
$this->assertEquals(
'100%',
$params['mm']
);
}
} }
...@@ -56,6 +56,7 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase ...@@ -56,6 +56,7 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase
$component->setMaxCollationEvaluations(4); $component->setMaxCollationEvaluations(4);
$component->setCollateExtendedResults(true); $component->setCollateExtendedResults(true);
$component->setAccuracy(.2); $component->setAccuracy(.2);
$component->setCollateParam('mm', '100%');
$request = $builder->buildComponent($component, $request); $request = $builder->buildComponent($component, $request);
...@@ -75,6 +76,7 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase ...@@ -75,6 +76,7 @@ class SpellcheckTest extends \PHPUnit_Framework_TestCase
'spellcheck.maxCollationEvaluations' => 4, 'spellcheck.maxCollationEvaluations' => 4,
'spellcheck.collateExtendedResults' => 'true', 'spellcheck.collateExtendedResults' => 'true',
'spellcheck.accuracy' => .2, 'spellcheck.accuracy' => .2,
'spellcheck.collateParam.mm' => '100%',
), ),
$request->getParams() $request->getParams()
); );
......
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