', false
],
];
}
/**
* Test if given tag is a self closing tag
*
* @test
*
* @dataProvider givenTagIsSelfClosingTagDataProvider
*
* @return void
*/
public function givenTagIsSelfClosingTag($tag, $expectedResult): void
{
$mockTemplateParser = $this->getAccessibleMock(PaginateBodytextViewHelper::class, ['dummy']);
$result = $mockTemplateParser->_call('isSelfClosingTag', $tag);
$this->assertEquals($expectedResult, $result);
}
/**
* @return (bool|string)[][]
*
* @psalm-return array{'working example 1': array{0: string, 1: true}, 'working example 2': array{0: string, 1: false}}
*/
public function givenTagIsSelfClosingTagDataProvider(): array
{
return [
'working example 1' => [
'
', false
],
];
}
/**
* Test if given tag is an opening tag
*
* @test
*
* @dataProvider givenTagIsAnOpeningTagDataProvider
*
* @return void
*/
public function givenTagIsAnOpeningTag($tag, $expectedResult): void
{
$mockTemplateParser = $this->getAccessibleMock(PaginateBodytextViewHelper::class, ['dummy']);
$result = $mockTemplateParser->_call('isOpeningTag', $tag);
$this->assertEquals($expectedResult, $result);
}
/**
* @return (bool|string)[][]
*
* @psalm-return array{0: array{0: string, 1: true}, 1: array{0: string, 1: false}, 2: array{0: string, 1: false}, 3: array{0: string, 1: false}}
*/
public function givenTagIsAnOpeningTagDataProvider(): array
{
return [
['
', true],
['
', false],
['
', false],
['
', false]
];
}
/**
* Test if given tag is an opening tag
*
* @test
*
* @dataProvider extractTagReturnsCorrectOneDataProvider
*
* @return void
*/
public function extractTagReturnsCorrectOne($tag, $expectedResult): void
{
$mockTemplateParser = $this->getAccessibleMock(PaginateBodytextViewHelper::class, ['dummy']);
$result = $mockTemplateParser->_call('extractTag', $tag);
$this->assertEquals($expectedResult, $result, sprintf('"%s" (%s) : "%s" (%s)', $tag, strlen($tag), $expectedResult, strlen($expectedResult)));
}
/**
* @return string[][]
*
* @psalm-return array{0: array{0: string, 1: string}, 1: array{0: string, 1: string}, 2: array{0: string, 1: string}, 3: array{0: string, 1: string}}
*/
public function extractTagReturnsCorrectOneDataProvider(): array
{
return [
['this
is a
real
test', 'this
'],
['this
linebreak', 'this
'],
['this
linebreak', 'this
'],
['this is a test', 'this is a test'],
];
}
}