Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
6 / 6
CRAP
100.00% covered (success)
100.00%
1 / 1
ExistenceLinksTable
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
6 / 6
7
100.00% covered (success)
100.00%
1 / 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
 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
 virtualDomain
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\Deferred\LinksUpdate;
4
5use MediaWiki\Parser\ParserOutput;
6use MediaWiki\Parser\ParserOutputLinkTypes;
7
8/**
9 * References like {{#ifexist:Title}} that cause the parser output to change
10 * when the existence of the page changes, but are not shown in
11 * Special:WhatLinksHere.
12 *
13 * @since 1.45
14 */
15class ExistenceLinksTable extends GenericPageLinksTable {
16    public function setParserOutput( ParserOutput $parserOutput ) {
17        $this->newLinks = [];
18        foreach (
19            $parserOutput->getLinkList( ParserOutputLinkTypes::EXISTENCE )
20            as [ 'link' => $link ]
21        ) {
22            $this->newLinks[$link->getNamespace()][$link->getDBkey()] = true;
23        }
24    }
25
26    /** @inheritDoc */
27    protected function getTableName() {
28        return 'existencelinks';
29    }
30
31    /** @inheritDoc */
32    protected function getFromField() {
33        return 'exl_from';
34    }
35
36    /** @inheritDoc */
37    protected function getFromNamespaceField() {
38        return null;
39    }
40
41    /** @inheritDoc */
42    protected function getTargetIdField() {
43        return 'exl_target_id';
44    }
45
46    /** @inheritDoc */
47    protected function virtualDomain(): string {
48        return self::VIRTUAL_DOMAIN;
49    }
50}