Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
75.00% covered (warning)
75.00%
9 / 12
66.67% covered (warning)
66.67%
6 / 9
CRAP
0.00% covered (danger)
0.00%
0 / 1
PageLinksTable
75.00% covered (warning)
75.00%
9 / 12
66.67% covered (warning)
66.67%
6 / 9
11.56
0.00% covered (danger)
0.00%
0 / 1
 setParserOutput
100.00% covered (success)
100.00%
4 / 4
100.00% covered (success)
100.00%
1 / 1
2
 getTableName
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getFromField
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getNamespaceField
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTitleField
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getFromNamespaceField
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTargetIdField
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 linksTargetNormalizationStage
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getVirtualDomain
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace MediaWiki\Deferred\LinksUpdate;
4
5use MediaWiki\Parser\ParserOutput;
6use MediaWiki\Parser\ParserOutputLinkTypes;
7
8/**
9 * pagelinks
10 */
11class PageLinksTable extends GenericPageLinksTable {
12    public const VIRTUAL_DOMAIN = 'virtual-pagelinks';
13
14    public function setParserOutput( ParserOutput $parserOutput ) {
15        // Convert the format of the local links
16        $this->newLinks = [];
17        foreach (
18            $parserOutput->getLinkList( ParserOutputLinkTypes::LOCAL )
19            as [ 'link' => $link, 'pageid' => $pageid ]
20        ) {
21            $this->newLinks[$link->getNamespace()][$link->getDBkey()] = $pageid;
22        }
23    }
24
25    /** @inheritDoc */
26    protected function getTableName() {
27        return 'pagelinks';
28    }
29
30    /** @inheritDoc */
31    protected function getFromField() {
32        return 'pl_from';
33    }
34
35    /** @inheritDoc */
36    protected function getNamespaceField() {
37        return 'pl_namespace';
38    }
39
40    /** @inheritDoc */
41    protected function getTitleField() {
42        return 'pl_title';
43    }
44
45    /** @inheritDoc */
46    protected function getFromNamespaceField() {
47        return 'pl_from_namespace';
48    }
49
50    /** @inheritDoc */
51    protected function getTargetIdField() {
52        return 'pl_target_id';
53    }
54
55    /** @inheritDoc */
56    protected function linksTargetNormalizationStage(): int {
57        return SCHEMA_COMPAT_NEW;
58    }
59
60    /** @inheritDoc */
61    protected function getVirtualDomain(): string {
62        return self::VIRTUAL_DOMAIN;
63    }
64}