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