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