Commit 630ee35d authored by Bas de Nooijer's avatar Bas de Nooijer

Added unittest and fix for issue #69

parent 5465aa6b
......@@ -110,12 +110,29 @@ class Solarium_Client_ResponseParser_Analysis_Field extends Solarium_Client_Resp
$class = $typeData[$counter];
$analysis = $typeData[$counter+1];
$items = array();
foreach ($analysis AS $itemData) {
$items[] = new Solarium_Result_Analysis_Item($itemData);
if (is_string($analysis)) {
$item = new Solarium_Result_Analysis_Item(array(
'text' => $analysis,
'start' => null,
'end' => null,
'position' => null,
'positionHistory' => null,
'type' => null,
));
$classes[] = new Solarium_Result_Analysis_List($class, array($item));
} else {
$items = array();
foreach ($analysis as $itemData) {
$items[] = new Solarium_Result_Analysis_Item($itemData);
}
$classes[] = new Solarium_Result_Analysis_List($class, $items);
}
$classes[] = new Solarium_Result_Analysis_List($class, $items);
$counter += 2;
}
......
......@@ -40,6 +40,8 @@ class Solarium_Client_ResponseParser_Analysis_FieldTest extends PHPUnit_Framewor
'field1' => array(
'type1' => array(
array(
'org.apache.solr.analysis.PatternReplaceCharFilter',
'string value',
'analysisClass',
array(
array(
......@@ -81,9 +83,11 @@ class Solarium_Client_ResponseParser_Analysis_FieldTest extends PHPUnit_Framewor
$docs = $result['items'][0]->getItems();
$fields = $docs[0]->getItems();
$types = $fields[0]->getItems();
$classes = $types[0]->getItems();
$class1items = $types[0]->getItems();
$class2items = $types[1]->getItems();
$this->assertEquals('test2', $classes[1]->getText());
$this->assertEquals('string value', $class1items[0]->getText());
$this->assertEquals('test2', $class2items[1]->getText());
}
public function testParseNoData()
......
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