[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

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

   1  <?php
   2  
   3  class PageUtilsIsHiddenPageTest extends DokuWikiTest {
   4  
   5      function prepare($hidePages = '^:test$', $act = 'show') {
   6          global $conf;
   7          global $ACT;
   8          $conf['hidepages'] = $hidePages;
   9          $ACT = $act;
  10      }
  11  
  12      function testHiddenOff(){
  13          $this->prepare('');
  14  
  15          $this->assertFalse(isHiddenPage('test'));
  16      }
  17  
  18      function testHiddenOffAdmin(){
  19          $this->prepare('^:test$', 'admin');
  20  
  21          $this->assertFalse(isHiddenPage('test'));
  22      }
  23  
  24      function testHiddenOnMatch(){
  25          $this->prepare();
  26  
  27          $this->assertTrue(isHiddenPage('test'));
  28      }
  29  
  30      function testHiddenOnNoMatch(){
  31          $this->prepare();
  32  
  33          $this->assertFalse(isHiddenPage('another'));
  34      }
  35  
  36      function testEventHandlerBefore() {
  37          global $EVENT_HANDLER;
  38          $this->prepare();
  39          $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'alwaysHide');
  40  
  41          $this->assertTrue(isHiddenPage('another'));
  42      }
  43  
  44      function alwaysHide(Doku_Event $event, $params) {
  45          $event->data['hidden'] = true;
  46      }
  47  
  48      function testEventHandlerBeforeAndPrevent() {
  49          global $EVENT_HANDLER;
  50          $this->prepare();
  51          $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'showBefore');
  52  
  53          $this->assertFalse(isHiddenPage('test'));
  54      }
  55  
  56      function showBefore(Doku_Event $event, $params) {
  57          $event->data['hidden'] = false;
  58          $event->preventDefault();
  59          $event->stopPropagation();
  60      }
  61  
  62      function testEventHandlerAfter() {
  63          global $EVENT_HANDLER;
  64          $this->prepare();
  65          $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'alwaysHide');
  66  
  67          $this->assertTrue(isHiddenPage('another'));
  68      }
  69  
  70      function testEventHandlerAfterHide() {
  71          global $EVENT_HANDLER;
  72          $this->prepare();
  73          $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'hideBeforeWithoutPrevent');
  74  
  75          $this->assertTrue(isHiddenPage('another'));
  76      }
  77  
  78      function hideBeforeWithoutPrevent(Doku_Event $event, $params) {
  79          $event->data['hidden'] = true;
  80      }
  81  
  82      function testEventHandlerAfterShow() {
  83          global $EVENT_HANDLER;
  84          $this->prepare();
  85          $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'AFTER', $this, 'showAfter');
  86  
  87          $this->assertFalse(isHiddenPage('test'));
  88      }
  89  
  90      function showAfter(Doku_Event $event, $params) {
  91          $event->data['hidden'] = false;
  92      }
  93  
  94  }
  95  //Setup VIM: ex: et ts=4 :