ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
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 Factory.
Class ChatMainBarProvider .

◆ 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  }
Class Factory.
Class ChatMainBarProvider .

◆ test_forwards_from_underlying()

ComponentRendererLoaderCachingWrapperTest::test_forwards_from_underlying ( )

Definition at line 9 of file ComponentRendererLoaderCachingWrapperTest.php.

References $context.

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
Class Factory.
Class ChatMainBarProvider .

◆ test_passthrough_getRendererFactory()

ComponentRendererLoaderCachingWrapperTest::test_passthrough_getRendererFactory ( )

Definition at line 80 of file ComponentRendererLoaderCachingWrapperTest.php.

References $factory.

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  }
Class Factory.
Class ChatMainBarProvider .
$factory
Definition: metadata.php:58

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