Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
MediaWiki\Rest\BasicAccess\StaticBasicAuthorizer0%
MediaWiki\Rest\Handler\ActionModuleBasedHandler0%
MediaWiki\Rest\Handler\CompareHandler0%
MediaWiki\Rest\Handler\EditHandler0%
MediaWiki\Rest\Handler\Helper\ParsoidFormatHelper0%
MediaWiki\Rest\Handler\PageHistoryCountHandler0%
MediaWiki\Rest\Handler\PageHistoryHandler0%
MediaWiki\Rest\Handler\SitemapHandlerBase0%
MediaWiki\Rest\Handler\TransformHtmlToWikitextRevisionHandler0%
MediaWiki\Rest\Handler\TransformHtmlToWikitextTitleHandler0%
MediaWiki\Rest\Handler\TransformWikitextToHtmlRevisionHandler0%
MediaWiki\Rest\Handler\TransformWikitextToHtmlTitleHandler0%
MediaWiki\Rest\Handler\TransformWikitextToLintRevisionHandler0%
MediaWiki\Rest\Handler\TransformWikitextToLintTitleHandler0%
MediaWiki\Rest\HeaderParser\HeaderParserBase0%
MediaWiki\Rest\Hook\HookRunner0%
MediaWiki\Rest\HttpException0%
MediaWiki\Rest\JsonEncodingException0%
MediaWiki\Rest\LocalizedHttpException0%
MediaWiki\Rest\Module\Module0%
MediaWiki\Rest\RedirectException0%
MediaWiki\Rest\Reporter\MWErrorReporter0%
MediaWiki\Rest\Reporter\PHPErrorReporter0%
MediaWiki\Rest\Response0%
MediaWiki\Rest\ResponseException0%
MediaWiki\Rest\RouteDefinitionException0%
MediaWiki\Rest\SimpleHandler0%
MediaWiki\Rest\Stream0%
MediaWiki\Rest\Validator\UnsupportedContentTypeBodyValidator0%
MediaWiki\Rest\Handler\TransformWikitextToLintHandler3%
MediaWiki\Rest\Handler\TransformHtmlToWikitextHandler3%
MediaWiki\Rest\Handler\TransformWikitextToHtmlHandler3%
MediaWiki\Rest\Handler\TransformHandler20%
MediaWiki\Rest\Handler\ParsoidHandler39%
MediaWiki\Rest\Module\ModuleManager47%
MediaWiki\Rest\EntryPoint48%
MediaWiki\Rest\RequestBase53%
MediaWiki\Rest\Handler\Helper\PageRestHelperFactory61%
MediaWiki\Rest\ResponseFactory63%
MediaWiki\Rest\Handler\Helper\HtmlInputTransformHelper64%
MediaWiki\Rest\Handler\RevisionSourceHandler65%
MediaWiki\Rest\Handler\Helper\HtmlMessageOutputHelper66%
MediaWiki\Rest\TokenAwareHandlerTrait66%
MediaWiki\Rest\Module\SpecBasedModule68%
MediaWiki\Rest\Handler\Helper\RestStatusTrait69%
MediaWiki\Rest\Validator\ParamValidatorCallbacks69%
MediaWiki\Rest\HeaderContainer70%
MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper71%
MediaWiki\Rest\JsonLocalizer72%
MediaWiki\Rest\Handler\RevisionHTMLHandler83%
MediaWiki\Rest\Handler\MediaFileHandler85%
MediaWiki\Rest\BasicAccess\BasicRequestAuthorizer85%
MediaWiki\Rest\Module\ExtraRoutesModule85%
MediaWiki\Rest\Handler\PageSourceHandler86%
MediaWiki\Rest\Router86%
MediaWiki\Rest\Handler\Helper\PageContentHelper86%
MediaWiki\Rest\Handler\OpenSearchDescriptionHandler86%
MediaWiki\Rest\Handler\PageHTMLHandler88%
MediaWiki\Rest\ConditionalHeaderUtil88%
MediaWiki\Rest\Handler\RevisionLintHandler89%
MediaWiki\Rest\StringStream89%
MediaWiki\Rest\Handler\Helper\RevisionContentHelper89%
MediaWiki\Rest\Handler\MediaLinksHandler89%

Project Risks

