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