@@ -124,6 +124,26 @@ class PHP_CodeCoverage
124124 */
125125 protected $ tests = array ();
126126
127+ /**
128+ * @var boolean
129+ */
130+ protected $ isCodeCoverageTestSuite = FALSE ;
131+
132+ /**
133+ * @var boolean
134+ */
135+ protected $ isFileIteratorTestSuite = FALSE ;
136+
137+ /**
138+ * @var boolean
139+ */
140+ protected $ isTimerTestSuite = FALSE ;
141+
142+ /**
143+ * @var boolean
144+ */
145+ protected $ isTokenStreamTestSuite = FALSE ;
146+
127147 /**
128148 * Default PHP_CodeCoverage object.
129149 *
@@ -150,6 +170,22 @@ public function __construct(PHP_CodeCoverage_Driver $driver = NULL, PHP_CodeCove
150170
151171 $ this ->driver = $ driver ;
152172 $ this ->filter = $ filter ;
173+
174+ if (defined ('PHP_CODECOVERAGE_TESTSUITE ' )) {
175+ $ this ->isCodeCoverageTestSuite = TRUE ;
176+ }
177+
178+ if (defined ('FILE_ITERATOR_TESTSUITE ' )) {
179+ $ this ->isFileIteratorTestSuite = TRUE ;
180+ }
181+
182+ if (defined ('PHP_TIMER_TESTSUITE ' )) {
183+ $ this ->isTimerTestSuite = TRUE ;
184+ }
185+
186+ if (defined ('PHP_TOKENSTREAM_TESTSUITE ' )) {
187+ $ this ->isTokenStreamTestSuite = TRUE ;
188+ }
153189 }
154190
155191 /**
@@ -446,26 +482,26 @@ protected function applySelfFilter(&$data)
446482 continue ;
447483 }
448484
449- if (!defined ( ' PHP_CODECOVERAGE_TESTSUITE ' ) &&
485+ if (!$ this -> isCodeCoverageTestSuite &&
450486 strpos ($ filename , dirname (__FILE__ )) === 0 ) {
451487 unset($ data [$ filename ]);
452488 continue ;
453489 }
454490
455- if (!defined ( ' FILE_ITERATOR_TESTSUITE ' ) &&
491+ if (!$ this -> isFileIteratorTestSuite &&
456492 (substr ($ filename , -17 ) == 'File/Iterator.php ' ||
457493 substr ($ filename , -25 ) == 'File/Iterator/Factory.php ' )) {
458494 unset($ data [$ filename ]);
459495 continue ;
460496 }
461497
462- if (!defined ( ' PHP_TIMER_TESTSUITE ' ) &&
498+ if (!$ this -> isTimerTestSuite &&
463499 (substr ($ filename , -13 ) == 'PHP/Timer.php ' )) {
464500 unset($ data [$ filename ]);
465501 continue ;
466502 }
467503
468- if (!defined ( ' PHP_TOKENSTREAM_TESTSUITE ' ) &&
504+ if (!$ this -> isTokenStreamTestSuite &&
469505 (substr ($ filename , -13 ) == 'PHP/Token.php ' ||
470506 substr ($ filename , -20 ) == 'PHP/Token/Stream.php ' ||
471507 substr ($ filename , -35 ) == 'PHP/Token/Stream/CachingFactory.php ' )) {
0 commit comments