[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 // must be run within Dokuwiki 4 if (!defined('DOKU_INC')) die(); 5 6 /** 7 * Test cases for the link index 8 * 9 * @author Michael Hamann <michael@content-space.de> 10 */ 11 class fulltext_backlinks_test extends DokuWikiTest { 12 13 public function test_internallink() { 14 saveWikiText('test:internallinks', '[[internälLink]] [[..:internal link]]', 'Test initialization'); 15 idx_addPage('test:internallinks'); 16 17 $this->assertEquals(array('test:internallinks'), ft_backlinks('internal_link')); 18 $this->assertEquals(array('test:internallinks'), ft_backlinks('test:internaellink')); 19 } 20 21 public function test_links_in_footnotes() { 22 saveWikiText('test:link_footnotes', '(([[footnote]] [[:foÖtnotel]]))', 'Test initialization'); 23 idx_addPage('test:link_footnotes'); 24 25 $this->assertEquals(array('test:link_footnotes'), ft_backlinks('test:footnote')); 26 $this->assertEquals(array('test:link_footnotes'), ft_backlinks('fooetnotel')); 27 } 28 29 public function test_links_in_hidden_pages() { 30 global $conf; 31 $conf['hidepages'] = 'hidden:.*'; 32 saveWikiText('hidden:links', '[[wiki:hiddenlink|linktitle]]', 'Test initialization'); 33 idx_addPage('hidden:links'); 34 saveWikiText('visible:links', '[[wiki:hiddenlink]]', 'Test initialization'); 35 idx_addPage('visible:links'); 36 37 $this->assertEquals(array('visible:links'), ft_backlinks('wiki:hiddenlink')); 38 $this->assertEquals(array('visible:links'), ft_backlinks('wiki:hiddenlink', false)); 39 $this->assertEquals(array('hidden:links', 'visible:links'), ft_backlinks('wiki:hiddenlink', true)); 40 } 41 42 public function test_links_in_protected_pages() { 43 global $conf; 44 global $AUTH_ACL; 45 $conf['superuser'] = 'alice'; 46 $conf['useacl'] = 1; 47 48 $AUTH_ACL = array( 49 '* @ALL 8', 50 'secret:* @ALL 0', 51 ); 52 53 $_SERVER['REMOTE_USER'] = 'eve'; 54 55 saveWikiText('secret:links', '[[wiki:secretlink]]', 'Test initialization'); 56 idx_addPage('secret:links'); 57 saveWikiText('public:links', '[[wiki:secretlink]]', 'Test initialization'); 58 idx_addPage('public:links'); 59 60 $this->assertEquals(array('public:links'), ft_backlinks('wiki:secretlink')); 61 $this->assertEquals(array('public:links'), ft_backlinks('wiki:secretlink', false)); 62 $this->assertEquals(array('public:links', 'secret:links'), ft_backlinks('wiki:secretlink', true)); 63 } 64 65 public function test_links_in_deleted_pages() { 66 saveWikiText('test:internallinks', '[[internallink]] [[..:internal link]]', 'Test initialization'); 67 idx_addPage('test:internallinks'); 68 69 $this->assertEquals(array('test:internallinks'), ft_backlinks('test:internallink')); 70 $this->assertEquals(array('test:internallinks'), ft_backlinks('internal_link')); 71 72 saveWikiText('test:internallinks', '', 'Deleted'); 73 74 $this->assertEquals(array(), ft_backlinks('test:internallink')); 75 $this->assertEquals(array(), ft_backlinks('internal_link')); 76 } 77 78 function test_parameters() { 79 saveWikiText('test:links', '[[wiki:syntax?do=export_raw]] [[:web:scripts:add_vhost.sh?do=export_raw]]', 'Init tests'); 80 idx_addPage('test:links'); 81 82 $this->assertEquals(array('test:links'), ft_backlinks('wiki:syntax')); 83 $this->assertEquals(array('test:links'), ft_backlinks('web:scripts:add_vhost.sh')); 84 } 85 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body