ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
RequestDecoratorTest.php
Go to the documentation of this file.
1 <?php
2 
3 namespace 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 }
The Request class represents a single HTTP request.
Definition: Request.php:18
if($session===NULL) $postData