11 $underlying = $this->getMockBuilder(\
ILIAS\
UI\Implementation\Render\Loader::class)
12 ->setMethods([
"getRendererFor",
"getRendererFactoryFor"])
15 $renderer = new \stdClass();
16 $component = $this->getMockBuilder(\
ILIAS\
UI\
Component\Component::class)->getMock();
17 $context = [new \ILIAS\UI\Component\Test\TestComponent(
"foo")];
19 ->expects($this->once())
20 ->method(
"getRendererFor")
22 ->willReturn($renderer);
24 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
25 $r = $l->getRendererFor($component,
$context);
27 $this->assertSame($renderer, $r);
32 $underlying = $this->getMockBuilder(\
ILIAS\
UI\Implementation\Render\Loader::class)
33 ->setMethods([
"getRendererFor",
"getRendererFactoryFor"])
36 $renderer = new \stdClass();
37 $component = $this->getMockBuilder(\
ILIAS\
UI\
Component\Component::class)->getMock();
39 ->expects($this->once())
40 ->method(
"getRendererFor")
41 ->with($component, [])
42 ->willReturn($renderer);
44 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
45 $r1 = $l->getRendererFor($component, []);
46 $r2 = $l->getRendererFor($component, []);
48 $this->assertSame($renderer, $r1);
49 $this->assertSame($renderer, $r2);
54 $underlying = $this->getMockBuilder(\
ILIAS\
UI\Implementation\Render\Loader::class)
55 ->setMethods([
"getRendererFor",
"getRendererFactoryFor"])
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");
63 ->expects($this->exactly(2))
64 ->method(
"getRendererFor")
65 ->withConsecutive([$c1, [] ], [$c1, [$c2]])
66 ->will($this->onConsecutiveCalls($renderer1, $renderer2));
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, []);
74 $this->assertSame($renderer1, $r1);
75 $this->assertSame($renderer2, $r2);
76 $this->assertSame($renderer2, $r3);
77 $this->assertSame($renderer1, $r4);
82 $underlying = $this->getMockBuilder(\
ILIAS\
UI\Implementation\Render\Loader::class)
83 ->setMethods([
"getRendererFor",
"getRendererFactoryFor"])
90 ->expects($this->exactly(1))
91 ->method(
"getRendererFactoryFor")
95 $l = new \ILIAS\UI\Implementation\Render\LoaderCachingWrapper($underlying);
97 $this->assertSame(
$factory, $l->getRendererFactoryFor($c1));
test_forwards_from_underlying()
test_caching_respects_contexts()
Class ChatMainBarProvider .
test_passthrough_getRendererFactory()