Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupAssociationFailure0%
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupSubscriptionApi0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionNotificationJob0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionPresentationModel0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionStore0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MockEventCreator0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MoveTranslatableBundleJob0%
MediaWiki\Extension\Translate\MessageGroupProcessing\PageDeleteLogger0%
MediaWiki\Extension\Translate\MessageGroupProcessing\PageMoveLogger0%
MediaWiki\Extension\Translate\MessageGroupProcessing\RevTagStore0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionActionApi0%
MediaWiki\Extension\Translate\MessageGroupProcessing\SubpageListBuilder0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundle0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleExporter0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleFactory0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImporter0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleLogFormatter0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleState0%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupLanguageMismatchException0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionHookHandler0%
MediaWiki\Extension\Translate\MessageGroupProcessing\DuplicateAggregateGroupException0%
MediaWiki\Extension\Translate\MessageGroupProcessing\DeleteTranslatableBundleJob0%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupStates0%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupManager0%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupNotFoundException0%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsActionApi0%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsSpecialPage0%
MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslationsFromCsv0%
MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslatableBundleMaintenanceScript0%
MediaWiki\Extension\Translate\MessageGroupProcessing\GroupReviewActionApi0%
MediaWiki\Extension\Translate\MessageGroupProcessing\ExportTranslatableBundleMaintenanceScript0%
MediaWiki\Extension\Translate\MessageGroupProcessing\CachedMessageGroupFactoryLoader0%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatablePageStore22%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupReviewStore39%
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupMessageGroupFactory42%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupCache46%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleStatusStore50%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupStatesUpdaterJob58%
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImportTitleFactory61%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription62%
MediaWiki\Extension\Translate\MessageGroupProcessing\CsvTranslationImporter62%
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroups63%
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupsActionApi69%
MediaWiki\Extension\Translate\MessageGroupProcessing\ManageMessageGroupsActionApi75%
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryManageMessageGroupsActionApi83%

Project Risks

