Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
20 / 20
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
CommentParserFactory
100.00% covered (success)
100.00%
20 / 20
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
1
 create
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\CommentFormatter;
4
5use Language;
6use MediaWiki\Cache\LinkBatchFactory;
7use MediaWiki\Cache\LinkCache;
8use MediaWiki\HookContainer\HookContainer;
9use MediaWiki\Linker\LinkRenderer;
10use MediaWiki\Title\NamespaceInfo;
11use MediaWiki\Title\TitleParser;
12use RepoGroup;
13
14/**
15 * @internal
16 */
17class CommentParserFactory {
18    /** @var LinkRenderer */
19    private $linkRenderer;
20    /** @var LinkBatchFactory */
21    private $linkBatchFactory;
22    /** @var LinkCache */
23    private $linkCache;
24    /** @var RepoGroup */
25    private $repoGroup;
26    /** @var Language */
27    private $userLang;
28    /** @var Language */
29    private $contLang;
30    /** @var TitleParser */
31    private $titleParser;
32    /** @var NamespaceInfo */
33    private $namespaceInfo;
34    /** @var HookContainer */
35    private $hookContainer;
36
37    /**
38     * @param LinkRenderer $linkRenderer
39     * @param LinkBatchFactory $linkBatchFactory
40     * @param LinkCache $linkCache
41     * @param RepoGroup $repoGroup
42     * @param Language $userLang
43     * @param Language $contLang
44     * @param TitleParser $titleParser
45     * @param NamespaceInfo $namespaceInfo
46     * @param HookContainer $hookContainer
47     */
48    public function __construct(
49        LinkRenderer $linkRenderer,
50        LinkBatchFactory $linkBatchFactory,
51        LinkCache $linkCache,
52        RepoGroup $repoGroup,
53        Language $userLang,
54        Language $contLang,
55        TitleParser $titleParser,
56        NamespaceInfo $namespaceInfo,
57        HookContainer $hookContainer
58    ) {
59        $this->linkRenderer = $linkRenderer;
60        $this->linkBatchFactory = $linkBatchFactory;
61        $this->linkCache = $linkCache;
62        $this->repoGroup = $repoGroup;
63        $this->userLang = $userLang;
64        $this->contLang = $contLang;
65        $this->titleParser = $titleParser;
66        $this->namespaceInfo = $namespaceInfo;
67        $this->hookContainer = $hookContainer;
68    }
69
70    /**
71     * @return CommentParser
72     */
73    public function create() {
74        return new CommentParser(
75            $this->linkRenderer,
76            $this->linkBatchFactory,
77            $this->linkCache,
78            $this->repoGroup,
79            $this->userLang,
80            $this->contLang,
81            $this->titleParser,
82            $this->namespaceInfo,
83            $this->hookContainer
84        );
85    }
86
87}