Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
ChangeTagsHandler
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 onListDefinedTags
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
 onChangeTagsListActive
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace MediaWiki\Extension\AbuseFilter\Hooks\Handlers;
4
5use MediaWiki\ChangeTags\Hook\ChangeTagsListActiveHook;
6use MediaWiki\ChangeTags\Hook\ListDefinedTagsHook;
7use MediaWiki\Extension\AbuseFilter\ChangeTags\ChangeTagsManager;
8
9class ChangeTagsHandler implements
10    ListDefinedTagsHook,
11    ChangeTagsListActiveHook
12{
13
14    public function __construct( private readonly ChangeTagsManager $changeTagsManager ) {
15    }
16
17    /**
18     * @param string[] &$tags
19     */
20    public function onListDefinedTags( &$tags ) {
21        $tags = array_merge(
22            $tags,
23            $this->changeTagsManager->getTagsDefinedByFilters(),
24            [ $this->changeTagsManager->getCondsLimitTag() ]
25        );
26    }
27
28    /**
29     * @param string[] &$tags
30     */
31    public function onChangeTagsListActive( &$tags ) {
32        $tags = array_merge(
33            $tags,
34            $this->changeTagsManager->getTagsDefinedByActiveFilters(),
35            [ $this->changeTagsManager->getCondsLimitTag() ]
36        );
37    }
38}