Skip to content

Commit

Permalink
Make --filter case insensitive - issue sebastianbergmann#3181
Browse files Browse the repository at this point in the history
  • Loading branch information
Sebastian Feldmann committed Sep 7, 2018
1 parent d8bdb50 commit eea8cb6
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Runner/Filter/NameFilterIterator.php
Expand Up @@ -79,7 +79,7 @@ protected function setFilter($filter)

// Escape delimiters in regular expression. Do NOT use preg_quote,
// to keep magic characters.
$filter = \sprintf('/%s/', \str_replace(
$filter = \sprintf('/%s/i', \str_replace(
'/',
'\\/',
$filter
Expand Down
42 changes: 42 additions & 0 deletions tests/unit/Runner/Filter/NameFilterIteratorTest.php
@@ -0,0 +1,42 @@
<?php
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace unit\Runner\Filter;

use PHPUnit\Framework\TestCase;
use PHPUnit\Runner\Filter\NameFilterIterator;

class NameFilterIteratorTest extends TestCase
{
public function testCaseSensitiveMatch()
{
$iterator = $this->getTestSuiteItteratorMock();
$filter = new NameFilterIterator($iterator, 'Success');
$this->assertTrue((bool) $filter->accept());
}

public function testCaseInsensitiveMatch()
{
$iterator = $this->getTestSuiteItteratorMock();
$filter = new NameFilterIterator($iterator, 'success');
$this->assertTrue((bool) $filter->accept());
}

/**
* @return \PHPUnit\Framework\TestSuiteIterator
*/
private function getTestSuiteItteratorMock()
{
$success = new \Success();
$iterator = $this->createMock(\PHPUnit\Framework\TestSuiteIterator::class);
$iterator->expects($this->once())->method('current')->willReturn($success);

return $iterator;
}
}

0 comments on commit eea8cb6

Please sign in to comment.