xref: /dokuwiki/_test/tests/test/basic.test.php (revision f6af1fe63a13b2734d1b69817ec800c51e6def9c)
1<?php
2
3/**
4 * @group integration
5 */
6class InttestsBasicTest extends DokuWikiTest {
7    /**
8     * Execute the simplest possible request and expect
9     * a dokuwiki page which obviously has the word "DokuWiki"
10     * in it somewhere.
11     */
12    function testSimpleRun() {
13        $request = new TestRequest();
14
15        $response = $request->execute();
16
17        $this->assertTrue(
18            strpos($response->getContent(), 'DokuWiki') >= 0,
19            'DokuWiki was not a word in the output'
20        );
21    }
22
23    function testPost() {
24        $request = new TestRequest();
25
26        $input = array(
27            'string' => 'A string',
28            'array'  => array(1, 2, 3),
29            'id'     => 'wiki:dokuwiki'
30        );
31
32        $response = $request->post($input);
33
34        // server var check
35        $this->assertEquals('POST',$request->getServer('REQUEST_METHOD'));
36        $this->assertEquals('',$request->getServer('QUERY_STRING'));
37        $this->assertEquals('/doku.php',$request->getServer('REQUEST_URI'));
38
39        // variable setup check
40        $this->assertEquals('A string', $request->getPost('string'));
41        $this->assertEquals(array(1, 2, 3), $request->getPost('array'));
42        $this->assertEquals('wiki:dokuwiki', $request->getPost('id'));
43
44        // output check
45        $this->assertTrue(strpos($response->getContent(), 'Andreas Gohr') >= 0);
46    }
47
48    function testPostGet() {
49        $request = new TestRequest();
50
51        $input = array(
52            'string' => 'A string',
53            'array'  => array(1, 2, 3),
54        );
55
56        $response = $request->post($input,'/doku.php?id=wiki:dokuwiki');
57
58        // server var check
59        $this->assertEquals('POST',$request->getServer('REQUEST_METHOD'));
60        $this->assertEquals('?id=wiki:dokuwiki',$request->getServer('QUERY_STRING'));
61        $this->assertEquals('/doku.php?id=wiki:dokuwiki',$request->getServer('REQUEST_URI'));
62
63        // variable setup check
64        $this->assertEquals('A string', $request->getPost('string'));
65        $this->assertEquals(array(1, 2, 3), $request->getPost('array'));
66        $this->assertEquals('wiki:dokuwiki', $request->getGet('id'));
67
68        // output check
69        $this->assertTrue(strpos($response->getContent(), 'Andreas Gohr') >= 0);
70    }
71
72    function testGet() {
73        $request = new TestRequest();
74
75        $input = array(
76            'string' => 'A string',
77            'array'  => array(1, 2, 3),
78            'test'   => 'bar'
79        );
80
81        $response = $request->get($input,'/doku.php?id=wiki:dokuwiki&test=foo');
82
83        // server var check
84        $this->assertEquals('GET',$request->getServer('REQUEST_METHOD'));
85        $this->assertEquals(
86            '?id=wiki:dokuwiki&test=bar&string=A+string&array[0]=1&array[1]=2&array[2]=3',
87            $request->getServer('QUERY_STRING')
88        );
89        $this->assertEquals(
90            '/doku.php?id=wiki:dokuwiki&test=bar&string=A+string&array[0]=1&array[1]=2&array[2]=3',
91            $request->getServer('REQUEST_URI')
92        );
93
94        // variable setup check
95        $this->assertEquals('A string', $request->getGet('string'));
96        $this->assertEquals(array(1, 2, 3), $request->getGet('array'));
97        $this->assertEquals('wiki:dokuwiki', $request->getGet('id'));
98        $this->assertEquals('bar', $request->getGet('test'));
99
100        // output check
101        $this->assertTrue(strpos($response->getContent(), 'Andreas Gohr') >= 0);
102    }
103
104
105}
106