File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -54,6 +54,18 @@ The `Phug\Tester\TestCase` is needed to use Pug utils such as
5454` renderFile ` or if you need to get both PHP and Pug coverage in
5555a single command.
5656
57+ As an alternative if you extend an other class, you can use
58+ the trait:
59+
60+ ``` php
61+ <?php
62+
63+ class MyTemplatesTest extends MyFramerowk\TestCase
64+ {
65+ use Phug\Tester\TestCaseTrait;
66+ }
67+ ```
68+
5769Options
5870-------
5971
Original file line number Diff line number Diff line change 22
33namespace Phug \Tester ;
44
5- use Phug \Renderer ;
6-
75abstract class TestCase extends \PHPUnit \Framework \TestCase
86{
9- /**
10- * @var Renderer
11- */
12- protected $ renderer ;
13-
14- /**
15- * @param string $file
16- * @param array $locals
17- * @param array|null $options
18- *
19- * @throws \Phug\RendererException
20- *
21- * @return string
22- */
23- protected function renderFile ($ file , $ locals = [], $ options = null )
24- {
25- if ($ options ) {
26- $ this ->renderer ->setOptions ($ options );
27- $ this ->renderer ->initCompiler ();
28- $ this ->renderer ->initAdapter ();
29- }
30-
31- return $ this ->renderer ->renderFile ($ file , $ locals );
32- }
33-
34- /**
35- * @return array
36- */
37- protected function getPaths ()
38- {
39- return ['views ' ];
40- }
41-
42- /**
43- * @return array
44- */
45- protected function getExtensions ()
46- {
47- return ['' , '.pug ' , '.jade ' ];
48- }
49-
50- /**
51- * @return Renderer|string
52- */
53- protected function getRenderer ()
54- {
55- return Renderer::class;
56- }
57-
58- /**
59- * @throws \Phug\RendererException
60- */
61- protected function setUp ()
62- {
63- $ this ->renderer = Coverage::get ()->createRenderer (
64- $ this ->getRenderer (),
65- $ this ->getExtensions (),
66- $ this ->getPaths ()
67- );
68- }
69-
70- protected function tearDown ()
71- {
72- parent ::tearDown ();
73- Coverage::get ()->storeCoverage (xdebug_get_code_coverage ());
74- }
7+ use TestCaseTrait;
758}
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ namespace Phug \Tester ;
4+
5+ use Phug \Renderer ;
6+
7+ trait TestCaseTrait
8+ {
9+ /**
10+ * @var Renderer
11+ */
12+ protected $ renderer ;
13+
14+ /**
15+ * @param string $file
16+ * @param array $locals
17+ * @param array|null $options
18+ *
19+ * @throws \Phug\RendererException
20+ *
21+ * @return string
22+ */
23+ protected function renderFile ($ file , $ locals = [], $ options = null )
24+ {
25+ if ($ options ) {
26+ $ this ->renderer ->setOptions ($ options );
27+ $ this ->renderer ->initCompiler ();
28+ $ this ->renderer ->initAdapter ();
29+ }
30+
31+ return $ this ->renderer ->renderFile ($ file , $ locals );
32+ }
33+
34+ /**
35+ * @return array
36+ */
37+ protected function getPaths ()
38+ {
39+ return ['views ' ];
40+ }
41+
42+ /**
43+ * @return array
44+ */
45+ protected function getExtensions ()
46+ {
47+ return ['' , '.pug ' , '.jade ' ];
48+ }
49+
50+ /**
51+ * @return Renderer|string
52+ */
53+ protected function getRenderer ()
54+ {
55+ return Renderer::class;
56+ }
57+
58+ /**
59+ * @throws \Phug\RendererException
60+ */
61+ protected function setUp ()
62+ {
63+ $ this ->renderer = Coverage::get ()->createRenderer (
64+ $ this ->getRenderer (),
65+ $ this ->getExtensions (),
66+ $ this ->getPaths ()
67+ );
68+ }
69+
70+ protected function tearDown ()
71+ {
72+ parent ::tearDown ();
73+ Coverage::get ()->storeCoverage (xdebug_get_code_coverage ());
74+ }
75+ }
Original file line number Diff line number Diff line change 55use Phug \Tester \Coverage ;
66
77/**
8- * @coversDefaultClass \Phug\Tester\TestCase
8+ * @coversDefaultClass \Phug\Tester\TestCaseTrait
99 */
1010class TestCaseTest extends AbstractTesterCaseTest
1111{
You can’t perform that action at this time.
0 commit comments