Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | n/a |
0 / 0 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
1 | <?php |
2 | |
3 | declare( strict_types=1 ); |
4 | |
5 | use ContentTranslation\AbuseFilterChecker; |
6 | use ContentTranslation\LoadBalancer; |
7 | use ContentTranslation\Manager\TranslationCorporaManager; |
8 | use ContentTranslation\ParsoidClientFactory; |
9 | use ContentTranslation\PreferenceHelper; |
10 | use ContentTranslation\Service\EditedSectionFinder; |
11 | use ContentTranslation\Service\SandboxTitleMaker; |
12 | use ContentTranslation\Service\SectionPositionCalculator; |
13 | use ContentTranslation\Service\SectionTitleFetcher; |
14 | use ContentTranslation\Service\TranslationSplitter; |
15 | use ContentTranslation\Service\TranslationTargetUrlCreator; |
16 | use ContentTranslation\Service\TranslatorService; |
17 | use ContentTranslation\Service\UserService; |
18 | use ContentTranslation\Service\WikidataIdFetcher; |
19 | use ContentTranslation\Store\RecentSignificantEditStore; |
20 | use ContentTranslation\Store\SectionTranslationStore; |
21 | use ContentTranslation\Store\TranslationCorporaStore; |
22 | use ContentTranslation\Store\TranslationStore; |
23 | use ContentTranslation\Validator\TranslationUnitValidator; |
24 | use MediaWiki\Config\ServiceOptions; |
25 | use MediaWiki\MediaWikiServices; |
26 | use MediaWiki\WikiMap\WikiMap; |
27 | use Wikimedia\Services\NoSuchServiceException; |
28 | |
29 | // PHP unit does not understand code coverage for this file |
30 | // as the @covers annotation cannot cover a specific file |
31 | // This is fully tested in ServiceWiringTest.php |
32 | // @codeCoverageIgnoreStart |
33 | |
34 | /** @phpcs-require-sorted-array */ |
35 | return [ |
36 | 'ContentTranslation.AbuseFilterChecker' => |
37 | static function ( MediaWikiServices $services ): AbuseFilterChecker { |
38 | try { |
39 | $variableGeneratorFactory = $services->getService( 'AbuseFilterVariableGeneratorFactory' ); |
40 | $consequencesLookup = $services->getService( 'AbuseFilterConsequencesLookup' ); |
41 | $filterLookup = $services->getService( 'AbuseFilterFilterLookup' ); |
42 | $filterRunnerFactory = $services->getService( 'AbuseFilterFilterRunnerFactory' ); |
43 | } catch ( NoSuchServiceException $exception ) { |
44 | $variableGeneratorFactory = null; |
45 | $consequencesLookup = null; |
46 | $filterLookup = null; |
47 | $filterRunnerFactory = null; |
48 | } |
49 | return new AbuseFilterChecker( |
50 | ExtensionRegistry::getInstance()->isLoaded( 'Abuse Filter' ), |
51 | $services->getWikiPageFactory(), |
52 | $variableGeneratorFactory, |
53 | $consequencesLookup, |
54 | $filterLookup, |
55 | $filterRunnerFactory |
56 | ); |
57 | }, |
58 | 'ContentTranslation.EditedSectionFinder' => |
59 | static function (): EditedSectionFinder { |
60 | return new EditedSectionFinder(); |
61 | }, |
62 | 'ContentTranslation.LoadBalancer' => |
63 | static function ( MediaWikiServices $services ): LoadBalancer { |
64 | return new LoadBalancer( |
65 | $services->getDBLoadBalancerFactory(), |
66 | new ServiceOptions( LoadBalancer::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ) |
67 | ); |
68 | }, |
69 | 'ContentTranslation.ParsoidClientFactory' => static function ( |
70 | MediaWikiServices $services |
71 | ): ParsoidClientFactory { |
72 | return new ParsoidClientFactory( |
73 | $services->getPageRestHelperFactory() |
74 | ); |
75 | }, |
76 | 'ContentTranslation.PreferenceHelper' => |
77 | static function ( MediaWikiServices $services ): PreferenceHelper { |
78 | return new PreferenceHelper( |
79 | $services->getPreferencesFactory(), |
80 | $services->getUserOptionsLookup(), |
81 | new ServiceOptions( PreferenceHelper::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ), |
82 | ExtensionRegistry::getInstance()->isLoaded( 'BetaFeatures' ), |
83 | ExtensionRegistry::getInstance()->isLoaded( 'GlobalPreferences' ) |
84 | ); |
85 | }, |
86 | 'ContentTranslation.RecentSignificantEditStore' => |
87 | static function ( MediaWikiServices $services ): RecentSignificantEditStore { |
88 | global $wgConf; |
89 | [ $wikiFamily ] = $wgConf->siteFromDB( WikiMap::getCurrentWikiId() ); |
90 | return new RecentSignificantEditStore( |
91 | $services->getService( 'ContentTranslation.LoadBalancer' ), |
92 | $wikiFamily |
93 | ); |
94 | }, |
95 | 'ContentTranslation.SandboxTitleMaker' => |
96 | static function ( MediaWikiServices $services ): SandboxTitleMaker { |
97 | $isSandboxLinkLoaded = ExtensionRegistry::getInstance()->isLoaded( 'SandboxLink' ); |
98 | return new SandboxTitleMaker( $services->getTitleFactory(), $isSandboxLinkLoaded ); |
99 | }, |
100 | 'ContentTranslation.SectionPositionCalculator' => |
101 | static function ( MediaWikiServices $services ): SectionPositionCalculator { |
102 | return new SectionPositionCalculator( |
103 | $services->getHttpRequestFactory(), |
104 | $services->getService( 'ContentTranslation.SectionTitleFetcher' ) |
105 | ); |
106 | }, |
107 | 'ContentTranslation.SectionTitleFetcher' => |
108 | static function ( MediaWikiServices $services ): SectionTitleFetcher { |
109 | return new SectionTitleFetcher( $services->getHttpRequestFactory() ); |
110 | }, |
111 | 'ContentTranslation.SectionTranslationStore' => |
112 | static function ( MediaWikiServices $services ): SectionTranslationStore { |
113 | return new SectionTranslationStore( |
114 | $services->getService( 'ContentTranslation.LoadBalancer' ) |
115 | ); |
116 | }, |
117 | 'ContentTranslation.TranslationCorporaManager' => |
118 | static function ( MediaWikiServices $services ): TranslationCorporaManager { |
119 | return new TranslationCorporaManager( |
120 | $services->getService( 'ContentTranslation.TranslationCorporaStore' ) |
121 | ); |
122 | }, |
123 | 'ContentTranslation.TranslationCorporaStore' => |
124 | static function ( MediaWikiServices $services ): TranslationCorporaStore { |
125 | return new TranslationCorporaStore( |
126 | $services->getService( 'ContentTranslation.LoadBalancer' ), |
127 | $services->getDBLoadBalancerFactory() |
128 | ); |
129 | }, |
130 | 'ContentTranslation.TranslationSplitter' => |
131 | static function ( MediaWikiServices $services ): TranslationSplitter { |
132 | return new TranslationSplitter( |
133 | $services->getService( 'ContentTranslation.TranslationCorporaManager' ), |
134 | $services->getService( 'ContentTranslation.SectionTitleFetcher' ) |
135 | ); |
136 | }, |
137 | 'ContentTranslation.TranslationStore' => |
138 | static function ( MediaWikiServices $services ): TranslationStore { |
139 | return new TranslationStore( |
140 | $services->getService( 'ContentTranslation.LoadBalancer' ), |
141 | $services->getService( 'ContentTranslation.UserService' ) |
142 | ); |
143 | }, |
144 | 'ContentTranslation.TranslationTargetUrlCreator' => |
145 | static function ( MediaWikiServices $services ): TranslationTargetUrlCreator { |
146 | return new TranslationTargetUrlCreator( |
147 | $services->getTitleFactory(), |
148 | new ServiceOptions( TranslationTargetUrlCreator::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ) |
149 | ); |
150 | }, |
151 | 'ContentTranslation.TranslationUnitValidator' => |
152 | static function ( MediaWikiServices $services ): TranslationUnitValidator { |
153 | return new TranslationUnitValidator( |
154 | $services->getService( 'ContentTranslation.AbuseFilterChecker' ), |
155 | $services->getService( 'ContentTranslation.ParsoidClientFactory' ) |
156 | ); |
157 | }, |
158 | 'ContentTranslation.TranslatorService' => |
159 | static function ( MediaWikiServices $services ): TranslatorService { |
160 | return new TranslatorService( |
161 | $services->getService( 'ContentTranslation.UserService' ), |
162 | $services->getService( 'ContentTranslation.TranslationStore' ) |
163 | ); |
164 | }, |
165 | 'ContentTranslation.UserService' => |
166 | static function ( MediaWikiServices $services ): UserService { |
167 | return new UserService( $services->getCentralIdLookup(), $services->getGenderCache() ); |
168 | }, |
169 | 'ContentTranslation.WikidataIdFetcher' => |
170 | static function ( MediaWikiServices $services ): WikidataIdFetcher { |
171 | return new WikidataIdFetcher( $services->getHttpRequestFactory() ); |
172 | } |
173 | ]; |
174 | |
175 | // @codeCoverageIgnoreEnd |