{
        $this->rebuilds[] = $name;
    }
}
$search = sfLucene::getInstance('testLucene', 'en');
$t->diag('testing ->rebuild()');
$handler = new FooIndexer($search);
$handler->rebuild();
$t->is($handler->rebuilds, array('FakeForum'), '->rebuild() calls ->rebuildModel() for all models');
$t->diag('testing ->rebuildModel()');
$handler = new sfLucenePropelIndexerHandler($search);
$search->getParameter('models')->get('FakeForum')->set('rebuild_limit', 5);
$models = array();
for ($x = 0; $x < 6; $x++) {
    $var = new FakeForum();
    $var->setCulture('en');
    $var->setTitle('foo');
    $var->setDescription('bar');
    $var->setCoolness(3);
    $var->save();
    $var->deleteIndex();
    $models[] = $var;
}
$search->commit();
$t->is($search->numDocs(), 0, 'model setup leaves index empty');
$handler->rebuildModel('FakeForum');
$search->commit();
$t->is($search->numDocs(), count($models), '->rebuildModel() builds all models');
foreach ($models as $model) {
    $model->delete();
}
}
$h->get('fields')->get('title')->set('transform', 'md5');
try {
    $indexer->insert();
    $lucene->commit();
    $doc = getDoc($lucene, $indexer->getModelGuid());
    $t->is($doc->title, md5('foobar'), '->insert() executes if field has valid transformation function');
} catch (Exception $e) {
    $t->fail('->insert() executes if field has valid transformation function');
}
$h->get('fields')->get('title')->set('transform', null);
$indexer->delete();
$t->diag('testing ->insert(), model validator');
$model->setCulture('en');
$model->setTitle('title');
$model->setDescription('description');
$model->shouldIndex = false;
$indexer->insert();
$lucene->commit();
$t->is($lucene->numDocs(), 0, '->insert() does not insert document if model validator returned false');
$model->shouldIndex = true;
$indexer->insert();
$lucene->commit();
$t->is($lucene->numDocs(), 1, '->insert() inserts document if model validator returned true');
$model->shouldIndex = false;
$h->remove('validator');
$indexer->insert();
$lucene->commit();
$t->is($lucene->numDocs(), 2, '->insert() inserts document if model does not have a validator');
$indexer->delete();
$lucene->commit();