Class CRAP
MediaWiki\Rest\Handler\PageHistoryCountHandler6480
MediaWiki\Rest\Handler\PageHistoryHandler4970
MediaWiki\Rest\Handler\ParsoidHandler3513
MediaWiki\Rest\Module\Module2756
MediaWiki\Rest\Handler\CompareHandler600
MediaWiki\Rest\Response552
MediaWiki\Rest\Handler\TransformHandler483
MediaWiki\Rest\Handler\Helper\HtmlInputTransformHelper460
MediaWiki\Rest\Handler\Helper\HtmlOutputRendererHelper387
MediaWiki\Rest\Handler\EditHandler380
MediaWiki\Rest\Handler\Helper\ParsoidFormatHelper210
MediaWiki\Rest\Handler\ActionModuleBasedHandler156
MediaWiki\Rest\HeaderParser\HeaderParserBase132
MediaWiki\Rest\ResponseFactory121
MediaWiki\Rest\Module\ModuleManager98
MediaWiki\Rest\RequestBase92
MediaWiki\Rest\Router80
MediaWiki\Rest\Handler\Helper\PageContentHelper60
MediaWiki\Rest\ConditionalHeaderUtil59
MediaWiki\Rest\EntryPoint45
MediaWiki\Rest\Handler\RevisionSourceHandler38
MediaWiki\Rest\Validator\ParamValidatorCallbacks38
MediaWiki\Rest\Module\SpecBasedModule37
MediaWiki\Rest\HeaderContainer31
MediaWiki\Rest\StringStream30
MediaWiki\Rest\Handler\Helper\RevisionContentHelper27
MediaWiki\Rest\TokenAwareHandlerTrait27
MediaWiki\Rest\Handler\PageHTMLHandler27
MediaWiki\Rest\Handler\MediaFileHandler24
MediaWiki\Rest\Handler\RevisionHTMLHandler24
MediaWiki\Rest\Handler\Helper\PageRestHelperFactory22
MediaWiki\Rest\Handler\PageSourceHandler22
MediaWiki\Rest\Module\ExtraRoutesModule21
MediaWiki\Rest\Handler\MediaLinksHandler20
MediaWiki\Rest\LocalizedHttpException20
MediaWiki\Rest\SimpleHandler20
MediaWiki\Rest\Handler\Helper\HtmlMessageOutputHelper15
MediaWiki\Rest\JsonLocalizer13
MediaWiki\Rest\Handler\OpenSearchDescriptionHandler13
MediaWiki\Rest\Handler\RevisionLintHandler9
MediaWiki\Rest\BasicAccess\BasicRequestAuthorizer6
MediaWiki\Rest\Handler\Helper\RestStatusTrait5

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
authorize0%
setVarnishETagHack0%
createRouter0%
getMainRequest0%
urlEncodeTitle0%
getResponseBodySchema0%
getResponseBodySchemaFileName0%
getHookContainer0%
getHookRunner0%
requireSafeAgainstCsrf0%
getUser0%
setApiMain0%
getApiMain0%
overrideActionModule0%
execute0%
mapActionModuleResponse0%
throwHttpExceptionForActionModuleError0%
__construct0%
execute0%
getRevision0%
getRevisionOrThrow0%
isAccessible0%
getRole0%
getRevisionText0%
getJsonDiff0%
getSectionInfo0%
needsWriteAccess0%
getResponseBodySchemaFileName0%
getParamSettings0%
getResponseBodySchemaFileName0%
getResponseBodySchemaFileName0%
__construct0%
needsWriteAccess0%
validate0%
mapActionModuleResult0%
throwHttpExceptionForActionModuleError0%
mapActionModuleResponse0%
generateResponseSpec0%
getHeaderParamSettings0%
getParamSettings0%
init0%
setMetrics0%
throwHttpExceptionForStatus0%
init0%
getLastModified0%
getParamSettings0%
setVariantConversionLanguage0%
putHeaders0%
setOutputProfileVersion0%
init0%
getParamSettings0%
isParsoidContent0%
newRevisionContentHelper0%
newPageContentHelper0%
newPageRedirectHelper0%
getContentType0%
setContentType0%
parseContentTypeHeader0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
generateResponseSpec0%
needsWriteAccess0%
generateResponseSpec0%
getResponseBodySchemaFileName0%
__construct0%
getRedirectHelper0%
normalizeType0%
validateParameterCombination0%
run0%
getCount0%
getCurrentRevision0%
getPage0%
getLastModified0%
getLastModifiedTimes0%
loggingTableTime0%
getEtag0%
getCachedCount0%
getAnonCount0%
getTempCount0%
getBotCount0%
getEditorsCount0%
getRevertedCount0%
getMinorCount0%
getEditsCount0%
getRevisionOrThrow0%
orderRevisions0%
needsWriteAccess0%
getResponseBodySchemaFileName0%
getParamSettings0%
__construct0%
getRedirectHelper0%
getPage0%
run0%
getDbResults0%
getBitmask0%
processDbResults0%
needsWriteAccess0%
getParamSettings0%
getETag0%
getLastModified0%
hasRepresentation0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
factory0%
getSupportedRequestTypes0%
assertDomainIsCorrect0%
getParsedBody0%
getOpts0%
getRequestAttributes0%
acceptable0%
getTransformEndpoint0%
getPageContentEndpoint0%
getRevisionContentEndpoint0%
parseHTML0%
pb2pb0%
updateRedLinks0%
validatePb0%
needsWriteAccess0%
generateResponseSpec0%
getResponseBodySchemaFileName0%
hasRepresentation0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
getTargetFormat0%
getResponseBodySchemaFileName0%
needsWriteAccess0%
hasRepresentation0%
getResponseBodySchemaFileName0%
__construct0%
getOffset0%
generateResponseSpec0%
execute0%
getParamSettings0%
needsWriteAccess0%
checkPreconditions0%
getOpts0%
getRequestAttributes0%
getTargetFormat0%
getFromFormat0%
generateResponseSpec0%
getHeaderParamSettings0%
getRequestBodySchema0%
getParamSettings0%
getRequestBodySchema0%
getParamSettings0%
getRequestBodySchema0%
getRequestBodySchema0%
getParamSettings0%
getRequestBodySchema0%
getParamSettings0%
getRequestBodySchema0%
getRequestBodySchema0%
getResponseBodySchemaFileName0%
getParamSettings0%
getRequestBodySchema0%
getResponseBodySchemaFileName0%
getParamSettings0%
getRequestBodySchema0%
getResponseBodySchemaFileName0%
getResponseBodySchemaFileName0%
resetHeaders0%
getHeader0%
getHeaderLine0%
setInput0%
consumeString0%
skipWhitespace0%
error0%
consumeFixedDigits0%
assertEnd0%
getLastError0%
__construct0%
onRestCheckCanExecute0%
__construct0%
getErrorData0%
__construct0%
localizeValue0%
__construct0%
getMessageValue0%
getErrorKey0%
getDefinedPaths0%
__construct0%
getPathPrefix0%
getHandlerForPath0%
getRouter0%
throwNoMatch0%
runRestCheckCanExecuteHook0%
execute0%
recordMetrics0%
instantiateHandlerObject0%
executeHandler0%
setCors0%
setStats0%
loadJsonFile0%
getOpenApiInfo0%
getModuleDescription0%
hasApiSpecs0%
populateFromFile0%
getModuleDefinitionInfo0%
getConfigHash0%
getRouteFileTimestamp0%
getDefinedPaths0%
newFromCache0%
getCacheData0%
__construct0%
getTarget0%
reportError0%
__construct0%
reportError0%
initHeaders0%
__clone0%
getHeader0%
hasHeader0%
getParsedBody0%
setParsedBody0%
getBodyType0%
getUploadedFiles0%
getPostParams0%
__construct0%
cast0%
getStatusCode0%
getReasonPhrase0%
setStatus0%
getProtocolVersion0%
getHeaders0%
hasHeader0%
getHeader0%
getHeaderLine0%
getBody0%
setProtocolVersion0%
setHeader0%
addHeader0%
removeHeader0%
setBody0%
getRawHeaderLines0%
setCookie0%
getCookies0%
__construct0%
getResponse0%
setShowExceptionDetails0%
getLangCodes0%
getResponseComponents0%
__construct0%
getModuleForPath0%
getRestbaseCompatErrorData0%
execute0%
__construct0%
copyToStream0%
close0%
detach0%
getMetadata0%
hasParam0%
hasUpload0%
getUploadedFile0%
recordCondition0%
useHighLimits0%
__construct0%
validateBody0%
getParameterTypeSchemas0%
logStatusError0%
getTokenParamDefinition0%
getHtmlOutputContentLanguage21%
getRevisionRecordForMetadata25%
isAccessible28%
getRouteFileTimestamps40%
loadModuleDefinition41%
pageConfigToPageIdentity44%
getContentType45%
hasRepresentation50%
wtLint53%
tryToCreatePageIdentity55%
doExecute58%
setContentSource60%
getContent60%
parseUncacheable63%
getApiSpecs63%
getParserOutputInternal65%
getETag66%
weakCompare66%
getValidatedParams66%
__construct66%
getAcceptedTargetLanguage66%
newHtmlMessageOutputHelper66%
getETag66%
getLastModified66%
getETag66%
getLastModified66%
getOutputMode66%
getHeaders66%
getHeaderLine66%
getToken66%
doSetup68%
execute69%
getFormattedMessage71%
getHtml71%
execute71%
setOriginal72%
getContent72%
normalizeParameters72%
fetchParserOutputFromParsoid73%
getDefaultPageLanguage75%
getPageRecord75%
setCacheControl75%
getETag75%
getETag75%
getLastModified75%
getETag75%
createFromException76%
checkHasContent77%
wt2html78%
initInternal78%
run78%
run78%
authorize80%
getETagParts80%
execute80%
setFlavor80%
putHeaders80%
consumeDayName80%
consumeMonth80%
encodeJson80%
languageConversion80%
newHtmlOutputRendererHelper80%
run80%
buildModuleMap81%
initRouteFiles81%
setRevision83%
getLastModified83%
getVariantRedirectTargetUrl83%
findVariantPage83%
execute83%
getActionModuleParameters84%
recursiveUtfCleanup85%
createNormalizationRedirectResponseIfNeeded85%
constructHtmlUrl85%
constructHtmlUrl85%
run85%
read85%
getActionModuleParameters86%
getLastModified87%
html2wt87%
initRoutes87%
formatMessage87%
getOpenApiSpec88%
isLatest88%
createVariantRedirectResponseIfNeeded88%
getRoutesFromFiles88%
addRoute88%
hasBody88%
getModule89%

