1--TEST--
2Psr\Http\Message\ServerRequestInterface
3--SKIPIF--
4<?php include('skip.inc'); ?>
5--FILE--
6<?php
7include __DIR__ . '/SampleMessage.inc';
8include __DIR__ . '/SampleRequest.inc';
9include __DIR__ . '/SampleServerRequest.inc';
10var_dump(interface_exists('\\Psr\\Http\\Message\\ServerRequestInterface', false));
11var_dump(is_subclass_of('\\Psr\\Http\\Message\\ServerRequestInterface', '\\Psr\\Http\\Message\\MessageInterface'));
12var_dump(is_subclass_of('\\Psr\\Http\\Message\\ServerRequestInterface', '\\Psr\\Http\\Message\\RequestInterface'));
13$ifaces = class_implements('SampleServerRequest', false);
14ksort($ifaces);
15var_dump($ifaces);
16$request = new SampleServerRequest();
17var_dump($request instanceof \Psr\Http\Message\MessageInterface);
18var_dump($request instanceof \Psr\Http\Message\RequestInterface);
19$request->getServerParams();
20$request->getCookieParams();
21$request->withCookieParams(array('a' => 'b'));
22$request->getQueryParams();
23$request->withQueryParams(array('c' => 'd'));
24$request->getUploadedFiles();
25$request->withUploadedFiles(array());
26$request->getParsedBody();
27$request->withParsedBody('body');
28$request->getAttributes();
29$request->getAttribute('attr');
30$request->getAttribute('attr', 'bar');
31$request->withAttribute('foo', 'baz');
32$request->withoutAttribute('bar');
33--EXPECT--
34bool(true)
35bool(true)
36bool(true)
37array(3) {
38  ["Psr\Http\Message\MessageInterface"]=>
39  string(33) "Psr\Http\Message\MessageInterface"
40  ["Psr\Http\Message\RequestInterface"]=>
41  string(33) "Psr\Http\Message\RequestInterface"
42  ["Psr\Http\Message\ServerRequestInterface"]=>
43  string(39) "Psr\Http\Message\ServerRequestInterface"
44}
45bool(true)
46bool(true)
47string(36) "SampleServerRequest::getServerParams"
48string(36) "SampleServerRequest::getCookieParams"
49string(37) "SampleServerRequest::withCookieParams"
50array(1) {
51  ["a"]=>
52  string(1) "b"
53}
54string(35) "SampleServerRequest::getQueryParams"
55string(36) "SampleServerRequest::withQueryParams"
56array(1) {
57  ["c"]=>
58  string(1) "d"
59}
60string(37) "SampleServerRequest::getUploadedFiles"
61string(38) "SampleServerRequest::withUploadedFiles"
62array(0) {
63}
64string(34) "SampleServerRequest::getParsedBody"
65string(35) "SampleServerRequest::withParsedBody"
66string(4) "body"
67string(34) "SampleServerRequest::getAttributes"
68string(33) "SampleServerRequest::getAttribute"
69string(4) "attr"
70NULL
71string(33) "SampleServerRequest::getAttribute"
72string(4) "attr"
73string(3) "bar"
74string(34) "SampleServerRequest::withAttribute"
75string(3) "foo"
76string(3) "baz"
77string(37) "SampleServerRequest::withoutAttribute"
78string(3) "bar"
79