Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camel case to separator number handling #187

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions docs/book/v3/migration/v2-to-v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,36 @@ The impact of the removal of these aliases will not affect you if you use a FQCN

### Changes to Individual Filters

#### `CamelCaseToDash`

The following methods have been removed:

- `setOptions`
- `getOptions`
- `isOptions`
- `setSeparator`
- `getSeparator`

#### `CamelCaseToSeparator`

The following methods have been removed:

- `setOptions`
- `getOptions`
- `isOptions`
- `setSeparator`
- `getSeparator`

#### `CamelCaseToUnderscore`

The following methods have been removed:

- `setOptions`
- `getOptions`
- `isOptions`
- `setSeparator`
- `getSeparator`

#### `DashToSeparator`

The following methods have been removed:
Expand Down
3 changes: 1 addition & 2 deletions docs/book/v3/word.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ The following options are supported for `Laminas\Filter\Word\CamelCaseToSeparato
### Basic Usage

```php
$filter = new Laminas\Filter\Word\CamelCaseToSeparator(':');
// or new Laminas\Filter\Word\CamelCaseToSeparator(array('separator' => ':'));
$filter = new Laminas\Filter\Word\CamelCaseToSeparator(['separator' => ':']);

print $filter->filter('ThisIsMyContent');
```
Expand Down
6 changes: 0 additions & 6 deletions psalm-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -965,12 +965,6 @@
<code><![CDATA[returnUnfilteredDataProvider]]></code>
</PossiblyUnusedMethod>
</file>
<file src="test/Word/CamelCaseToUnderscoreTest.php">
<MixedAssignment>
<code><![CDATA[$filtered]]></code>
<code><![CDATA[$filtered]]></code>
</MixedAssignment>
</file>
<file src="test/Word/DashToSeparatorTest.php">
<PossiblyUnusedMethod>
<code><![CDATA[returnNonStringScalarValues]]></code>
Expand Down
18 changes: 13 additions & 5 deletions src/Word/CamelCaseToDash.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,26 @@

namespace Laminas\Filter\Word;

use Laminas\Filter\FilterInterface;

/**
* @psalm-type Options = array{
* separator?: string,
* ...
* }
* @template TOptions of Options
* @extends CamelCaseToSeparator<TOptions>
* @implements FilterInterface<string|array<array-key, string|mixed>>
*/
final class CamelCaseToDash extends CamelCaseToSeparator
final class CamelCaseToDash implements FilterInterface
{
public function __construct()
public function filter(mixed $value): mixed
{
$filter = new CamelCaseToSeparator(['separator' => '-']);

return $filter->filter($value);
}

public function __invoke(mixed $value): mixed
{
parent::__construct('-');
return $this->filter($value);
}
}
58 changes: 33 additions & 25 deletions src/Word/CamelCaseToSeparator.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,51 @@

namespace Laminas\Filter\Word;

use Closure;
use Laminas\Stdlib\StringUtils;
use Laminas\Filter\FilterInterface;
use Laminas\Filter\ScalarOrArrayFilterCallback;

use function preg_replace;
use function implode;
use function preg_split;

use const PREG_SPLIT_DELIM_CAPTURE;
use const PREG_SPLIT_NO_EMPTY;

/**
* @psalm-type Options = array{
* separator?: string,
* ...
* }
* @template TOptions of Options
* @extends AbstractSeparator<TOptions>
* @implements FilterInterface<string|array<array-key, string|mixed>>
*/
class CamelCaseToSeparator extends AbstractSeparator
final class CamelCaseToSeparator implements FilterInterface
{
public function filter(mixed $value): mixed
private readonly string $separator;

/** @param Options $options */
public function __construct(array $options = [])
{
return self::applyFilterOnlyToStringableValuesAndStringableArrayValues(
$value,
Closure::fromCallable([$this, 'filterNormalizedValue'])
);
$this->separator = $options['separator'] ?? ' ';
}

/**
* @param string|string[] $value
* @return string|string[]
*/
private function filterNormalizedValue(string|array $value): string|array
public function __invoke(mixed $value): mixed
{
if (StringUtils::hasPcreUnicodeSupport()) {
$pattern = ['#(?<=(?:\p{Lu}))(\p{Lu}\p{Ll})#', '#(?<=(?:\p{Ll}|\p{Nd}))(\p{Lu})#'];
$replacement = [$this->separator . '\1', $this->separator . '\1'];
} else {
$pattern = ['#(?<=(?:[A-Z]))([A-Z]+)([A-Z][a-z])#', '#(?<=(?:[a-z0-9]))([A-Z])#'];
$replacement = ['\1' . $this->separator . '\2', $this->separator . '\1'];
}

return preg_replace($pattern, $replacement, $value);
return $this->filter($value);
}

public function filter(mixed $value): mixed
{
return ScalarOrArrayFilterCallback::applyRecursively(
$value,
fn (string $input): string =>
implode(
$this->separator,
preg_split(
'#(\p{Lu}\p{Ll}+)#',
$input,
-1,
PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY
)
)
);
}
}
18 changes: 13 additions & 5 deletions src/Word/CamelCaseToUnderscore.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,26 @@

namespace Laminas\Filter\Word;

use Laminas\Filter\FilterInterface;

/**
* @psalm-type Options = array{
* separator?: string,
* ...
* }
* @template TOptions of Options
* @extends CamelCaseToSeparator<TOptions>
* @implements FilterInterface<string|array<array-key, string|mixed>>
*/
final class CamelCaseToUnderscore extends CamelCaseToSeparator
final class CamelCaseToUnderscore implements FilterInterface
{
public function __construct()
public function filter(mixed $value): mixed
{
$filter = new CamelCaseToSeparator(['separator' => '_']);

return $filter->filter($value);
}

public function __invoke(mixed $value): mixed
{
parent::__construct('_');
return $this->filter($value);
}
}
29 changes: 22 additions & 7 deletions test/Word/CamelCaseToSeparatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,39 @@
self::assertSame('Camel Cased Words', $filtered);
}

public function testFilterSeparatesCamelCasedWordsWithProvidedSeparator(): void
public static function camelCasedWordsProvider(): array

Check failure on line 24 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (Psalm [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1, ...

PossiblyUnusedMethod

test/Word/CamelCaseToSeparatorTest.php:24:28: PossiblyUnusedMethod: Cannot find any calls to method LaminasTest\Filter\Word\CamelCaseToSeparatorTest::camelCasedWordsProvider (see https://psalm.dev/087)
{
$string = 'CamelCasedWords';
$filter = new CamelCaseToSeparatorFilter(':-#');
$filtered = $filter($string);
return [
['CamelCasedWords', 'Camel-Cased-Words'],
['123LeadingNumber', '123-Leading-Number'],
['Number12InTheMiddle', 'Number-12-In-The-Middle'],
['ANumberAtTheEnd42', 'A-Number-At-The-End-42'],
['SomePDFFile', 'Some-PDF-File'],
['Has-ExistingSeparator', 'Has-Existing-Separator'],
['What_Happens_Here', 'What_Happens_Here'],
['leadingLowerCase', 'leading-Lower-Case'],
['¿MïsÜsingUnicödeSŷmbols?', '¿Mïs-Üsing-Unicöde-Sŷmbols?'],
];
}

self::assertNotEquals($string, $filtered);
self::assertSame('Camel:-#Cased:-#Words', $filtered);
#[DataProvider('camelCasedWordsProvider')]
public function testFilterSeparatesCamelCasedWordsWithProvidedSeparator(string $input, string $expected): void
{
$filter = new CamelCaseToSeparatorFilter(['separator' => '-']);
$filtered = $filter($input);

self::assertNotEquals($input, $filtered);
self::assertSame($expected, $filtered);

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 46 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.
}

public function testFilterSeperatesMultipleUppercasedLettersAndUnderscores(): void
{
$string = 'TheseAre_SOME_CamelCASEDWords';
$filter = new CamelCaseToSeparatorFilter('_');
$filter = new CamelCaseToSeparatorFilter(['separator' => '_']);
$filtered = $filter($string);

self::assertNotEquals($string, $filtered);
self::assertSame('These_Are_SOME_Camel_CASED_Words', $filtered);

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.4, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, locked], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.2, latest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.3, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.

Check failure on line 56 in test/Word/CamelCaseToSeparatorTest.php

View workflow job for this annotation

GitHub Actions / ci / QA Checks (PHPUnit [8.1, lowest], ubuntu-latest, laminas/laminas-continuous-integration-action@v1...

Failed asserting that two strings are identical.
}

public function testFilterSupportArray(): void
Expand Down
Loading