Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
CodeContentHandler
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 3
12
0.00% covered (danger)
0.00%
0 / 1
 getPageLanguage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getPageViewLanguage
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getContentClass
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * Content handler for the pages with code, such as CSS, JavaScript, JSON.
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 * @file
21 * @ingroup Content
22 */
23
24use MediaWiki\MediaWikiServices;
25use MediaWiki\Title\Title;
26
27/**
28 * Content handler for code content such as CSS, JavaScript, JSON, etc.
29 *
30 * @stable to extend
31 * @since 1.24
32 * @ingroup Content
33 */
34abstract class CodeContentHandler extends TextContentHandler {
35
36    /**
37     * Returns the English language, because code is English, and should be handled as such.
38     *
39     * @stable to override
40     *
41     * @param Title $title
42     * @param Content|null $content
43     *
44     * @return Language
45     *
46     * @see ContentHandler::getPageLanguage()
47     */
48    public function getPageLanguage( Title $title, Content $content = null ) {
49        return MediaWikiServices::getInstance()->getLanguageFactory()->getLanguage( 'en' );
50    }
51
52    /**
53     * Returns the English language, because code is English, and should be handled as such.
54     *
55     * @stable to override
56     *
57     * @param Title $title
58     * @param Content|null $content
59     *
60     * @return Language
61     *
62     * @see ContentHandler::getPageViewLanguage()
63     */
64    public function getPageViewLanguage( Title $title, Content $content = null ) {
65        return MediaWikiServices::getInstance()->getLanguageFactory()->getLanguage( 'en' );
66    }
67
68    /** @inheritDoc */
69    protected function getContentClass() {
70        throw new LogicException( 'Subclass must override' );
71    }
72
73}