Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
MediaInfoFieldDefinitions
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
2
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
 getFields
100.00% covered (success)
100.00%
7 / 7
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Wikibase\MediaInfo\Search;
4
5use Wikibase\Repo\Search\Fields\FieldDefinitions;
6use Wikibase\Repo\Search\Fields\WikibaseIndexField;
7use Wikibase\Search\Elastic\Fields\StatementCountField;
8
9/**
10 * @license GPL-2.0-or-later
11 * @author Katie Filbert < aude.wiki@gmail.com >
12 */
13class MediaInfoFieldDefinitions implements FieldDefinitions {
14
15    public function __construct(
16        private readonly FieldDefinitions $labelsProviderFieldDefinitions,
17        private readonly FieldDefinitions $descriptionsProviderFieldDefinitions,
18        private readonly FieldDefinitions $statementProviderDefinitions,
19    ) {
20    }
21
22    /**
23     * @see FieldDefinitions::getFields
24     *
25     * @return WikibaseIndexField[]
26     */
27    public function getFields() {
28        $fields = array_merge(
29            $this->labelsProviderFieldDefinitions->getFields(),
30            $this->descriptionsProviderFieldDefinitions->getFields(),
31            $this->statementProviderDefinitions->getFields()
32        );
33
34        $fields['statement_count'] = new StatementCountField();
35
36        return $fields;
37    }
38
39}