1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
<?php
declare(strict_types=1);
namespace Doctrine\Tests\Inflector;
use Doctrine\Inflector\Inflector;
use Doctrine\Inflector\InflectorFactory;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
class InflectorFunctionalTest extends TestCase
{
public function testCapitalize(): void
{
self::assertSame(
'Top-O-The-Morning To All_of_you!',
$this->createInflector()->capitalize('top-o-the-morning to all_of_you!')
);
}
public function testCapitalizeWithCustomDelimiters(): void
{
self::assertSame(
'Top-O-The-Morning To All_Of_You!',
$this->createInflector()->capitalize('top-o-the-morning to all_of_you!', '-_ ')
);
}
/** @dataProvider dataStringsTableize */
#[DataProvider('dataStringsTableize')]
public function testTableize(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->tableize($word));
}
/**
* Strings which are used for testTableize.
*
* @return string[][]
*/
public static function dataStringsTableize(): array
{
// In the format array('expected', 'word')
return [
['', ''],
['foo_bar', 'FooBar'],
['f0o_bar', 'F0oBar'],
];
}
/** @dataProvider dataStringsClassify */
#[DataProvider('dataStringsClassify')]
public function testClassify(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->classify($word));
}
/**
* Strings which are used for testClassify.
*
* @return string[][]
*/
public static function dataStringsClassify(): array
{
// In the format array('expected', 'word')
return [
['', ''],
['FooBar', 'foo_bar'],
['FooBar', 'foo bar'],
['F0oBar', 'f0o bar'],
['F0oBar', 'f0o bar'],
['FooBar', 'foo_bar_'],
];
}
/** @dataProvider dataStringsCamelize */
#[DataProvider('dataStringsCamelize')]
public function testCamelize(string $expected, string $word): void
{
self::assertSame($expected, $this->createInflector()->camelize($word));
}
/**
* Strings which are used for testCamelize.
*
* @return string[][]
*/
public static function dataStringsCamelize(): array
{
// In the format array('expected', 'word')
return [
['', ''],
['fooBar', 'foo_bar'],
['fooBar', 'foo bar'],
['f0oBar', 'f0o bar'],
['f0oBar', 'f0o bar'],
];
}
private function createInflector(): Inflector
{
return InflectorFactory::create()->build();
}
}
|