1*a8dba452SMichael Hamann<?php 2*a8dba452SMichael Hamann/** 3*a8dba452SMichael Hamann * Tests the indexing functionality of the indexer 4*a8dba452SMichael Hamann * 5*a8dba452SMichael Hamann * @author Michael Hamann <michael@content-space.de> 6*a8dba452SMichael Hamann */ 7*a8dba452SMichael Hamannclass indexer_indexing_test extends DokuWikiTest { 8*a8dba452SMichael Hamann public function setUp() { 9*a8dba452SMichael Hamann parent::setUp(); 10*a8dba452SMichael Hamann saveWikiText('testpage', 'Foo bar baz.', 'Test initialization'); 11*a8dba452SMichael Hamann saveWikiText('notfound', 'Foon barn bazn.', 'Test initialization'); 12*a8dba452SMichael Hamann idx_addPage('testpage'); 13*a8dba452SMichael Hamann idx_addPage('notfound'); 14*a8dba452SMichael Hamann } 15*a8dba452SMichael Hamann 16*a8dba452SMichael Hamann public function test_words() { 17*a8dba452SMichael Hamann $indexer = idx_get_indexer(); 18*a8dba452SMichael Hamann $query = array('baz', 'foo'); 19*a8dba452SMichael Hamann $this->assertEquals(array('baz' => array('testpage' => 1), 'foo' => array('testpage' => 1)), $indexer->lookup($query)); 20*a8dba452SMichael Hamann } 21*a8dba452SMichael Hamann 22*a8dba452SMichael Hamann public function test_numerically_identical_words() { 23*a8dba452SMichael Hamann $indexer = idx_get_indexer(); 24*a8dba452SMichael Hamann $indexer->addPageWords('testpage', '0x1 002'); 25*a8dba452SMichael Hamann $indexer->addPageWords('notfound', '0x2'); 26*a8dba452SMichael Hamann $query = array('001', '002'); 27*a8dba452SMichael Hamann $this->assertEquals(array('001' => array('notfound' => 1), '002' => array('testpage' => 1)), $indexer->lookup($query)); 28*a8dba452SMichael Hamann } 29*a8dba452SMichael Hamann 30*a8dba452SMichael Hamann public function test_meta() { 31*a8dba452SMichael Hamann $indexer = idx_get_indexer(); 32*a8dba452SMichael Hamann $indexer->addMetaKeys('testpage', 'testkey', 'testvalue'); 33*a8dba452SMichael Hamann $indexer->addMetaKeys('notfound', 'testkey', 'notvalue'); 34*a8dba452SMichael Hamann $query = 'testvalue'; 35*a8dba452SMichael Hamann $this->assertEquals(array('testpage'), $indexer->lookupKey('testkey', $query)); 36*a8dba452SMichael Hamann } 37*a8dba452SMichael Hamann 38*a8dba452SMichael Hamann public function test_numerically_identical_meta_values() { 39*a8dba452SMichael Hamann $indexer = idx_get_indexer(); 40*a8dba452SMichael Hamann $indexer->addMetaKeys('testpage', 'numkey', array('0001', '01')); 41*a8dba452SMichael Hamann $indexer->addMetaKeys('notfound', 'numkey', array('00001', '000001')); 42*a8dba452SMichael Hamann $query = array('001', '01'); 43*a8dba452SMichael Hamann $this->assertEquals(array('001' => array(), '01' => array('testpage')), $indexer->lookupKey('numkey', $query)); 44*a8dba452SMichael Hamann } 45*a8dba452SMichael Hamann}