Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
MediaWiki\RecentChanges\ChangesFeed0%
MediaWiki\RecentChanges\ChangesListFilterFactory0%
MediaWiki\RecentChanges\ChangesListQuery\ChangesListQueryFactory0%
MediaWiki\RecentChanges\ChangesListQuery\ChangesListResult0%
MediaWiki\RecentChanges\ChangesListQuery\TableStatsProvider0%
MediaWiki\RecentChanges\ChangesListStringOptionsFilter0%
MediaWiki\RecentChanges\RCCacheEntry0%
MediaWiki\RecentChanges\RecentChangeMailComposer0%
MediaWiki\RecentChanges\RecentChangeNotification0%
MediaWiki\RecentChanges\RecentChangeNotificationHandler0%
MediaWiki\RecentChanges\RecentChangeNotifyJob0%
MediaWiki\RecentChanges\ChangesList15%
MediaWiki\RecentChanges\ChangesListFilterGroup19%
MediaWiki\RecentChanges\ChangesListBooleanFilterGroup22%
MediaWiki\RecentChanges\ChangesListFilter26%
MediaWiki\RecentChanges\RecentChange32%
MediaWiki\RecentChanges\ChangesListBooleanFilter32%
MediaWiki\RecentChanges\RecentChangeNotifier32%
MediaWiki\RecentChanges\RecentChangesUpdateJob37%
MediaWiki\RecentChanges\PatrolManager45%
MediaWiki\RecentChanges\RecentChangeRCFeedNotifier46%
MediaWiki\RecentChanges\ChangesListFilterGroupContainer50%
MediaWiki\RecentChanges\ChangesListQuery\ChangeTagsCondition61%
MediaWiki\RecentChanges\RecentChangeStore68%
MediaWiki\RecentChanges\ChangesListQuery\TitleConditionValue68%
MediaWiki\RecentChanges\ChangeTrackingEventIngress72%
MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery76%
MediaWiki\RecentChanges\ChangesListQuery\NamedCondition78%
MediaWiki\RecentChanges\ChangesListQuery\BooleanFieldCondition80%
MediaWiki\RecentChanges\ChangesListQuery\ChangesListConditionBase81%
MediaWiki\RecentChanges\ChangesListQuery\SeenCondition81%
MediaWiki\RecentChanges\ChangesListQuery\FieldEqualityCondition82%
MediaWiki\RecentChanges\ChangesListQuery\WatchlistJoin82%
MediaWiki\RecentChanges\ChangesListQuery\EnumFieldCondition83%
MediaWiki\RecentChanges\ChangesListQuery\SubpageOfCondition84%
MediaWiki\RecentChanges\ChangesListQuery\WatchedCondition84%
MediaWiki\RecentChanges\EnhancedChangesList84%
MediaWiki\RecentChanges\ChangesListStringOptionsFilterGroup86%
MediaWiki\RecentChanges\ChangesListQuery\TitleCondition86%
MediaWiki\RecentChanges\ChangesListQuery\UserCondition87%
MediaWiki\RecentChanges\ChangesListQuery\WatchlistLabelCondition88%
MediaWiki\RecentChanges\ChangesListQuery\ChangesListJoinBuilder89%

Project Risks