Class CRAP
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsActionApi1806
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupsSpecialPage870
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupManager756
MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslatableBundleMaintenanceScript650
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroups590
MediaWiki\Extension\Translate\MessageGroupProcessing\SubpageListBuilder552
MediaWiki\Extension\Translate\MessageGroupProcessing\RevTagStore380
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleLogFormatter342
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImporter342
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleFactory306
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupCache257
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatablePageStore225
MediaWiki\Extension\Translate\MessageGroupProcessing\DeleteTranslatableBundleJob210
MediaWiki\Extension\Translate\MessageGroupProcessing\ImportTranslationsFromCsv210
MediaWiki\Extension\Translate\MessageGroupProcessing\GroupReviewActionApi210
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscription186
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionActionApi182
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionPresentationModel156
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupsActionApi148
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupReviewStore140
MediaWiki\Extension\Translate\MessageGroupProcessing\CsvTranslationImporter121
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleState110
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionStore110
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupStatesUpdaterJob96
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleExporter90
MediaWiki\Extension\Translate\MessageGroupProcessing\ExportTranslatableBundleMaintenanceScript90
MediaWiki\Extension\Translate\MessageGroupProcessing\MessageGroupSubscriptionHookHandler72
MediaWiki\Extension\Translate\MessageGroupProcessing\CachedMessageGroupFactoryLoader56
MediaWiki\Extension\Translate\MessageGroupProcessing\ManageMessageGroupsActionApi55
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleStatusStore34
MediaWiki\Extension\Translate\MessageGroupProcessing\AggregateGroupMessageGroupFactory24
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryMessageGroupSubscriptionApi20
MediaWiki\Extension\Translate\MessageGroupProcessing\QueryManageMessageGroupsActionApi11
MediaWiki\Extension\Translate\MessageGroupProcessing\TranslatableBundleImportTitleFactory4

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
create0%
getGroupIdForDatabase0%
setCache0%
exists0%
labelExists0%
setPriority0%
isDynamic0%
getGroupsById0%
getDynamicGroups0%
getGroupsByType0%
isTranslatableMessage0%
overrideGroupsForTesting0%
newJob0%
getSubscriptionByGroupUnion0%
__construct0%
run0%
__construct0%
logBundleSuccess0%
logPageSuccess0%
logBundleError0%
logPageError0%
publishError0%
getManualLogEntry0%
__construct0%
logSuccess0%
removeSubscriptions0%
getSubscriptions0%
getExamplesMessages0%
onBeforeCreateEchoEvent0%
getGroupSubscribers0%
getGroupSubscriberUnion0%
canUserSubscribeToGroup0%
__construct0%
__construct0%
getAllowedParams0%
isInternal0%
needsToken0%
handleSubscriptionFailure0%
__construct0%
registerHooks0%
onEchoGetBundleRules0%
addSubscription0%
newJob0%
__construct0%
run0%
getIconType0%
getPrimaryLink0%
getHeaderMessage0%
getCompactHeaderMessageKey0%
getCompactHeaderMessage0%
getBodyMessage0%
getNumberOfChangedMessages0%
__construct0%
logError0%
__construct0%
subscribeToGroupsById0%
newFromText0%
__construct0%
getInstance0%
import0%
setPageImportCompleteCallback0%
logImport0%
addReadyTagForTranslatablePage0%
onAfterImportPage0%
getMessageParameters0%
getComment0%
getMessageKey0%
__construct0%
getStateId0%
getPageDeleteLogger0%
getStateText0%
jsonSerialize0%
fromJson0%
getAllWithStatus0%
removeStatus0%
move0%
handleNullRevisionInsert0%
delete0%
unmark0%
performStatusUpdate0%
moveMetadata0%
getStore0%
getPageMoveLogger0%
execute0%
getTranslatableBundleIds0%
isInternal0%
getWorkflowStates0%
getExamplesMessages0%
__construct0%
replaceTag0%
getLatestRevisionWithTag0%
getLatestRevisionsForTags0%
removeTags0%
isRevIdFuzzy0%
getTransver0%
setTransver0%
__construct0%
getBundleFromClass0%
getSubpagesPerType0%
getEmptyResultSet0%
filterOtherTranslationPages0%
getTalkPages0%
getTranslationUnitPagesByTitle0%
__construct0%
export0%
setExportPageCallback0%
exportPages0%
__construct0%
getBundle0%
getValidBundle0%
getUserSubscriptions0%
execute0%
unsubscribeFromGroupsById0%
getReason0%
getLanguageSelector0%
__construct0%
getGroups0%
recache0%
clearCache0%
getCachedValue0%
getCacheData0%
importData0%
newJob0%
__construct0%
run0%
getSummary0%
isTranslation0%
htmlIdForGroup0%
getPerformer0%
getBase0%
getBundleType0%
__construct0%
__construct0%
execute0%
setupServices0%
getBundleToExport0%
getExportFilename0%
exportPageCallback0%
__construct0%
unsubscribeFromGroup0%
getGroupToggleIcon0%
listSubgroups0%
needsToken0%
getDependencies0%
__construct0%
supportsAggregation0%
getTargetTitleByGroupId0%
getTargetTitleByGroup0%
add0%
associate0%
disassociate0%
findMissingGroupIds0%
getSubgroups0%
generateAggregateGroupId0%
getCacheKey0%
getCacheVersion0%
getData0%
showAggregateGroups0%
__construct0%
__construct0%
execute0%
getGroupsWithDifferentLanguage0%
isWriteMode0%
needsToken0%
getAllowedParams0%
getExamplesMessages0%
getIncludableGroups0%
__construct0%
getGroupName0%
execute0%
showAggregateGroup0%
isWriteMode0%
execute0%
getAllowedParams0%
getWorkflowStatesForGroup0%
exists0%
getTimestamp0%
getUpdateTimestamp0%
isValid0%
invalidate0%
getGroupPriority0%
setGroupPriority0%
preloadGroupPriorities0%
getWorkflowState0%
getWorkflowStatesForLanguage0%
getWorkflowStates0%
getExamplesMessages0%
result2map0%
__construct0%
getStates0%
getConditions0%
__construct0%
onChange0%
newJob0%
run0%
subscribeToGroup0%
isUserSubscribedTo0%
isInternal0%
removeFromAggregateGroups0%
getTargetPageName0%
__construct0%
getTranslatablePageSettings0%
execute0%
markPageForTranslation0%
progressReporter0%
filterEmptyTranslations0%
getPriorityLanguages0%
getInterwikiPrefix0%
getImportUser0%
getPathOfFileToImport0%
logPageImportComplete0%
execute0%
__construct0%
close33%
getBundleTypeId40%
getGroup44%
createTitleFromForeignTitle53%
formatGroup60%
execute60%
normalizeId66%
expandWildcards66%
subGroups69%
execute71%
sendNotifications71%
execute72%
initGroupsFromDefinitions75%
getGroupStructure75%
unserialize75%
singleton75%
getGroupIdForDatabase75%
getPriority75%
handleRename76%
handleNew76%
handleSourceRename80%
create85%
getLanguagesFromHeader85%
matchCondition85%
getMessageHandleIfValid85%
recache87%
getGroupLoaders87%
getGroupsWithTransitions88%

