[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/_test/tests/inc/ -> fulltext_mediause.test.php (source)

   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  }