Class CRAP
MediaWiki\RecentChanges\ChangesList8333
MediaWiki\RecentChanges\RecentChange1813
MediaWiki\RecentChanges\ChangesListFilterFactory930
MediaWiki\RecentChanges\ChangesListFilter889
MediaWiki\RecentChanges\ChangesListFilterGroup802
MediaWiki\RecentChanges\RecentChangeNotifier746
MediaWiki\RecentChanges\ChangesListQuery\ChangesListQuery613
MediaWiki\RecentChanges\ChangesListFilterGroupContainer383
MediaWiki\RecentChanges\ChangesFeed342
MediaWiki\RecentChanges\RecentChangeMailComposer342
MediaWiki\RecentChanges\RecentChangeStore216
MediaWiki\RecentChanges\RecentChangesUpdateJob190
MediaWiki\RecentChanges\EnhancedChangesList147
MediaWiki\RecentChanges\ChangesListBooleanFilter142
MediaWiki\RecentChanges\ChangesListBooleanFilterGroup90
MediaWiki\RecentChanges\RecentChangeRCFeedNotifier88
MediaWiki\RecentChanges\PatrolManager78
MediaWiki\RecentChanges\ChangesListQuery\TableStatsProvider72
MediaWiki\RecentChanges\ChangeTrackingEventIngress67
MediaWiki\RecentChanges\ChangesListQuery\ChangeTagsCondition60
MediaWiki\RecentChanges\ChangesListQuery\ChangesListResult42
MediaWiki\RecentChanges\RecentChangeNotificationHandler42
MediaWiki\RecentChanges\RecentChangeNotifyJob42
MediaWiki\RecentChanges\ChangesListQuery\ChangesListJoinBuilder37
MediaWiki\RecentChanges\ChangesListQuery\WatchedCondition32
MediaWiki\RecentChanges\ChangesListStringOptionsFilter30
MediaWiki\RecentChanges\ChangesListQuery\SeenCondition20
MediaWiki\RecentChanges\ChangesListStringOptionsFilterGroup17
MediaWiki\RecentChanges\ChangesListQuery\ChangesListConditionBase17
MediaWiki\RecentChanges\ChangesListQuery\SubpageOfCondition17
MediaWiki\RecentChanges\ChangesListQuery\UserCondition16
MediaWiki\RecentChanges\ChangesListQuery\FieldEqualityCondition11
MediaWiki\RecentChanges\ChangesListQuery\BooleanFieldCondition10
MediaWiki\RecentChanges\ChangesListQuery\WatchlistLabelCondition10
MediaWiki\RecentChanges\ChangesListQuery\NamedCondition9
MediaWiki\RecentChanges\ChangesListQuery\EnumFieldCondition9
MediaWiki\RecentChanges\ChangesListQuery\TitleConditionValue8
MediaWiki\RecentChanges\ChangesListQuery\TitleCondition8
MediaWiki\RecentChanges\ChangesListQuery\WatchlistJoin7

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
checkTemplateLinks0%
getEditFlags0%
updateChangeTagsAfterPageUpdated0%
__construct0%
getFeedObject0%
buildItems0%
newFromContext0%
recentChangesLine0%
getHighlightsContainerDiv0%
setWatchlistDivs0%
isWatchlist0%
recentChangesFlags0%
getHTMLClasses0%
getHTMLClassesForFilters0%
flag0%
beginRecentChangesList0%
initChangesListRows0%
showCharacterDifference0%
formatCharacterDifference0%
endRecentChangesList0%
revDateLink0%
insertDateHeader0%
insertLog0%
getArticleLink0%
getWatchlistExpiry0%
getTimestamp0%
insertTimestamp0%
insertUserRelatedLinks0%
insertComment0%
numberofWatchingusers0%
isDeleted0%
maybeWatchedLink0%
insertRollback0%
insertPageTools0%
getRollback0%
insertTags0%
getTags0%
getLabels0%
insertLabels0%
insertExtra0%
showAsUnpatrolled0%
isUnpatrolled0%
isCategorizationWithoutRevision0%
getDataAttributes0%
setChangeLinePrefixer0%
setUserLabels0%
getDefault0%
getShowHide0%
displaysOnUnstructuredUi0%
modifyQuery0%
isSelected0%
isActive0%
setDefault0%
modifyQuery0%
addOptions0%
conflictsWith0%
setUnidirectionalConflict0%
getLabel0%
getDescription0%
displaysOnStructuredUi0%
isFeatureAvailableOnStructuredUi0%
getPriority0%
getCssClass0%
applyCssClassIfNeeded0%
getJsData0%
getAction0%
getHighlightAction0%
getConflictingGroups0%
activelyInConflictWithGroup0%
hasConflictWithGroup0%
hasConflictWithFilter0%
getSiblings0%
setDefaultHighlightColor0%
__construct0%
registerFiltersFromDefinitions0%
isConfigSatisfied0%
transformGroupDefinition0%
transformFilterDefinition0%
createGroup0%
registerSupersets0%
registerConflicts0%
handlePendingConflicts0%
conflictsWith0%
setUnidirectionalConflict0%
getName0%
getTitle0%
getType0%
getPriority0%
getJsData0%
getConflictingGroups0%
anySelected0%
modifyQuery0%
modifyChangesListQuery0%
toArray0%
modifyLegacyQuery0%
modifyChangesListQuery0%
getLegacyShowHideFilters0%
getJsData0%
applyCssClassIfNeeded0%
prepareQuery0%
excludeWatchlistLabelIds0%
excludeOldRevisions0%
allowDeletedLogAction0%
maxExecutionTime0%
enablePartitioning0%
getWatchlistExpiryJoinModule0%
getWatchlistLabelFilter0%
getRedirectFilter0%
addChangeTagSummaryField0%
addWatchlistLabelSummaryField0%
recentChangeFields0%
watchlistFields0%
sha1Fields0%
applySha1Fields0%
addRedirectField0%
commentFields0%
maybeAddWatchlistExpiryField0%
legacyMutator0%
estimateSize0%
distinct0%
__construct0%
newQuery0%
setTempUserConfig0%
__construct0%
getRows0%
getResultWrapper0%
count0%
getHighlightsFromRow0%
exclude0%
__construct0%
getIdDelta0%
getMinId0%
getMaxId0%
loadStats0%
getMinFoundTime0%
evaluate0%
prepareCapture0%
displaysOnUnstructuredUi0%
isSelected0%
isActive0%
addOptions0%
__construct0%
reallyMarkPatrolled0%
newFromParent0%
newFromRow0%
parseToRCType0%
parseFromRCType0%
getChangeTypes0%
newFromConds0%
getQueryInfo0%
setAttribute0%
markPatrolled0%
reallyMarkPatrolled0%
notifyEdit0%
notifyNew0%
getParam0%
isInternal0%
getExtras0%
diffLinkTrail0%
getCharacterDifference0%
getTags0%
addTags0%
getEditResult0%
setEditResult0%
getUserIdentityFromAnyId0%
setHighlights0%
getHighlights0%
isHighlighted0%
__construct0%
composeCommonMailtext0%
compose0%
__construct0%
getRecentChange0%
getPageStatus0%
getSource0%
isUserTalkNotification0%
isWatchlistNotification0%
__construct0%
checkNotificationRequirements0%
notify0%
actuallyNotifyOnPageChange0%
__construct0%
run0%
__construct0%
__construct0%
getRecentChangeByConds0%
isEnotifEnabled0%
checkIPAddress0%
addSourceForTest0%
isFromPrimarySource0%
getAllSources0%
convertTypeToSources0%
convertSourceToType0%
updateActiveUsers0%
notifyRCFeeds9%
canSendUserTalkEmail19%
applyMutators22%
getPage25%
isDenseTagFilter27%
validateValue40%
validateValue40%
validateValue40%
setDefault40%
updateNewTalkAfterPageUpdated47%
updateRecentChangesAfterPageUpdated48%
validateValue50%
validateValue50%
validateValue50%
validateValue50%
create50%
doPartitionUnion54%
validateValue54%
prepareCapture57%
prepare58%
areFiltersInConflict60%
getLogText60%
buildDiffLink61%
getExtraConds62%
applyLinksToCondition64%
getAttribute64%
validateValue66%
validateValue66%
compareStrict66%
getFilter66%
getJoin66%
setUser66%
validateValue66%
validateValue66%
validateValue66%
buildCLink66%
requireLink70%
applyOptions70%
insertRecentChange70%
__construct73%
handlePageLatestRevisionChangedEvent75%
userCan75%
emulateUnion75%
prepareConds77%
fixContradictoryOptions77%
getDiffHistLinks77%
recentChangesLine78%
__construct79%
__construct80%
applyAction80%
recentChangesBlock80%
shouldSendNotification80%
createLogRecentChange81%
purgeExpiredRows82%
anyChangedSlotSupportsCategories83%
applyLinksFromCondition83%
prepareConds83%
evaluate83%
getExtraConds83%
getInitialPeriod83%
__construct83%
requireSlotChanged85%
prepareConds85%
getLatestNotificationTimestamp85%
prepareConds85%
makeSet85%
prepareConds85%
markPatrolled85%
run85%
recentChangesBlockGroup86%
getChangeMessageText87%
getExpression87%
__construct87%
formatChangeLine88%
prepareConds88%
adjustDensity88%
getLineData89%

