コード例 #1
0
<?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();
コード例 #2
0
$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();
コード例 #4
0
 */
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)