[ 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 media usage index 8 * 9 * @author Michael Hamann <michael@content-space.de> 10 */ 11 class fultext_mediause_test extends DokuWikiTest { 12 13 public function test_internalmedia() { 14 saveWikiText('test:internalmedia_usage', '{{internalmedia.png}} {{..:internal media.png}}', 'Test initialization'); 15 idx_addPage('test:internalmedia_usage'); 16 17 $this->assertEquals(array('test:internalmedia_usage'), ft_mediause('internal_media.png')); 18 $this->assertEquals(array('test:internalmedia_usage'), ft_mediause('test:internalmedia.png')); 19 } 20 21 public function test_media_in_links() { 22 saveWikiText('test:medialinks', '[[doku>wiki:dokuwiki|{{wiki:logo.png}}]] [[http://www.example.com|{{example.png?200x800}}]]', 'Test init'); 23 idx_addPage('test:medialinks'); 24 25 $this->assertEquals(array('test:medialinks'), ft_mediause('wiki:logo.png')); 26 $this->assertEquals(array('test:medialinks'), ft_mediause('test:example.png')); 27 } 28 29 public function test_media_in_local_links() { 30 saveWikiText('test:locallinks', '[[#test|{{wiki:logolocal.png}}]]', 'Test init'); 31 idx_addPage('test:locallinks'); 32 33 $this->assertEquals(array('test:locallinks'), ft_mediause('wiki:logolocal.png')); 34 } 35 36 public function test_media_in_footnotes() { 37 saveWikiText('test:media_footnotes', '(({{footnote.png?20x50}} [[foonote|{{:footlink.png}}]]))', 'Test initialization'); 38 idx_addPage('test:media_footnotes'); 39 40 $this->assertEquals(array('test:media_footnotes'), ft_mediause('test:footnote.png')); 41 $this->assertEquals(array('test:media_footnotes'), ft_mediause('footlink.png')); 42 } 43 44 public function test_media_in_hidden_pages() { 45 global $conf; 46 $conf['hidepages'] = 'hidden:.*'; 47 saveWikiText('hidden:medias', '[[doku>wiki:dokuwiki|{{wiki:hiddenlogo.png}}]]', 'Test initialization'); 48 idx_addPage('hidden:medias'); 49 50 $this->assertEquals(array(), ft_mediause('wiki:hiddenlogo.png')); 51 $this->assertEquals(array(), ft_mediause('wiki:hiddenlogo.png', false)); 52 $this->assertEquals(array('hidden:medias'), ft_mediause('wiki:hiddenlogo.png', true)); 53 } 54 55 public function test_media_in_protected_pages() { 56 global $conf; 57 global $AUTH_ACL; 58 $conf['superuser'] = 'alice'; 59 $conf['useacl'] = 1; 60 61 $AUTH_ACL = array( 62 '* @ALL 8', 63 'secret:* @ALL 0', 64 ); 65 66 $_SERVER['REMOTE_USER'] = 'eve'; 67 68 saveWikiText('secret:medias', '[[doku>wiki:dokuwiki|{{wiki:secretlogo.png}}]]', 'Test initialization'); 69 idx_addPage('secret:medias'); 70 71 $this->assertEquals(array(), ft_mediause('wiki:secretlogo.png')); 72 $this->assertEquals(array(), ft_mediause('wiki:secretlogo.png', false)); 73 $this->assertEquals(array('secret:medias'), ft_mediause('wiki:secretlogo.png', true)); 74 } 75 76 public function test_media_in_deleted_pages() { 77 saveWikiText('test:internalmedia_usage', '{{internalmedia.png}} {{..:internal media.png}}', 'Test initialization'); 78 idx_addPage('test:internalmedia_usage'); 79 saveWikiText('test:internalmedia_usage', '', 'Deleted'); 80 81 $this->assertEquals(array(), ft_mediause('internal_media.png')); 82 $this->assertEquals(array(), ft_mediause('test:internalmedia.png')); 83 } 84 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body