Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
68.75% covered (warning)
68.75%
11 / 16
83.33% covered (warning)
83.33%
10 / 12
CRAP
0.00% covered (danger)
0.00%
0 / 1
FallbackContent
73.33% covered (warning)
73.33%
11 / 15
83.33% covered (warning)
83.33%
10 / 12
16.20
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 copy
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTextForSummary
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSize
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 isCountable
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getNativeData
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getData
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 serialize
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getTextForSearchIndex
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getWikitextForTransclusion
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 convert
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 equalsInternal
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2/**
3 * Content object implementation for representing unknown content.
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
19 *
20 * @since 1.36 (As UnknownContent in 1.34)
21 *
22 * @file
23 * @ingroup Content
24 *
25 * @author Daniel Kinzler
26 */
27
28namespace MediaWiki\Content;
29
30use AbstractContent;
31use Content;
32
33/**
34 * Content object implementation representing unknown content.
35 *
36 * This can be used to handle content for which no ContentHandler exists on the system,
37 * perhaps because the extension that provided it has been removed.
38 *
39 * FallbackContent instances are immutable.
40 *
41 * @ingroup Content
42 */
43class FallbackContent extends AbstractContent {
44
45    /** @var string */
46    private $data;
47
48    /**
49     * @param string $data
50     * @param string $model_id The model ID to handle
51     */
52    public function __construct( $data, $model_id ) {
53        parent::__construct( $model_id );
54
55        $this->data = $data;
56    }
57
58    /**
59     * @return Content $this
60     */
61    public function copy() {
62        // FallbackContent is immutable, so no need to copy.
63        return $this;
64    }
65
66    /**
67     * Returns an empty string.
68     *
69     * @param int $maxlength
70     *
71     * @return string
72     */
73    public function getTextForSummary( $maxlength = 250 ) {
74        return '';
75    }
76
77    /**
78     * Returns the data size in bytes.
79     *
80     * @return int
81     */
82    public function getSize() {
83        return strlen( $this->data );
84    }
85
86    /**
87     * Returns false.
88     *
89     * @param bool|null $hasLinks If it is known whether this content contains links,
90     * provide this information here, to avoid redundant parsing to find out.
91     *
92     * @return bool
93     */
94    public function isCountable( $hasLinks = null ) {
95        return false;
96    }
97
98    /**
99     * @return string data of unknown format and meaning
100     */
101    public function getNativeData() {
102        return $this->getData();
103    }
104
105    /**
106     * @return string data of unknown format and meaning
107     */
108    public function getData() {
109        return $this->data;
110    }
111
112    /**
113     * @param string|null $format
114     *
115     * @return string data of unknown format and meaning
116     */
117    public function serialize( $format = null ) {
118        return $this->getData();
119    }
120
121    /**
122     * Returns an empty string.
123     *
124     * @return string The raw text.
125     */
126    public function getTextForSearchIndex() {
127        return '';
128    }
129
130    /**
131     * @return false
132     */
133    public function getWikitextForTransclusion() {
134        return false;
135    }
136
137    /**
138     * @param string $toModel
139     * @param string $lossy
140     * @return false
141     */
142    public function convert( $toModel, $lossy = '' ) {
143        return false;
144    }
145
146    protected function equalsInternal( Content $that ) {
147        if ( !$that instanceof FallbackContent ) {
148            return false;
149        }
150
151        return $this->getData() == $that->getData();
152    }
153
154}
155/** @deprecated class alias since 1.43 */
156class_alias( FallbackContent::class, 'FallbackContent' );