Commit cd4dc257 authored by Bas de Nooijer's avatar Bas de Nooijer

- fixed issue in facetrange request builder, also added a new unittest to test this in the future

- updated autoloader for namespaces
- various namespacing fixes
parent 420fd733
...@@ -66,7 +66,7 @@ class Autoloader ...@@ -66,7 +66,7 @@ class Autoloader
*/ */
static public function register() static public function register()
{ {
spl_autoload_register(array(new \self, 'load')); spl_autoload_register(array(new self, 'load'));
} }
/** /**
...@@ -84,12 +84,12 @@ class Autoloader ...@@ -84,12 +84,12 @@ class Autoloader
if (substr($class, 0, 8) == 'Solarium') { if (substr($class, 0, 8) == 'Solarium') {
$class = str_replace( $class = str_replace(
array('Solarium', '_'), array('Solarium', '\\'),
array('', '/'), array('', '/'),
$class $class
); );
$file = dirname(__FILE__) . '/' . $class . '.php'; $file = dirname(__FILE__) . $class . '.php';
require($file); require($file);
} }
......
...@@ -116,7 +116,7 @@ class Client extends Solarium\Configurable ...@@ -116,7 +116,7 @@ class Client extends Solarium\Configurable
self::QUERYTYPE_SELECT => array( self::QUERYTYPE_SELECT => array(
'query' => 'Solarium\Query\Select\Select', 'query' => 'Solarium\Query\Select\Select',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Select', 'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Select',
'responseparser' => 'Solarium\Client\ResponseParser\Select' 'responseparser' => 'Solarium\Client\ResponseParser\Select\Select'
), ),
self::QUERYTYPE_UPDATE => array( self::QUERYTYPE_UPDATE => array(
'query' => 'Solarium\Query\Update\Update', 'query' => 'Solarium\Query\Update\Update',
......
...@@ -50,7 +50,7 @@ use Solarium\Query\Select\Component; ...@@ -50,7 +50,7 @@ use Solarium\Query\Select\Component;
*/ */
class FacetSet extends \Solarium\Client\RequestBuilder\RequestBuilder class FacetSet extends \Solarium\Client\RequestBuilder\RequestBuilder
{ {
/** /**
* Add request settings for FacetSet * Add request settings for FacetSet
* *
...@@ -181,14 +181,18 @@ class FacetSet extends \Solarium\Client\RequestBuilder\RequestBuilder ...@@ -181,14 +181,18 @@ class FacetSet extends \Solarium\Client\RequestBuilder\RequestBuilder
$request->addParam("f.$field.facet.range.gap", $facet->getGap()); $request->addParam("f.$field.facet.range.gap", $facet->getGap());
$request->addParam("f.$field.facet.range.hardend", $facet->getHardend()); $request->addParam("f.$field.facet.range.hardend", $facet->getHardend());
$other = explode(',', $facet->getOther()); if ($facet->getInclude() !== null) {
foreach ($other AS $otherValue) { $other = explode(',', $facet->getOther());
$request->addParam("f.$field.facet.range.other", trim($otherValue)); foreach ($other AS $otherValue) {
$request->addParam("f.$field.facet.range.other", trim($otherValue));
}
} }
$include = explode(',', $facet->getInclude()); if ($facet->getInclude() !== null) {
foreach ($include AS $includeValue) { $include = explode(',', $facet->getInclude());
$request->addParam("f.$field.facet.range.include", trim($includeValue)); foreach ($include AS $includeValue) {
$request->addParam("f.$field.facet.range.include", trim($includeValue));
}
} }
} }
} }
\ No newline at end of file
...@@ -167,7 +167,7 @@ class Select extends Solarium\Query\Query ...@@ -167,7 +167,7 @@ class Select extends Solarium\Query\Query
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\MoreLikeThis', 'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\MoreLikeThis',
), ),
self::COMPONENT_HIGHLIGHTING => array( self::COMPONENT_HIGHLIGHTING => array(
'component' => 'Solarium\Query\Select\Component\Highlighting', 'component' => 'Solarium\Query\Select\Component\Highlighting\Highlighting',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Highlighting', 'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Highlighting',
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Highlighting', 'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Highlighting',
), ),
...@@ -187,7 +187,7 @@ class Select extends Solarium\Query\Query ...@@ -187,7 +187,7 @@ class Select extends Solarium\Query\Query
'responseparser' => null, 'responseparser' => null,
), ),
self::COMPONENT_STATS => array( self::COMPONENT_STATS => array(
'component' => 'Solarium\Query\Select\Component\Stats', 'component' => 'Solarium\Query\Select\Component\Stats\Stats',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Stats', 'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Stats',
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Stats', 'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Stats',
), ),
......
...@@ -60,7 +60,7 @@ class FacetSetTest extends \PHPUnit_Framework_TestCase ...@@ -60,7 +60,7 @@ class FacetSetTest extends \PHPUnit_Framework_TestCase
public function testBuildEmptyFacetSet() public function testBuildEmptyFacetSet()
{ {
$request = $this->_builder->build($this->_component, $this->_request); $request = $this->_builder->build($this->_component, $this->_request);
$this->assertEquals( $this->assertEquals(
array(), array(),
$request->getParams() $request->getParams()
...@@ -113,6 +113,31 @@ class FacetSetTest extends \PHPUnit_Framework_TestCase ...@@ -113,6 +113,31 @@ class FacetSetTest extends \PHPUnit_Framework_TestCase
); );
} }
public function testBuildWithRangeFacetNoIncludeNoOther()
{
$this->_component->addFacet(new \Solarium\Query\Select\Component\Facet\Range(
array(
'key' => 'f1',
'field' => 'price',
'start' => '1',
'end' => 100,
'gap' => 10
)
));
$request = $this->_builder->build($this->_component, $this->_request);
$this->assertEquals(
null,
$request->getRawData()
);
$this->assertEquals(
'?facet=true&facet.range={!key=f1}price&f.price.facet.range.start=1&f.price.facet.range.end=100&f.price.facet.range.gap=10',
urldecode($request->getUri())
);
}
public function testBuildWithFacetsAndGlobalFacetSettings() public function testBuildWithFacetsAndGlobalFacetSettings()
{ {
$this->_component->setMissing(true); $this->_component->setMissing(true);
......
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