Skip to content

Commit

Permalink
Make even more weblinks tests (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
eiriksm authored Sep 30, 2024
1 parent 5318a0d commit 8b950e8
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 14 deletions.
15 changes: 3 additions & 12 deletions src/Transformer.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,8 @@ public function processWeblinks(string $data, bool $nofollow = true) : string
// </linkName></webLink>.
// And then the output should become
// <a rel="nofollow" href="https://www.example.com">gjeldende forskrift og tilhørende retningslinjer.</a>
if ($nofollow) {
return preg_replace(
'/<webLink><href>(.*?)<\/href>(<linkName>(.*?)<\/linkName>)?<\/webLink>/',
'<a rel="nofollow" href="$1">$3</a>',
$data,
);
}
return preg_replace(
'/<webLink><href>(.*?)<\/href>(<linkName>(.*?)<\/linkName>)?<\/webLink>/',
'<a href="$1">$3</a>',
$data,
);
$regex = '<webLink><href>(.*?)<\/href>(<linkName>([\S\s]*?)<\/linkName>)?<\/webLink>';
$replace = $nofollow ? '<a rel="nofollow" href="$1">$3</a>' : '<a href="$1">$3</a>';
return preg_replace('/' . $regex . '/', $replace, $data);
}
}
12 changes: 10 additions & 2 deletions tests/WebLinksTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class WebLinksTest extends TestCase
*
* @dataProvider weblinksProvider
*/
public function testWeblinks($input, $expected, $nofollow)
public function testWeblinks($input, $expected, $nofollow = true)
{
$transformer = new Transformer();
$result = $transformer->processWeblinks($input, $nofollow);
Expand All @@ -29,14 +29,22 @@ public static function weblinksProvider()
'<webLink><href>https://www.example.com</href><linkName>gjeldende forskrift og tilhørende retningslinjer.</linkName></webLink>',
// @phpcs:ignore
'<a rel="nofollow" href="https://www.example.com">gjeldende forskrift og tilhørende retningslinjer.</a>',
true,
],
[
// @phpcs:ignore
'<webLink><href>https://www.example.com</href><linkName>gjeldende forskrift og tilhørende retningslinjer.</linkName></webLink>',
'<a href="https://www.example.com">gjeldende forskrift og tilhørende retningslinjer.</a>',
false,
],
[
// Now one where we have a line break in the middle of a tag.
// @phpcs:ignore
'<webLink><href>https://www.example.com</href><linkName>gjeldende forskrift og tilhørende
retningslinjer.</linkName></webLink>',
// @phpcs:ignore
'<a rel="nofollow" href="https://www.example.com">gjeldende forskrift og tilhørende
retningslinjer.</a>',
],
];
}
}

0 comments on commit 8b950e8

Please sign in to comment.