77use Nette \Application \UI ;
88use Nette \Bridges \ApplicationLatte \Template ;
99use Nette \Bridges \ApplicationLatte \TemplateFactory ;
10+ use Nette \Bridges \ApplicationLatte \ILatteFactory ;
1011use Tester \Assert ;
1112
1213
1314require __DIR__ . '/../bootstrap.php ' ;
1415
1516
16- class LatteFactoryMock implements Nette \Bridges \ApplicationLatte \ILatteFactory
17- {
18- private $ engine ;
19-
20- public function __construct (Latte \Engine $ engine )
21- {
22- $ this ->engine = $ engine ;
23- }
24-
25- public function create ()
26- {
27- return $ this ->engine ;
28- }
29- }
30-
31- class TemplateMockWithoutImplement
32- {
33-
34- }
35-
36- class TemplateMock extends Nette \Bridges \ApplicationLatte \Template
17+ class TemplateMock extends Template
3718{
3819 private $ file = 'ko ' ;
3920
@@ -55,17 +36,21 @@ class TemplateMock extends Nette\Bridges\ApplicationLatte\Template
5536
5637
5738test (function () {
58- $ factory = new TemplateFactory (new LatteFactoryMock (new Latte \Engine ));
39+ $ latteFactory = Mockery::mock (ILatteFactory::class);
40+ $ latteFactory ->shouldReceive ('create ' )->andReturn (new Latte \Engine );
41+ $ factory = new TemplateFactory ($ latteFactory );
5942 Assert::type (Template::class, $ factory ->createTemplate ());
6043});
6144
6245Assert::exception (function () {
63- $ factory = new TemplateFactory (new LatteFactoryMock ( new Latte \ Engine ), NULL , NULL , NULL , TemplateMockWithoutImplement ::class);
64- }, \Nette \InvalidArgumentException::class, 'Class TemplateMockWithoutImplement does not extend Nette\Bridges\ApplicationLatte\Template or it does not exist. ' );
46+ $ factory = new TemplateFactory (Mockery:: mock (ILatteFactory::class ), NULL , NULL , NULL , stdClass ::class);
47+ }, \Nette \InvalidArgumentException::class, 'Class stdClass does not extend Nette\Bridges\ApplicationLatte\Template or it does not exist. ' );
6548
6649
6750test (function () {
68- $ factory = new TemplateFactory (new LatteFactoryMock (new Latte \Engine ), NULL , NULL , NULL , TemplateMock::class);
51+ $ latteFactory = Mockery::mock (ILatteFactory::class);
52+ $ latteFactory ->shouldReceive ('create ' )->andReturn (new Latte \Engine );
53+ $ factory = new TemplateFactory ($ latteFactory , NULL , NULL , NULL , TemplateMock::class);
6954 $ template = $ factory ->createTemplate ();
7055 Assert::type (TemplateMock::class, $ template );
7156 Assert::type (UI \ITemplate::class, $ template );
0 commit comments