File tree Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Expand file tree Collapse file tree 3 files changed +22
-3
lines changed Original file line number Diff line number Diff line change @@ -349,7 +349,7 @@ public function merge(PHP_CodeCoverage $that)
349
349
{
350
350
foreach ($ that ->getData () as $ file => $ lines ) {
351
351
if (!isset ($ this ->data [$ file ])) {
352
- if (!$ that ->filter ()->isFiltered ($ file )) {
352
+ if (!$ that ->filter ()->isFiltered ($ file ) && ! $ this -> filter -> isFiltered ( $ file ) ) {
353
353
$ this ->data [$ file ] = $ lines ;
354
354
}
355
355
Original file line number Diff line number Diff line change @@ -317,6 +317,25 @@ public function testMerge2()
317
317
);
318
318
}
319
319
320
+ /**
321
+ * @covers PHP_CodeCoverage::getData
322
+ * @covers PHP_CodeCoverage::merge
323
+ */
324
+ public function testMergeRespectsTargetFilter ()
325
+ {
326
+ $ filter = new PHP_CodeCoverage_Filter ;
327
+ $ filter ->addFileToWhitelist (TEST_FILES_PATH . 'BankAccount.php ' );
328
+
329
+ $ coverage = $ this ->getCoverageForBankAccount ($ filter );
330
+
331
+ $ coverage ->merge ($ this ->getCoverageForClassWithAnonymousFunction ());
332
+
333
+ $ this ->assertEquals (
334
+ $ this ->getExpectedDataArrayForBankAccount (),
335
+ $ coverage ->getData ()
336
+ );
337
+ }
338
+
320
339
/**
321
340
* @covers PHP_CodeCoverage::getLinesToBeIgnored
322
341
*/
Original file line number Diff line number Diff line change @@ -74,7 +74,7 @@ protected function getXdebugDataForBankAccount()
74
74
);
75
75
}
76
76
77
- protected function getCoverageForBankAccount ()
77
+ protected function getCoverageForBankAccount (PHP_CodeCoverage_Filter $ filter = null )
78
78
{
79
79
$ data = $ this ->getXdebugDataForBankAccount ();
80
80
@@ -88,7 +88,7 @@ protected function getCoverageForBankAccount()
88
88
$ data [3 ]
89
89
));
90
90
91
- $ coverage = new PHP_CodeCoverage ($ stub , new PHP_CodeCoverage_Filter );
91
+ $ coverage = new PHP_CodeCoverage ($ stub , $ filter ?: new PHP_CodeCoverage_Filter );
92
92
93
93
$ coverage ->start (
94
94
new BankAccountTest ('testBalanceIsInitiallyZero ' ),
You can’t perform that action at this time.
0 commit comments