Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
6 / 6 |
|
100.00% |
1 / 1 |
CRAP | |
100.00% |
1 / 1 |
WikimediaSourceUrlNormalizer | |
100.00% |
6 / 6 |
|
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
normalize | |
100.00% |
6 / 6 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | namespace FileImporter\Services; |
4 | |
5 | use FileImporter\Data\SourceUrl; |
6 | |
7 | /** |
8 | * A normalizer for SourceUrls that are known to point to a Wikimedia wiki. In other words: This |
9 | * class should only encode rules that are exclusive to wikis in the Wikimedia cluster. |
10 | * |
11 | * @license GPL-2.0-or-later |
12 | * @author Thiemo Kreuz |
13 | */ |
14 | class WikimediaSourceUrlNormalizer extends MediaWikiSourceUrlNormalizer { |
15 | |
16 | /** |
17 | * @return SourceUrl |
18 | */ |
19 | public function normalize( SourceUrl $sourceUrl ) { |
20 | $parts = parent::normalize( $sourceUrl )->getParsedUrl(); |
21 | $parts['host'] = strtr( $parts['host'], [ |
22 | '.m.' => '.', |
23 | ] ); |
24 | $url = wfAssembleUrl( $parts ); |
25 | |
26 | return new SourceUrl( $url ); |
27 | } |
28 | |
29 | } |