Add Regex::clearBeginningSlash() and Regex::clearEndingSlash() methods (that remove slash from the beginning and the end of given string)

This commit is contained in:
Meritoo
2019-08-27 20:26:31 +02:00
parent 0afcf9843e
commit e704dacabd
3 changed files with 294 additions and 0 deletions

View File

@@ -649,6 +649,28 @@ class RegexTest extends BaseTestCase
self::assertSame($expected, Regex::createSlug($value));
}
/**
* @param string $string
* @param string $expected
*
* @dataProvider provideStringToClearBeginningSlash
*/
public function testClearBeginningSlash(string $string, string $expected): void
{
static::assertSame($expected, Regex::clearBeginningSlash($string));
}
/**
* @param string $string
* @param string $expected
*
* @dataProvider provideStringToClearEndingSlash
*/
public function testClearEndingSlash(string $string, string $expected): void
{
static::assertSame($expected, Regex::clearEndingSlash($string));
}
/**
* Provides name of bundle and information if it's valid name
*
@@ -1983,6 +2005,212 @@ class RegexTest extends BaseTestCase
];
}
public function provideStringToClearBeginningSlash(): ?Generator
{
yield[
'',
'',
];
yield[
'/',
'',
];
yield[
'\\',
'\\',
];
yield[
'//',
'/',
];
yield[
'lorem ipsum',
'lorem ipsum',
];
yield[
'1234',
'1234',
];
yield[
'lorem/ipsum',
'lorem/ipsum',
];
yield[
'lorem / ipsum',
'lorem / ipsum',
];
yield[
'lorem\ipsum',
'lorem\ipsum',
];
yield[
'lorem \ ipsum',
'lorem \ ipsum',
];
yield[
'\lorem ipsum',
'\lorem ipsum',
];
yield[
'\ lorem ipsum',
'\ lorem ipsum',
];
yield[
'lorem ipsum/',
'lorem ipsum/',
];
yield[
'lorem ipsum /',
'lorem ipsum /',
];
yield[
'/lorem ipsum',
'lorem ipsum',
];
yield[
'/ lorem ipsum',
' lorem ipsum',
];
yield[
'/123 456',
'123 456',
];
yield[
'/ 123 456',
' 123 456',
];
yield[
'/lorem 123 ipsum 456',
'lorem 123 ipsum 456',
];
yield[
'/ lorem 123 ipsum 456',
' lorem 123 ipsum 456',
];
}
public function provideStringToClearEndingSlash(): ?Generator
{
yield[
'',
'',
];
yield[
'/',
'',
];
yield[
'\\',
'\\',
];
yield[
'//',
'/',
];
yield[
'lorem ipsum',
'lorem ipsum',
];
yield[
'1234',
'1234',
];
yield[
'lorem/ipsum',
'lorem/ipsum',
];
yield[
'lorem / ipsum',
'lorem / ipsum',
];
yield[
'lorem\ipsum',
'lorem\ipsum',
];
yield[
'lorem \ ipsum',
'lorem \ ipsum',
];
yield[
'\lorem ipsum',
'\lorem ipsum',
];
yield[
'\ lorem ipsum',
'\ lorem ipsum',
];
yield[
'/lorem ipsum',
'/lorem ipsum',
];
yield[
'/ lorem ipsum',
'/ lorem ipsum',
];
yield[
'lorem ipsum/',
'lorem ipsum',
];
yield[
'lorem ipsum /',
'lorem ipsum ',
];
yield[
'123 456/',
'123 456',
];
yield[
'123 456 /',
'123 456 ',
];
yield[
'lorem 123 ipsum 456/',
'lorem 123 ipsum 456',
];
yield[
'lorem 123 ipsum 456 /',
'lorem 123 ipsum 456 ',
];
}
/**
* {@inheritdoc}
*/