$fields = array('isStored' => xfField::STORED, 'isIndexed' => xfField::INDEXED, 'isTokenized' => xfField::TOKENIZED, 'isBinary' => xfField::BINARY); foreach ($fields as $property => $type) { $name = 'test'; $field = new Zend_Search_Lucene_Field($name, 'bar', 'utf8', false, false, false, false); $field->{$property} = true; $doc->addField($field); $doc->addField(Zend_Search_Lucene_Field::UnIndexed('__boosts', serialize(array('test' => 1)))); $response = $engine->unwriteDocument($doc)->getField('test')->getField()->getType(); $t->is($response, $type, '->unwriteDocument() can exclusively handle "' . $property . '"'); } $t->diag('->add()'); $doc = new xfDocument('guid'); $doc->addField(new xfFieldValue(new xfField('name', xfField::KEYWORD), 'carl')); $doc->addField(new xfFieldValue(new xfField('age', xfField::STORED), 18)); $engine->add($doc); $engine->commit(); $t->is($engine->count(), 1, '->add() adds a document'); $parent = new xfDocument('parent'); $child = new xfDocument('child'); $pet = new xfDocument('pet'); $parent->addChild($child); $child->addChild($pet); $engine->add($parent); $engine->commit(); $t->is($engine->count(), 4, '->add() adds a document and every subdocument'); $t->diag('->findGuid()'); $doc = $engine->findGuid('guid'); $t->isa_ok($doc, 'xfDocument', '->findGuid() returns an xfDocument'); $t->is($doc->getGuid(), 'guid', '->findGuid() returns the correct document'); $doc = $engine->findGuid('parent'); $children = $doc->getChildren();