ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
RequestDecoratorTest.php
Go to the documentation of this file.
1<?php
2
3namespace Sabre\HTTP;
4
6
7 protected $inner;
8 protected $outer;
9
10 function setUp() {
11
12 $this->inner = new Request();
13 $this->outer = new RequestDecorator($this->inner);
14
15 }
16
17 function testMethod() {
18
19 $this->outer->setMethod('FOO');
20 $this->assertEquals('FOO', $this->inner->getMethod());
21 $this->assertEquals('FOO', $this->outer->getMethod());
22
23 }
24
25 function testUrl() {
26
27 $this->outer->setUrl('/foo');
28 $this->assertEquals('/foo', $this->inner->getUrl());
29 $this->assertEquals('/foo', $this->outer->getUrl());
30
31 }
32
33 function testAbsoluteUrl() {
34
35 $this->outer->setAbsoluteUrl('http://example.org/foo');
36 $this->assertEquals('http://example.org/foo', $this->inner->getAbsoluteUrl());
37 $this->assertEquals('http://example.org/foo', $this->outer->getAbsoluteUrl());
38
39 }
40
41 function testBaseUrl() {
42
43 $this->outer->setBaseUrl('/foo');
44 $this->assertEquals('/foo', $this->inner->getBaseUrl());
45 $this->assertEquals('/foo', $this->outer->getBaseUrl());
46
47 }
48
49 function testPath() {
50
51 $this->outer->setBaseUrl('/foo');
52 $this->outer->setUrl('/foo/bar');
53 $this->assertEquals('bar', $this->inner->getPath());
54 $this->assertEquals('bar', $this->outer->getPath());
55
56 }
57
58 function testQueryParams() {
59
60 $this->outer->setUrl('/foo?a=b&c=d&e');
61 $expected = [
62 'a' => 'b',
63 'c' => 'd',
64 'e' => null,
65 ];
66
67 $this->assertEquals($expected, $this->inner->getQueryParameters());
68 $this->assertEquals($expected, $this->outer->getQueryParameters());
69
70 }
71
72 function testPostData() {
73
74 $postData = [
75 'a' => 'b',
76 'c' => 'd',
77 'e' => null,
78 ];
79
80 $this->outer->setPostData($postData);
81 $this->assertEquals($postData, $this->inner->getPostData());
82 $this->assertEquals($postData, $this->outer->getPostData());
83
84 }
85
86
87 function testServerData() {
88
89 $serverData = [
90 'HTTPS' => 'On',
91 ];
92
93 $this->outer->setRawServerData($serverData);
94 $this->assertEquals('On', $this->inner->getRawServerValue('HTTPS'));
95 $this->assertEquals('On', $this->outer->getRawServerValue('HTTPS'));
96
97 $this->assertNull($this->inner->getRawServerValue('FOO'));
98 $this->assertNull($this->outer->getRawServerValue('FOO'));
99 }
100
101 function testToString() {
102
103 $this->inner->setMethod('POST');
104 $this->inner->setUrl('/foo/bar/');
105 $this->inner->setBody('foo');
106 $this->inner->setHeader('foo', 'bar');
107
108 $this->assertEquals((string)$this->inner, (string)$this->outer);
109
110 }
111
112}
An exception for terminatinating execution or to throw for unit testing.
The Request class represents a single HTTP request.
Definition: Request.php:18
if($session===NULL) $postData