xref: /dokuwiki/_test/tests/test/globals.test.php (revision cd89aff0a8c3297f0a4ac3b3d63873b9d2393254)
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