Project Risks

Method CRAP
processDbResults756
getRequestAttributes462
getCount342
run272
acceptable272
recordMetrics182
getDbResults156
pb2pb90
validateParameterCombination72
throwHttpExceptionForActionModuleError56
getContentType56
getHandlerForPath56
parseContentTypeHeader42
run42
orderRevisions42
assertDomainIsCorrect42
getParsedBody42
runRestCheckCanExecuteHook42
populateFromFile42
setOriginal34
getParserOutputInternal33
execute30
getRevisionText30
mapActionModuleResult30
getRevertedCount30
wt2html30
generateResponseSpec30
throwNoMatch30
execute30
initInternal25
normalizeParameters21
execute20
getCurrentRevision20
getCachedCount20
getResponseBodySchemaFileName20
executeHandler20
execute20
fetchParserOutputFromParsoid13
execute12
getRevisionOrThrow12
getSectionInfo12
setOutputProfileVersion12
getLastModifiedTimes12
getTempCount12
getBitmask12
execute12
consumeString12
consumeFixedDigits12
localizeValue12
getDefinedPaths12
loadJsonFile12
getDefinedPaths12
cast12
getUploadedFile12
getOpenApiSpec11
buildModuleMap10
loadModuleDefinition10
isAccessible9
getContentType9
getHtml8
parseUncacheable7
createFromException7
getHtmlOutputContentLanguage7
getActionModuleParameters7
getModule7
getContent6
execute6
getApiSpecs6
getActionModuleParameters6
hasRepresentation6
getMainRequest6
getResponseBodySchema6
getApiMain6
getRevision6
getJsonDiff6
mapActionModuleResponse6
setMetrics6
throwHttpExceptionForStatus6
hasRepresentation6
generateResponseSpec6
getPage6
getLastModified6
loggingTableTime6
getAnonCount6
getBotCount6
getMinorCount6
getRevisionOrThrow6
getPage6
getETag6
getLastModified6
getPageContentEndpoint6
getRevisionContentEndpoint6
validatePb6
generateResponseSpec6
getParamSettings6
getRequestAttributes6
resetHeaders6
getHeader6
getHeaderLine6
assertEnd6
__construct6
getModuleDescription6
getConfigHash6
getRouteFileTimestamp6
__clone6
getHeader6
hasHeader6
getBodyType6
__construct6
setStatus6
getLangCodes6
hasUpload6
execute5
checkHasContent5
run5
authorize5
putHeaders5
doExecute5
run5
hasBody5
getRouteFileTimestamps4
getFormattedMessage4
getContent4
getPageRecord4
run4
getETagParts4
languageConversion4
newHtmlOutputRendererHelper4
run4
initRouteFiles4
setRevision4
recursiveUtfCleanup4
read4
isLatest4
addRoute4
wtLint3
tryToCreatePageIdentity3
getRevisionRecordForMetadata3
weakCompare3
getETag3
getLastModified3
getToken3
setCacheControl3
getETag3
getLastModified3
setFlavor3
getLastModified3
getVariantRedirectTargetUrl3
execute3
createNormalizationRedirectResponseIfNeeded3
getLastModified3
html2wt3
initRoutes3
formatMessage3
createVariantRedirectResponseIfNeeded3
getRoutesFromFiles3
pageConfigToPageIdentity2
setContentSource2
getETag2
getValidatedParams2
__construct2
getAcceptedTargetLanguage2
newHtmlMessageOutputHelper2
getETag2
getLastModified2
getOutputMode2
getHeaders2
getHeaderLine2
doSetup2
getDefaultPageLanguage2
getETag2
getETag2
consumeDayName2
consumeMonth2
encodeJson2
findVariantPage2
constructHtmlUrl2
constructHtmlUrl2