Project Risks

Method CRAP
execute992
isValid182
getMessageParameters156
getSubpagesPerType132
associate110
execute90
execute90
getWorkflowStates90
importData90
isTranslatableMessage72
formatGroup56
listSubgroups56
execute56
getLatestRevisionsForTags42
execute42
import42
run42
getTargetPageName42
getTalkPages42
run30
moveMetadata30
getGroupsById30
execute29
getSubscriptions20
getBodyMessage20
canUserSubscribeToGroup20
removeFromAggregateGroups20
labelExists20
filterOtherTranslationPages20
getTranslationUnitPagesByTitle20
export20
addReadyTagForTranslatablePage20
getMessageKey20
handleNullRevisionInsert20
getWorkflowStates20
onBeforeCreateEchoEvent20
showAggregateGroup20
markPageForTranslation20
sendNotifications16
execute16
getGroupsByType12
getPageMoveLogger12
setPriority12
getBundleToExport12
handleSubscriptionFailure12
replaceTag12
getGroupToggleIcon12
showAggregateGroups12
getIncludableGroups12
exportPages12
getBundle12
getPageDeleteLogger12
getImportUser12
getStore12
getGroupsWithDifferentLanguage12
getData12
progressReporter12
getWorkflowStatesForLanguage12
onAfterImportPage12
setGroupPriority12
generateAggregateGroupId12
fromJson12
getAllWithStatus12
add12
getPathOfFileToImport12
getGroupStructure11
handleRename10
getGroup9
expandWildcards8
handleNew7
handleSourceRename7
getLanguagesFromHeader6
logImport6
getGroupSubscriberUnion6
getGroupSubscribers6
getUserSubscriptions6
subscribeToGroupsById6
unsubscribeFromGroupsById6
getValidBundle6
getBundleFromClass6
subscribeToGroup6
getCompactHeaderMessageKey6
result2map6
getLanguageSelector6
preloadGroupPriorities6
getComment6
getSubgroups6
__construct6
newFromText6
removeStatus6
unmark6
getTargetTitleByGroup6
getGroupIdForDatabase6
getPriorityLanguages6
getTranslatableBundleIds6
getTargetTitleByGroupId6
execute6
getPrimaryLink6
getExportFilename6
getTransver6
onEchoGetBundleRules6
execute6
getInterwikiPrefix6
removeTags6
getCachedValue6
supportsAggregation6
getSummary6
subGroups5
execute5
create5
matchCondition5
getGroupLoaders5
getBundleTypeId4
getGroupsWithTransitions4
createTitleFromForeignTitle3
normalizeId3
close3
initGroupsFromDefinitions3
getMessageHandleIfValid3
recache3
getGroupIdForDatabase2
unserialize2
getPriority2
singleton2