1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace Symfony\Component\HttpFoundation\Tests;
13:
14: use Symfony\Component\HttpFoundation\Request;
15: use Symfony\Component\HttpFoundation\RequestStack;
16:
17: class RequestStackTest extends \PHPUnit_Framework_TestCase
18: {
19: public function testGetCurrentRequest()
20: {
21: $requestStack = new RequestStack();
22: $this->assertNull($requestStack->getCurrentRequest());
23:
24: $request = Request::create('/foo');
25:
26: $requestStack->push($request);
27: $this->assertSame($request, $requestStack->getCurrentRequest());
28:
29: $this->assertSame($request, $requestStack->pop());
30: $this->assertNull($requestStack->getCurrentRequest());
31:
32: $this->assertNull($requestStack->pop());
33: }
34:
35: public function testGetMasterRequest()
36: {
37: $requestStack = new RequestStack();
38: $this->assertNull($requestStack->getMasterRequest());
39:
40: $masterRequest = Request::create('/foo');
41: $subRequest = Request::create('/bar');
42:
43: $requestStack->push($masterRequest);
44: $requestStack->push($subRequest);
45:
46: $this->assertSame($masterRequest, $requestStack->getMasterRequest());
47: }
48:
49: public function testGetParentRequest()
50: {
51: $requestStack = new RequestStack();
52: $this->assertNull($requestStack->getParentRequest());
53:
54: $masterRequest = Request::create('/foo');
55:
56: $requestStack->push($masterRequest);
57: $this->assertNull($requestStack->getParentRequest());
58:
59: $firstSubRequest = Request::create('/bar');
60:
61: $requestStack->push($firstSubRequest);
62: $this->assertSame($masterRequest, $requestStack->getParentRequest());
63:
64: $secondSubRequest = Request::create('/baz');
65:
66: $requestStack->push($secondSubRequest);
67: $this->assertSame($firstSubRequest, $requestStack->getParentRequest());
68: }
69: }
70: