• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

10up / wp_mock / 13901966852
66%
master: 52%

Build:
Build:
LAST BUILD BRANCH: trunk
DEFAULT BRANCH: master
Ran 17 Mar 2025 02:28PM UTC
Jobs 1
Files 22
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Mar 2025 02:27PM UTC coverage: 66.142% (+0.1%) from 66.01%
13901966852

push

github

web-flow
Fix: Multiple `onFilter` call issues related to the `withAnyArgs` method (#259)

# Summary <!-- Required -->

This PR implements a fix for an issue I discovered when using multiple
`onFilter` calls with the `withAnyArgs` method.

<img width="807" alt="Screenshot 2025-03-12 at 18 47 52"
src="https://github.com/user-attachments/assets/3c1bb38a-830a-4a4a-907c-a61b7f0d8e11"
/>

### Closes: #258 

## Details <!-- Optional -->

While writing some unit test cases using the `withAnyArgs` method, I
came across issues for multiple `onFilter` calls introduced into the
tests. At the moment, if a single `onFilter` call is used alongside
`withAnyArgs`, it works correctly, but for multiple cases, it doesn't
correctly pass the tests. The expected behaviour should be that this
works for both single and multiple use cases using the `withAnyArgs`.

This PR fixes this issue correctly.

<img width="587" alt="Screenshot 2025-03-12 at 19 42 19"
src="https://github.com/user-attachments/assets/46cfd651-62a7-455b-9b58-257d38a78b84"
/>

---

Run tests:

```php
vendor/bin/phpunit ./tests/Unit/WP_MockTest.php 
```

## Contributor checklist <!-- Required -->

- [x] I agree to follow this project's [**Code of
Conduct**](https://github.com/10up/.github/blob/trunk/CODE_OF_CONDUCT.md).
- [x] I have updated the documentation accordingly 
- [x] I have added tests to cover changes introduced by this pull
request
- [x] All new and existing tests pass

## Testing <!-- Required -->

```php
public function testMultipleOnFilterPassesWithAnyArgs(): void
{
    WP_Mock::bootstrap();

    /** @phpstan-ignore-next-line */
    WP_Mock::onFilter('testFilter1')
        ->withAnyArgs()
        ->reply('Filtered value 1');

    /** @phpstan-ignore-next-line */
    WP_Mock::onFilter('testFilter2')
        ->withAnyArgs()
        ->reply('Filtered value 2');

    /** @phpstan-ignore-next-line */
    WP_Mock::onFilter('testFilter3')
        ->withAnyArgs()
        ->reply('Filtered value 3');

    $filter... (continued)

0 of 2 new or added lines in 1 file covered. (0.0%)

504 of 762 relevant lines covered (66.14%)

2.68 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
0.0
0.0% php/WP_Mock/Filter.php
Jobs
ID Job ID Ran Files Coverage
1 13901966852.1 17 Mar 2025 02:28PM UTC 22
66.14
GitHub Action Run
Source Files on build 13901966852
  • Tree
  • List 22
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 8d6c23d5 on github
  • Prev Build on trunk (#13801039158)
  • Next Build on trunk (#19871092457)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc