<?php /* * This file is part of the sfLucenePlugin package * (c) 2007 - 2008 Carl Vondrick <*****@*****.**> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ /** * @package sfLucenePlugin * @subpackage Test * @author Carl Vondrick * @version SVN: $Id: sfLuceneLazyLoadingTest.php 7108 2008-01-20 07:44:42Z Carl.Vondrick $ */ require dirname(__FILE__) . '/../bootstrap/unit.php'; $t = new limeade_test(2, limeade_output::get()); $limeade = new limeade_sf($t); $limeade->bootstrap(); $luceneade = new limeade_lucene($limeade); $luceneade->configure()->clear_sandbox()->load_models(); $forum = new FakeForum(); $t->not_like_included('#/Zend/Search/Lucene/#', 'Zend libraries were not loaded when just reading from a model'); $forum->setTitle('test'); $forum->saveIndex(); $t->like_included('#/Zend/Search/Lucene/#', 'Zend libraries were loaded when writing to the index'); $forum->deleteIndex();
$luceneade->configure()->clear_sandbox()->load_models(); class Foo { } class Bar extends BaseObject { } function getDoc($lucene, $guid) { $term = new Zend_Search_Lucene_Index_Term($guid, 'sfl_guid'); $query = new Zend_Search_Lucene_Search_Query_Term($term); $hits = $lucene->find($query); return $hits[0]; } $lucene = sfLucene::getInstance('testLucene', 'en'); $model = new FakeForum(); $model->setPrimaryKey(42); $h = $lucene->getParameterHolder()->get('models')->get('FakeForum'); $t->diag('testing constructor'); try { new sfLucenePropelIndexer('foo', $model); $t->fail('__construct() rejects invalid search instances'); } catch (Exception $e) { $t->pass('__construct() rejects invalid search instances'); } try { new sfLucenePropelIndexer($lucene, new Bar()); $t->fail('__construct() rejects unregistered models'); } catch (Exception $e) { $t->pass('__construct() rejects unregistered models'); }
public function rebuildModel($name) { $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();
*/ require dirname(__FILE__) . '/../../bootstrap/unit.php'; $t = new limeade_test(30, limeade_output::get()); $limeade = new limeade_sf($t); $app = $limeade->bootstrap(); $luceneade = new limeade_lucene($limeade); $luceneade->configure()->clear_sandbox()->load_models(); $m1 = new FakeForum(); $m1->setCoolness(5); $m2 = new FakeForum(); $m2->setCoolness(4); $m3 = new FakeForum(); $m3->setCoolness(3); $m3->save(); $m3->deleteIndex(); $m4 = new FakeForum(); $m4->setCoolness(2); class Foo { } class MockBehavior extends sfLucenePropelBehavior { public function _getSaveQueue() { return $this->saveQueue; } public function _getDeleteQueue() { return $this->deleteQueue; } public function _getSearchInstances($node)