ILIAS  release_7 Revision v7.30-3-g800a261c036
ComponentRendererLoaderCachingWrapperTest Class Reference
+ Inheritance diagram for ComponentRendererLoaderCachingWrapperTest:
+ Collaboration diagram for ComponentRendererLoaderCachingWrapperTest:

Public Member Functions

 test_forwards_from_underlying ()
 
 test_caches ()
 
 test_caching_respects_contexts ()
 
 test_passthrough_getRendererFactory ()
 

Detailed Description

Definition at line 7 of file ComponentRendererLoaderCachingWrapperTest.php.

Member Function Documentation

◆ test_caches()

ComponentRendererLoaderCachingWrapperTest::test_caches ( )

Definition at line 30 of file ComponentRendererLoaderCachingWrapperTest.php.

31 {
32 $underlying = $this->getMockBuilder(\ILIAS\UI\Implementation\Render\Loader::class)
33 ->setMethods(["getRendererFor", "getRendererFactoryFor"])
34 ->getMock();
35
36 $renderer = new \stdClass();
37 $component = $this->getMockBuilder(\ILIAS\UI\Component\Component::class)->getMock();
38 $underlying
39 ->expects($this->once())
40 ->method("getRendererFor")
41 ->with($component, [])
42 ->willReturn($renderer);
43
44 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
45 $r1 = $l->getRendererFor($component, []);
46 $r2 = $l->getRendererFor($component, []);
47
48 $this->assertSame($renderer, $r1);
49 $this->assertSame($renderer, $r2);
50 }
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.

◆ test_caching_respects_contexts()

ComponentRendererLoaderCachingWrapperTest::test_caching_respects_contexts ( )

Definition at line 52 of file ComponentRendererLoaderCachingWrapperTest.php.

53 {
54 $underlying = $this->getMockBuilder(\ILIAS\UI\Implementation\Render\Loader::class)
55 ->setMethods(["getRendererFor", "getRendererFactoryFor"])
56 ->getMock();
57
58 $renderer1 = new \stdClass();
59 $renderer2 = new \stdClass();
60 $c1 = $this->getMockBuilder(\ILIAS\UI\Component\Component::class)->getMock();
61 $c2 = new \ILIAS\UI\Component\Test\TestComponent("foo");
62 $underlying
63 ->expects($this->exactly(2))
64 ->method("getRendererFor")
65 ->withConsecutive([$c1, [] ], [$c1, [$c2]])
66 ->will($this->onConsecutiveCalls($renderer1, $renderer2));
67
68 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
69 $r1 = $l->getRendererFor($c1, []);
70 $r2 = $l->getRendererFor($c1, [$c2]);
71 $r3 = $l->getRendererFor($c1, [$c2]);
72 $r4 = $l->getRendererFor($c1, []);
73
74 $this->assertSame($renderer1, $r1);
75 $this->assertSame($renderer2, $r2);
76 $this->assertSame($renderer2, $r3);
77 $this->assertSame($renderer1, $r4);
78 }

◆ test_forwards_from_underlying()

ComponentRendererLoaderCachingWrapperTest::test_forwards_from_underlying ( )

Definition at line 9 of file ComponentRendererLoaderCachingWrapperTest.php.

10 {
11 $underlying = $this->getMockBuilder(\ILIAS\UI\Implementation\Render\Loader::class)
12 ->setMethods(["getRendererFor", "getRendererFactoryFor"])
13 ->getMock();
14
15 $renderer = new \stdClass();
16 $component = $this->getMockBuilder(\ILIAS\UI\Component\Component::class)->getMock();
17 $context = [new \ILIAS\UI\Component\Test\TestComponent("foo")];
18 $underlying
19 ->expects($this->once())
20 ->method("getRendererFor")
21 ->with($component, $context)
22 ->willReturn($renderer);
23
24 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
25 $r = $l->getRendererFor($component, $context);
26
27 $this->assertSame($renderer, $r);
28 }
$context
Definition: webdav.php:26

References $context.

◆ test_passthrough_getRendererFactory()

ComponentRendererLoaderCachingWrapperTest::test_passthrough_getRendererFactory ( )

Definition at line 80 of file ComponentRendererLoaderCachingWrapperTest.php.

81 {
82 $underlying = $this->getMockBuilder(\ILIAS\UI\Implementation\Render\Loader::class)
83 ->setMethods(["getRendererFor", "getRendererFactoryFor"])
84 ->getMock();
85
86 $c1 = $this->createMock(\ILIAS\UI\Component\Component::class);
87
88 $factory = "FACTORY";
89 $underlying
90 ->expects($this->exactly(1))
91 ->method("getRendererFactoryFor")
92 ->with($c1)
93 ->willReturn($factory);
94
95 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
96
97 $this->assertSame($factory, $l->getRendererFactoryFor($c1));
98 }
$factory
Definition: metadata.php:58

References $factory.


The documentation for this class was generated from the following file: