[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 class search_test extends DokuWikiTest { 4 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_allpages(){ 14 $data = array(); 15 16 //depth is 0 hence we should recurse endlesly 17 search($data, dirname(__FILE__) . '/data', 'search_allpages', array('depth' => 0), 'ns1'); 18 $this->assertEquals(3, count($data)); 19 20 //depth is 1 and we start too deep to expect results 21 $data = array(); 22 search($data, dirname(__FILE__) . '/data', 'search_allpages', array('depth' => 1), 'ns1/ns3'); 23 $this->assertEquals(0, count($data)); 24 25 //depth is 2 so I should get only pages from ns1 26 $data = array(); 27 search($data, dirname(__FILE__) . '/data', 'search_allpages', array('depth' => 2), 'ns1'); 28 $this->assertEquals(2, count($data)); 29 } 30 31 function test_search_index(){ 32 $data = array(); 33 search($data, dirname(__FILE__) . '/data', 'search_index', 34 array('ns' => 'ns2')); 35 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 36 array( 37 array( 38 'id' => 'ns1', 39 'type' => 'd', 40 'level' => 1, 41 'open' => false 42 ), array( 43 'id' => 'ns2', 44 'type' => 'd', 45 'level' => 1, 46 'open' => true 47 ), array( 48 'id' => 'ns2:page1', 49 'type' => 'f', 50 'level' => 2, 51 'open' => true, 52 ), )); 53 $data = array(); 54 search($data, dirname(__FILE__) . '/data', 'search_index', 55 array('ns' => 'ns1/ns3')); 56 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 57 array( 58 array( 59 'id' => 'ns1', 60 'type' => 'd', 61 'level' => 1, 62 'open' => true, 63 ), 64 array( 65 'id' => 'ns1:ns3', 66 'type' => 'd', 67 'level' => 2, 68 'open' => true, 69 ), 70 array( 71 'id' => 'ns1:ns3:page3', 72 'type' => 'f', 73 'level' => 3, 74 'open' => true, 75 ), 76 array( 77 'id' => 'ns1:page1', 78 'type' => 'f', 79 'level' => 2, 80 'open' => true, 81 ), 82 array( 83 'id' => 'ns1:page2', 84 'type' => 'f', 85 'level' => 2, 86 'open' => true, 87 ), 88 array( 89 'id' => 'ns2', 90 'type' => 'd', 91 'level' => 1, 92 'open' => false, 93 ), )); 94 $data = array(); 95 search($data, dirname(__FILE__) . '/data', 'search_index', 96 array('ns' => 'ns1/ns3', 'nofiles' => true)); 97 $this->assertEquals(array_map(array($this, 'strip_index_data'), $data), 98 array( 99 array( 100 'id' => 'ns1', 101 'type' => 'd', 102 'level' => 1, 103 'open' => true, 104 ), 105 array( 106 'id' => 'ns1:ns3', 107 'type' => 'd', 108 'level' => 2, 109 'open' => true, 110 ), 111 array( 112 'id' => 'ns2', 113 'type' => 'd', 114 'level' => 1, 115 'open' => false, 116 ), )); 117 118 } 119 } 120 //Setup VIM: ex: et ts=4 :
title
Description
Body
title
Description
Body
title
Description
Body
title
Body