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
*/
static public function register()
{
spl_autoload_register(array(new \self, 'load'));
spl_autoload_register(array(new self, 'load'));
}
/**
......@@ -84,12 +84,12 @@ class Autoloader
if (substr($class, 0, 8) == 'Solarium') {
$class = str_replace(
array('Solarium', '_'),
array('Solarium', '\\'),
array('', '/'),
$class
);
$file = dirname(__FILE__) . '/' . $class . '.php';
$file = dirname(__FILE__) . $class . '.php';
require($file);
}
......
......@@ -116,7 +116,7 @@ class Client extends Solarium\Configurable
self::QUERYTYPE_SELECT => array(
'query' => 'Solarium\Query\Select\Select',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Select',
'responseparser' => 'Solarium\Client\ResponseParser\Select'
'responseparser' => 'Solarium\Client\ResponseParser\Select\Select'
),
self::QUERYTYPE_UPDATE => array(
'query' => 'Solarium\Query\Update\Update',
......
......@@ -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.hardend", $facet->getHardend());
if ($facet->getInclude() !== null) {
$other = explode(',', $facet->getOther());
foreach ($other AS $otherValue) {
$request->addParam("f.$field.facet.range.other", trim($otherValue));
}
}
if ($facet->getInclude() !== null) {
$include = explode(',', $facet->getInclude());
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
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\MoreLikeThis',
),
self::COMPONENT_HIGHLIGHTING => array(
'component' => 'Solarium\Query\Select\Component\Highlighting',
'component' => 'Solarium\Query\Select\Component\Highlighting\Highlighting',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Highlighting',
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Highlighting',
),
......@@ -187,7 +187,7 @@ class Select extends Solarium\Query\Query
'responseparser' => null,
),
self::COMPONENT_STATS => array(
'component' => 'Solarium\Query\Select\Component\Stats',
'component' => 'Solarium\Query\Select\Component\Stats\Stats',
'requestbuilder' => 'Solarium\Client\RequestBuilder\Select\Component\Stats',
'responseparser' => 'Solarium\Client\ResponseParser\Select\Component\Stats',
),
......
......@@ -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()
{
$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