1f8369d7dSTobias Sarnowski<?php 2f8369d7dSTobias Sarnowski 3f8369d7dSTobias Sarnowski/** 4f8369d7dSTobias Sarnowski * @group integration 5f8369d7dSTobias Sarnowski */ 6f8369d7dSTobias Sarnowskiclass InttestsGlobalsTest extends DokuWikiTest { 7f8369d7dSTobias Sarnowski 8f8369d7dSTobias Sarnowski /** 9f8369d7dSTobias Sarnowski * every request should be with its own variables 10f8369d7dSTobias Sarnowski */ 11f8369d7dSTobias Sarnowski function testFirstRun() { 12f8369d7dSTobias Sarnowski global $EVENT_HANDLER; 13f8369d7dSTobias Sarnowski 14f8369d7dSTobias Sarnowski $request = new TestRequest(); 15f8369d7dSTobias Sarnowski $request->setServer('testvar', true); 16f8369d7dSTobias Sarnowski 17f8369d7dSTobias Sarnowski $self = $this; 18f8369d7dSTobias Sarnowski $EVENT_HANDLER->register_hook('TPL_CONTENT_DISPLAY', 'AFTER', null, 19f8369d7dSTobias Sarnowski function() use ($self) { 20f8369d7dSTobias Sarnowski $self->assertTrue($_SERVER['testvar'], 'Server variable not set correctly: testvar'); 21*cd89aff0SAndreas Gohr $self->assertEquals('172.17.18.19', $_SERVER['REMOTE_ADDR'], 'Server variable not set correctly: REMOTE_ADDR'); 22f8369d7dSTobias Sarnowski $_SERVER['tmpvar'] = true; 23f8369d7dSTobias Sarnowski } 24f8369d7dSTobias Sarnowski ); 25f8369d7dSTobias Sarnowski 26f8369d7dSTobias Sarnowski $request->execute(); 27f8369d7dSTobias Sarnowski } 28f8369d7dSTobias Sarnowski 29f8369d7dSTobias Sarnowski /** 30f8369d7dSTobias Sarnowski * @depends testFirstRun 31f8369d7dSTobias Sarnowski */ 32f8369d7dSTobias Sarnowski function testSecondRun() { 33f8369d7dSTobias Sarnowski global $EVENT_HANDLER; 34f8369d7dSTobias Sarnowski 35f8369d7dSTobias Sarnowski $request = new TestRequest(); 36f8369d7dSTobias Sarnowski $request->setServer('testvar', false); 37f8369d7dSTobias Sarnowski 38f8369d7dSTobias Sarnowski $self = $this; 39f8369d7dSTobias Sarnowski $EVENT_HANDLER->register_hook('TPL_CONTENT_DISPLAY', 'AFTER', null, 40f8369d7dSTobias Sarnowski function() use ($self) { 41f8369d7dSTobias Sarnowski $self->assertFalse($_SERVER['testvar'], 'Server variable not set correctly: testvar'); 42*cd89aff0SAndreas Gohr $self->assertEquals('172.17.18.19', $_SERVER['REMOTE_ADDR'], 'Server variable not set correctly: REMOTE_ADDR'); 43f8369d7dSTobias Sarnowski $self->assertFalse(isset($_SERVER['tmpvar'])); 44f8369d7dSTobias Sarnowski } 45f8369d7dSTobias Sarnowski ); 46f8369d7dSTobias Sarnowski 47f8369d7dSTobias Sarnowski $request->execute(); 48f8369d7dSTobias Sarnowski } 49f8369d7dSTobias Sarnowski} 50