55use Phug \DevTool \Application ;
66use Phug \DevTool \Command \UnitTestsRunCommand ;
77use Symfony \Component \Console \Input \StringInput ;
8- use Symfony \Component \Console \Output \BufferedOutput ;
8+ use Symfony \Component \Console \Output \NullOutput ;
99
1010/**
1111 * Class UnitTestsRunCommandTest.
@@ -37,7 +37,6 @@ public function testConfigure()
3737 }
3838
3939 /**
40- * @group i
4140 * @covers ::execute
4241 */
4342 public function testExecute ()
@@ -50,30 +49,32 @@ public function testExecute()
5049 }
5150 $ coverageHtml = $ app .DIRECTORY_SEPARATOR .'coverage ' ;
5251 $ coverageClover = $ app .DIRECTORY_SEPARATOR .'coverage.xml ' ;
53- if (file_exists ($ coverageClover )) {
54- unlink ($ coverageClover );
55- }
52+ $ coverageHtmlShellArg = escapeshellarg (addslashes ($ coverageHtml ));
53+ $ coverageCloverShellArg = escapeshellarg (addslashes ($ coverageClover ));
5654 $ input = new StringInput (
5755 'unit-tests:run ' .
5856 ' --coverage-text ' .
59- ' --coverage-html= ' .escapeshellarg ( addslashes ( $ coverageHtml )) .
60- ' --coverage-clover= ' .escapeshellarg ( addslashes ( $ coverageClover ))
57+ ' --coverage-html= ' .$ coverageHtmlShellArg .
58+ ' --coverage-clover= ' .$ coverageCloverShellArg
6159 );
62- $ buffer = new BufferedOutput ();
60+ $ buffer = new NullOutput ();
6361 $ app = new Application ();
6462 $ app ->setAutoExit (false );
63+ ob_start ();
6564 $ code = $ app ->run ($ input , $ buffer );
66- exit ($ buffer ->fetch ());
67- self ::assertTrue (file_exists ($ coverageHtml ));
68- self ::assertTrue (file_exists ($ coverageClover ));
65+ $ contents = ob_get_contents ();
66+ ob_end_clean ();
67+ self ::assertSame (0 , $ code );
68+ $ data = json_decode ($ contents );
69+ self ::assertTrue ($ data ->{'--coverage-text ' });
70+ self ::assertSame ($ coverageHtml , $ data ->{'--coverage-html ' });
71+ self ::assertSame ($ coverageClover , $ data ->{'--coverage-clover ' });
6972 if (file_exists ($ coverageHtml )) {
7073 self ::remove ($ coverageHtml );
7174 }
7275 if (file_exists ($ coverageClover )) {
7376 unlink ($ coverageClover );
7477 }
7578 chdir ($ cwd );
76-
77- self ::assertRegExp ('/test/ ' , $ buffer ->fetch ());
7879 }
7980}
0 commit comments