Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
6 / 6 |
|
100.00% |
3 / 3 |
CRAP | |
100.00% |
1 / 1 |
ConfigWrapper | |
100.00% |
6 / 6 |
|
100.00% |
3 / 3 |
4 | |
100.00% |
1 / 1 |
__construct | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 | |||
get | |
100.00% |
4 / 4 |
|
100.00% |
1 / 1 |
2 | |||
has | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | declare( strict_types = 1 ); |
4 | |
5 | namespace MediaWiki\Babel\Config; |
6 | |
7 | use MediaWiki\Config\Config; |
8 | use MediaWiki\Extension\CommunityConfiguration\Access\MediaWikiConfigRouter; |
9 | |
10 | class ConfigWrapper implements Config { |
11 | |
12 | private MediaWikiConfigRouter $configRouter; |
13 | |
14 | public function __construct( |
15 | MediaWikiConfigRouter $configRouter |
16 | ) { |
17 | $this->configRouter = $configRouter; |
18 | } |
19 | |
20 | /** |
21 | * @inheritDoc |
22 | */ |
23 | public function get( $name ) { |
24 | $value = $this->configRouter->get( $name ); |
25 | if ( is_object( $value ) ) { |
26 | // CommunityConfiguration passes objects instead of associative arrays (which Babel |
27 | // expects). This affects eg. BabelCategoryNames. See T369608. |
28 | $value = wfObjectToArray( $value ); |
29 | } |
30 | return $value; |
31 | } |
32 | |
33 | /** |
34 | * @inheritDoc |
35 | */ |
36 | public function has( $name ): bool { |
37 | return $this->configRouter->has( $name ); |
38 | } |
39 | } |