@@ -12,71 +12,42 @@ use Tester\Assert;
1212require __DIR__ . '/../bootstrap.php ' ;
1313
1414
15- class LatteFactory implements Nette \Bridges \ApplicationLatte \ILatteFactory
16- {
17- private $ engine ;
18-
19- public function __construct (Latte \Engine $ engine )
20- {
21- $ this ->engine = $ engine ;
22- }
23-
24- public function create ()
25- {
26- return $ this ->engine ;
27- }
28- }
29-
30-
31- class MicroContainer extends Nette \DI \Container
32- {
33-
34- protected $ meta = [
35- 'types ' => [
36- Nette \Bridges \ApplicationLatte \ILatteFactory::class => [1 => ['latte.latteFactory ' ]],
37- ],
38- ];
39-
40- public static function create ()
41- {
42- $ container = new self ();
43- $ container ->addService ('latte.latteFactory ' , new LatteFactory (new Latte \Engine ()));
44- return $ container ;
15+ function renderResponse (Nette \Application \Responses \TextResponse $ response ) {
16+ ob_start ();
17+ try {
18+ $ response ->send (new Http \Request (new Http \UrlScript ()), new Http \Response (NULL ));
19+ return ob_get_clean ();
20+ } catch (\Exception $ e ) {
21+ ob_end_clean ();
22+ throw $ e ;
4523 }
4624}
4725
4826
49- class Responder
50- {
51- public static function render (Nette \Application \Responses \TextResponse $ response )
52- {
53- ob_start ();
54- try {
55- $ response ->send (new Http \Request (new Http \UrlScript ()), new Http \Response (NULL ));
56- return ob_get_clean ();
57- } catch (\Exception $ e ) {
58- ob_end_clean ();
59- throw $ e ;
60- }
61- }
27+ function createContainer () {
28+ $ latteFactory = Mockery::mock (Nette \Bridges \ApplicationLatte \ILatteFactory::class);
29+ $ latteFactory ->shouldReceive ('create ' )->andReturn (new Latte \Engine );
30+ $ container = Mockery::mock (Nette \DI \Container::class);
31+ $ container ->shouldReceive ('getByType ' )->with ('Nette\Bridges\ApplicationLatte\ILatteFactory ' )->andReturn ($ latteFactory );
32+ return $ container ;
6233}
6334
6435
6536test (function () {
66- $ presenter = new NetteModule \MicroPresenter (MicroContainer:: create ());
37+ $ presenter = new NetteModule \MicroPresenter (createContainer ());
6738 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
6839 'callback ' => function () {
6940 return 'test ' ;
7041 },
7142 ]));
7243
7344 Assert::type (\Nette \Application \Responses \TextResponse::class, $ response );
74- Assert::same ('test ' , Responder:: render ($ response ));
45+ Assert::same ('test ' , renderResponse ($ response ));
7546});
7647
7748
7849test (function () {
79- $ presenter = new NetteModule \MicroPresenter (MicroContainer:: create ());
50+ $ presenter = new NetteModule \MicroPresenter (createContainer ());
8051 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
8152 'callback ' => function ($ param ) {
8253 return $ param ;
@@ -85,25 +56,25 @@ test(function () {
8556 ]));
8657
8758 Assert::type (Nette \Application \Responses \TextResponse::class, $ response );
88- Assert::same ('test ' , Responder:: render ($ response ));
59+ Assert::same ('test ' , renderResponse ($ response ));
8960});
9061
9162
9263test (function () {
93- $ presenter = new NetteModule \MicroPresenter (MicroContainer:: create ());
64+ $ presenter = new NetteModule \MicroPresenter (createContainer ());
9465 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
9566 'callback ' => function () {
9667 return '{=date(Y)} ' ;
9768 },
9869 ]));
9970
10071 Assert::type (Nette \Application \Responses \TextResponse::class, $ response );
101- Assert::same (date ('Y ' ), Responder:: render ($ response ));
72+ Assert::same (date ('Y ' ), renderResponse ($ response ));
10273});
10374
10475
10576test (function () {
106- $ presenter = new NetteModule \MicroPresenter (MicroContainer:: create ());
77+ $ presenter = new NetteModule \MicroPresenter (createContainer ());
10778 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
10879 'callback ' => function () {
10980 return [new SplFileInfo (Tester \FileMock::create ('{$param} ' )), []];
@@ -112,18 +83,17 @@ test(function () {
11283 ]));
11384
11485 Assert::type (Nette \Application \Responses \TextResponse::class, $ response );
115- Assert::same ('test ' , Responder:: render ($ response ));
86+ Assert::same ('test ' , renderResponse ($ response ));
11687});
11788
11889
11990test (function () {
120- $ latteFactory = new LatteFactory (new Latte \Engine ());
12191 $ presenter = new NetteModule \MicroPresenter ;
12292
12393 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
124- 'callback ' => function ($ presenter ) use ( $ latteFactory ) {
125- $ template = $ presenter ->createTemplate (NULL , function () use ( $ latteFactory ) {
126- return $ latteFactory -> create () ;
94+ 'callback ' => function ($ presenter ) {
95+ $ template = $ presenter ->createTemplate (NULL , function () {
96+ return new Latte \ Engine ;
12797 });
12898 $ template ->getLatte ()->setLoader (new Latte \Loaders \StringLoader );
12999 $ template ->setFile ('test ' );
@@ -133,18 +103,17 @@ test(function () {
133103 ]));
134104
135105 Assert::type (Nette \Application \Responses \TextResponse::class, $ response );
136- Assert::same ('test ' , Responder:: render ($ response ));
106+ Assert::same ('test ' , renderResponse ($ response ));
137107});
138108
139109
140110test (function () {
141- $ latteFactory = new LatteFactory (new Latte \Engine ());
142111 $ presenter = new NetteModule \MicroPresenter ;
143112
144113 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
145- 'callback ' => function ($ presenter ) use ( $ latteFactory ) {
146- $ template = $ presenter ->createTemplate (NULL , function () use ( $ latteFactory ) {
147- return $ latteFactory -> create () ;
114+ 'callback ' => function ($ presenter ) {
115+ $ template = $ presenter ->createTemplate (NULL , function () {
116+ return new Latte \ Engine ;
148117 });
149118 $ template ->getLatte ()->setLoader (new Latte \Loaders \FileLoader ());
150119 $ template ->setFile (new SplFileInfo (Tester \FileMock::create ('{$param} ' )));
@@ -155,20 +124,19 @@ test(function () {
155124 ]));
156125
157126 Assert::type (Nette \Application \Responses \TextResponse::class, $ response );
158- Assert::same ('test ' , Responder:: render ($ response ));
127+ Assert::same ('test ' , renderResponse ($ response ));
159128});
160129
161130
162131test (function () {
163132 $ filename = 'notfound.latte ' ;
164133 Assert::exception (function () use ($ filename ) {
165- $ latteFactory = new LatteFactory (new Latte \Engine ());
166134 $ presenter = new NetteModule \MicroPresenter ;
167135
168136 $ response = $ presenter ->run (new Request ('Nette:Micro ' , 'GET ' , [
169- 'callback ' => function ($ presenter ) use ($ latteFactory , $ filename ) {
170- $ template = $ presenter ->createTemplate (NULL , function () use ( $ latteFactory ) {
171- return $ latteFactory -> create () ;
137+ 'callback ' => function ($ presenter ) use ($ filename ) {
138+ $ template = $ presenter ->createTemplate (NULL , function () {
139+ return new Latte \ Engine ;
172140 });
173141 $ template ->getLatte ()->setLoader (new Latte \Loaders \FileLoader ());
174142 $ template ->setFile ($ filename );
@@ -178,6 +146,6 @@ test(function () {
178146 },
179147 ]));
180148
181- Responder:: render ($ response );
149+ renderResponse ($ response );
182150 }, RuntimeException::class, "Missing template file ' $ filename'. " );
183151});
0 commit comments