Project Risks

Method CRAP
actuallyNotifyOnPageChange506
buildItems210
notifyRCFeeds161
getUserIdentityFromAnyId156
composeCommonMailtext156
modifyChangesListQuery110
updateActiveUsers110
canSendUserTalkEmail88
showCharacterDifference72
isUnpatrolled56
getLogText45
getArticleLink42
activelyInConflictWithGroup42
registerConflicts42
getJsData42
recentChangesBlockGroup36
isDenseTagFilter32
flag30
insertComment30
insertPageTools30
getDataAttributes30
registerSupersets30
getLegacyShowHideFilters30
applyCssClassIfNeeded30
getCharacterDifference30
compose30
run30
updateNewTalkAfterPageUpdated24
insertRecentChange24
recentChangesFlags20
getHTMLClasses20
formatCharacterDifference20
setDefault20
isConfigSatisfied20
watchlistFields20
parseToRCType20
notify20
checkIPAddress20
convertTypeToSources20
createLogRecentChange17
applyMutators16
getLineData16
markPatrolled15
areFiltersInConflict14
prepareConds13
prepare12
getFeedObject12
newFromContext12
revDateLink12
insertDateHeader12
insertLog12
insertUserRelatedLinks12
getLabels12
getDefault12
isActive12
modifyQuery12
addOptions12
setUnidirectionalConflict12
applyCssClassIfNeeded12
registerFiltersFromDefinitions12
transformGroupDefinition12
transformFilterDefinition12
handlePendingConflicts12
setUnidirectionalConflict12
modifyChangesListQuery12
getJsData12
loadStats12
reallyMarkPatrolled12
diffLinkTrail12
getRecentChangeByConds12
isEnotifEnabled12
formatChangeLine11
purgeExpiredRows9
getAttribute9
handlePageLatestRevisionChangedEvent9
prepareConds8
__construct8
fixContradictoryOptions7
shouldSendNotification7
prepareConds7
getPage6
__construct6
buildDiffLink6
getDiffHistLinks6
getExtraConds6
applyLinksToCondition6
prepareConds6
getEditFlags6
getHighlightsContainerDiv6
getHTMLClassesForFilters6
endRecentChangesList6
getWatchlistExpiry6
getTimestamp6
numberofWatchingusers6
maybeWatchedLink6
insertTags6
isCategorizationWithoutRevision6
modifyQuery6
isSelected6
getCssClass6
getJsData6
createGroup6
modifyLegacyQuery6
prepareQuery6
maybeAddWatchlistExpiryField6
getResultWrapper6
getIdDelta6
evaluate6
isSelected6
isActive6
addOptions6
parseFromRCType6
getQueryInfo6
addTags6
getAllSources6
compareStrict5
applyOptions5
doPartitionUnion5
recentChangesBlock5
prepareConds5
validateValue4
buildCLink4
emulateUnion4
__construct4
applyAction4
validateValue4
validateValue4
create4
applyLinksFromCondition4
prepareConds4
getExtraConds4
getInitialPeriod4
getExpression4
validateValue3
prepareCapture3
validateValue3
requireLink3
recentChangesLine3
anyChangedSlotSupportsCategories3
evaluate3
makeSet3
run3
__construct3
adjustDensity3
validateValue2
validateValue2
setDefault2
updateRecentChangesAfterPageUpdated2
validateValue2
validateValue2
validateValue2
getFilter2
getJoin2
setUser2
validateValue2
validateValue2
validateValue2
userCan2
getChangeMessageText2
requireSlotChanged2
getLatestNotificationTimestamp2