1<?php 2require_once DOKU_INC.'inc/init.php'; 3 4class search_test extends DokuWikiTest { 5 function strip_index_data($entry) { 6 $n_entry = array(); 7 foreach(array('id', 'type', 'level', 'open') as $k) { 8 $n_entry[$k] = $entry[$k]; 9 } 10 return $n_entry; 11 } 12 13 function test_search_index(){ 14 $data = array(); 15 search($data, dirname(__FILE__) . '/data', 'search_index', 16 array('ns' => 'ns2')); 17 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 18 array( 19 array( 20 'id' => 'ns1', 21 'type' => 'd', 22 'level' => 1, 23 'open' => false 24 ), array( 25 'id' => 'ns2', 26 'type' => 'd', 27 'level' => 1, 28 'open' => true 29 ), array( 30 'id' => 'ns2:page1', 31 'type' => 'f', 32 'level' => 2, 33 'open' => true, 34 ), )); 35 $data = array(); 36 search($data, dirname(__FILE__) . '/data', 'search_index', 37 array('ns' => 'ns1/ns3')); 38 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 39 array( 40 array( 41 'id' => 'ns1', 42 'type' => 'd', 43 'level' => 1, 44 'open' => true, 45 ), 46 array( 47 'id' => 'ns1:ns3', 48 'type' => 'd', 49 'level' => 2, 50 'open' => true, 51 ), 52 array( 53 'id' => 'ns1:ns3:page3', 54 'type' => 'f', 55 'level' => 3, 56 'open' => true, 57 ), 58 array( 59 'id' => 'ns1:page1', 60 'type' => 'f', 61 'level' => 2, 62 'open' => true, 63 ), 64 array( 65 'id' => 'ns1:page2', 66 'type' => 'f', 67 'level' => 2, 68 'open' => true, 69 ), 70 array( 71 'id' => 'ns2', 72 'type' => 'd', 73 'level' => 1, 74 'open' => false, 75 ), )); 76 $data = array(); 77 search($data, dirname(__FILE__) . '/data', 'search_index', 78 array('ns' => 'ns1/ns3', 'nofiles' => true)); 79 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 80 array( 81 array( 82 'id' => 'ns1', 83 'type' => 'd', 84 'level' => 1, 85 'open' => true, 86 ), 87 array( 88 'id' => 'ns1:ns3', 89 'type' => 'd', 90 'level' => 2, 91 'open' => true, 92 ), 93 array( 94 'id' => 'ns2', 95 'type' => 'd', 96 'level' => 1, 97 'open' => false, 98 ), )); 99 100 } 101} 102//Setup VIM: ex: et ts=4 : 103