Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
13 / 13
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
NavMenuComponent
100.00% covered (success)
100.00%
13 / 13
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
13 / 13
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2/**
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 *
17 * @file
18 */
19namespace MediaWiki\Skin\WikimediaApiPortal\Component;
20
21use MediaWiki\Title\TitleFactory;
22use OOUI\IconWidget;
23
24class NavMenuComponent extends Component {
25    /**
26     * @param TitleFactory $titleFactory
27     * @param ?PrimaryNavComponent $primaryNav
28     * @param ?SecondaryNavComponent $secondaryNav
29     * @param ?PageToolsComponent $pageToolsMobile
30     */
31    public function __construct(
32        TitleFactory $titleFactory,
33        ?PrimaryNavComponent $primaryNav,
34        ?SecondaryNavComponent $secondaryNav,
35        ?PageToolsComponent $pageToolsMobile
36    ) {
37        parent::__construct( 'NavMenu' );
38
39        $menuIcon = new IconWidget( [ 'icon' => 'menu' ] );
40        $previousIcon = new IconWidget( [ 'icon' => 'previous' ] );
41        $mainPage = $titleFactory->newMainPage();
42
43        $this->args = [
44            'menuIcon' => $menuIcon,
45            'previousIcon' => $previousIcon,
46            'mainpage-href' => $mainPage->getLinkURL(),
47            'mainpage-text' => $mainPage->getText(),
48            'PrimaryNav' => $primaryNav,
49            'SecondaryNav' => $secondaryNav,
50            'PageToolsMobile' => $pageToolsMobile
51        ];
52    }
53}