1e66d3e6dSAndreas Gohr<?php 2e66d3e6dSAndreas Gohr 3e66d3e6dSAndreas Gohrclass pageutils_findnearest_test extends DokuWikiTest { 4cc529468SMichael Hamann 5cc529468SMichael Hamann var $oldAuthAcl; 6cc529468SMichael Hamann 7cc529468SMichael Hamann function setUp() { 8cc529468SMichael Hamann parent::setUp(); 9cc529468SMichael Hamann global $AUTH_ACL; 10cc529468SMichael Hamann global $auth; 11cc529468SMichael Hamann global $conf; 12cc529468SMichael Hamann $conf['superuser'] = 'john'; 13cc529468SMichael Hamann $conf['useacl'] = 1; 14cc529468SMichael Hamann 15cc529468SMichael Hamann $this->oldAuthAcl = $AUTH_ACL; 16cc529468SMichael Hamann $auth = new DokuWiki_Auth_Plugin(); 17cc529468SMichael Hamann 18cc529468SMichael Hamann $AUTH_ACL = array( 19cc529468SMichael Hamann '* @ALL 1', 20cc529468SMichael Hamann 'internal:* @ALL 0', 21cc529468SMichael Hamann 'internal:* max 1', 22cc529468SMichael Hamann '* @user 8', 23cc529468SMichael Hamann ); 24cc529468SMichael Hamann } 25cc529468SMichael Hamann 26cc529468SMichael Hamann function tearDown() { 27cc529468SMichael Hamann global $AUTH_ACL; 28cc529468SMichael Hamann $AUTH_ACL = $this->oldAuthAcl; 29cc529468SMichael Hamann } 30cc529468SMichael Hamann 31e66d3e6dSAndreas Gohr function testNoSidebar() { 32e66d3e6dSAndreas Gohr global $ID; 33e66d3e6dSAndreas Gohr 34e66d3e6dSAndreas Gohr $ID = 'foo:bar:baz:test'; 35e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 36e66d3e6dSAndreas Gohr $this->assertEquals(false, $sidebar); 37e66d3e6dSAndreas Gohr } 38e66d3e6dSAndreas Gohr 39e66d3e6dSAndreas Gohr function testExistingSidebars() { 40e66d3e6dSAndreas Gohr global $ID; 41e66d3e6dSAndreas Gohr 42e66d3e6dSAndreas Gohr saveWikiText('sidebar', 'topsidebar-test', ''); 43e66d3e6dSAndreas Gohr 44e66d3e6dSAndreas Gohr $ID = 'foo:bar:baz:test'; 45e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 46e66d3e6dSAndreas Gohr $this->assertEquals('sidebar', $sidebar); 47e66d3e6dSAndreas Gohr 48e66d3e6dSAndreas Gohr $ID = 'foo'; 49e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 50e66d3e6dSAndreas Gohr $this->assertEquals('sidebar', $sidebar); 51e66d3e6dSAndreas Gohr 52e66d3e6dSAndreas Gohr saveWikiText('foo:bar:sidebar', 'bottomsidebar-test', ''); 53e66d3e6dSAndreas Gohr 54e66d3e6dSAndreas Gohr $ID = 'foo:bar:baz:test'; 55e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 56e66d3e6dSAndreas Gohr $this->assertEquals('foo:bar:sidebar', $sidebar); 57e66d3e6dSAndreas Gohr 58e66d3e6dSAndreas Gohr $ID = 'foo:bar:test'; 59e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 60e66d3e6dSAndreas Gohr $this->assertEquals('foo:bar:sidebar', $sidebar); 61e66d3e6dSAndreas Gohr 62e66d3e6dSAndreas Gohr $ID = 'foo'; 63e66d3e6dSAndreas Gohr $sidebar = page_findnearest('sidebar'); 64e66d3e6dSAndreas Gohr $this->assertEquals('sidebar', $sidebar); 65e66d3e6dSAndreas Gohr } 66e66d3e6dSAndreas Gohr 67cc529468SMichael Hamann function testACLWithSidebar() { 68cc529468SMichael Hamann global $ID; 69cc529468SMichael Hamann global $INPUT; 70cc529468SMichael Hamann 71cc529468SMichael Hamann $INPUT->server->set('REMOTE_USER', 'foo'); 72cc529468SMichael Hamann 73cc529468SMichael Hamann saveWikiText('sidebar', 'top sidebar', ''); 74cc529468SMichael Hamann saveWikiText('internal:sidebar', 'internal sidebar', ''); 75cc529468SMichael Hamann 76cc529468SMichael Hamann $ID = 'internal:foo:bar'; 77cc529468SMichael Hamann 78cc529468SMichael Hamann $sidebar = page_findnearest('sidebar'); 79cc529468SMichael Hamann $this->assertEquals('sidebar', $sidebar); 80cc529468SMichael Hamann 81*7c3e4a67SAndreas Gohr $sidebar = page_findnearest('sidebar', false); 82cc529468SMichael Hamann $this->assertEquals('internal:sidebar', $sidebar); 83cc529468SMichael Hamann 84cc529468SMichael Hamann $INPUT->server->set('REMOTE_USER', 'max'); 85cc529468SMichael Hamann 86cc529468SMichael Hamann $sidebar = page_findnearest('sidebar'); 87cc529468SMichael Hamann $this->assertEquals('internal:sidebar', $sidebar); 88cc529468SMichael Hamann } 89e66d3e6dSAndreas Gohr} 90