[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

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

   1  <?php
   2  
   3  class init_resolve_pageid_test extends DokuWikiTest
   4  {
   5  
   6      /**
   7       * @see test1
   8       */
   9      public function provider()
  10      {
  11          return [
  12              // relative current in root
  13              ['context', 'page', 'page'],
  14              ['context', '.page', 'page'],
  15              ['context', '.:page', 'page'],
  16  
  17              // relative current in namespace
  18              ['lev1:lev2:context', 'page', 'lev1:lev2:page'],
  19              ['lev1:lev2:context', '.page', 'lev1:lev2:page'],
  20              ['lev1:lev2:context', '.:page', 'lev1:lev2:page'],
  21  
  22              // relative upper in root
  23              ['context', '..page', 'page'],
  24              ['context', '..:page', 'page'],
  25  
  26              // relative upper in namespace
  27              ['lev1:lev2:context', '..page', 'lev1:page'],
  28              ['lev1:lev2:context', '..:page', 'lev1:page'],
  29              ['lev1:lev2:context', '..:..:page', 'page'],
  30              ['lev1:lev2:context', '..:..:..:page', 'page'],
  31  
  32              // strange and broken ones
  33              ['lev1:lev2:context', '....:....:page', 'lev1:lev2:page'],
  34              ['lev1:lev2:context', '..:..:lev3:page', 'lev3:page'],
  35              ['lev1:lev2:context', '..:..:lev3:..:page', 'page'],
  36              ['lev1:lev2:context', '..:..:lev3:..:page:....:...', 'page'],
  37  
  38              // now some tests with existing and none existing files
  39              ['context', '.:', 'start'],
  40              ['foo:context', '.:', 'foo:start'],
  41              ['context', 'foo:', 'foo:start'],
  42              ['foo:context', 'foo:', 'foo:start'],
  43  
  44              // empty $page
  45              ['my:space', '', 'my:space'],
  46          ];
  47      }
  48  
  49      /**
  50       * @param $context
  51       * @param $page
  52       * @param $expect
  53       * @dataProvider provider
  54       */
  55      function test1($context, $page, $expect)
  56      {
  57          global $conf;
  58          global $ID;
  59          $ID = 'my:space';
  60          $conf['start'] = 'start';
  61  
  62          $resolover = new \dokuwiki\File\PageResolver($context);
  63              $this->assertEquals($expect, $resolover->resolveId($page));
  64      }
  65  }