22
33namespace Coreplex \Core \Tests ;
44
5+ use Coreplex \Core \Renderer \Illuminate as IlluminateRenderer ;
56use Coreplex \Core \Session \Native ;
7+ use Illuminate \Container \Container ;
8+ use Illuminate \Events \Dispatcher ;
9+ use Illuminate \Filesystem \Filesystem ;
610use Illuminate \Session \Store ;
11+ use Illuminate \View \Engines \EngineResolver ;
12+ use Illuminate \View \Engines \PhpEngine ;
13+ use Illuminate \View \Factory ;
14+ use Illuminate \View \FileViewFinder ;
715use PHPUnit_Framework_TestCase ;
816use Symfony \Component \HttpFoundation \Session \Storage \Handler \NullSessionHandler ;
917
1018class BaseTest extends PHPUnit_Framework_TestCase
1119{
20+ /**
21+ * @return \Coreplex\Core\Renderer\Native
22+ */
23+ protected function renderer ()
24+ {
25+ return new \Coreplex \Core \Renderer \Native ();
26+ }
27+
28+ protected function illuminateRenderer ()
29+ {
30+ $ app = new Container ();
31+
32+ $ resolver = new EngineResolver ;
33+ $ resolver ->register ('php ' , function () { return new PhpEngine ; });
34+
35+ $ finder = new FileViewFinder (new Filesystem , [realpath (__DIR__ )]);
36+
37+ $ dispatcher = (new Dispatcher ($ app ))->setQueueResolver (function () use ($ app ) {
38+ return $ app ->make ('Illuminate\Contracts\Queue\Factory ' );
39+ });
40+
41+ $ env = new Factory ($ resolver , $ finder , $ dispatcher );
42+
43+ $ env ->setContainer ($ app );
44+
45+ $ env ->share ('app ' , $ app );
46+
47+ return new IlluminateRenderer ($ env );
48+ }
49+
1250 /**
1351 * Get a session instance.
1452 *
@@ -19,6 +57,11 @@ protected function session()
1957 return new Native ($ this ->config ()['session ' ]);
2058 }
2159
60+ /**
61+ * Get a illuminate session instance.
62+ *
63+ * @return Store
64+ */
2265 protected function illuminateSession ()
2366 {
2467 return new Store ($ this ->app ['config ' ]['session.cookie ' ], new NullSessionHandler ());
0 commit comments