Classes

Coverage Distribution

Complexity

Insufficient Coverage

Class Coverage
MediaWiki\Extension\SecurePoll\Api\ApiSecurePollAuth0%
MediaWiki\Extension\SecurePoll\Pages\VoterEligibilityPage0%
MediaWiki\Extension\SecurePoll\Pages\ElectionPager0%
MediaWiki\Extension\SecurePoll\Pages\EntryPage0%
MediaWiki\Extension\SecurePoll\Api\ApiStrikeVote0%
MediaWiki\Extension\SecurePoll\Pages\ListPager0%
MediaWiki\Extension\SecurePoll\Pages\LoginPage0%
MediaWiki\Extension\SecurePoll\Pages\MainElectionsPager0%
MediaWiki\Extension\SecurePoll\Pages\MessageDumpPage0%
MediaWiki\Extension\SecurePoll\Pages\StatusException0%
MediaWiki\Extension\SecurePoll\Pages\StrikePager0%
MediaWiki\Extension\SecurePoll\Pages\TallyPage0%
MediaWiki\Extension\SecurePoll\Pages\TranslatePage0%
MediaWiki\Extension\SecurePoll\Pages\UnarchivePage0%
MediaWiki\Extension\SecurePoll\Rest\SetTranslationHandler0%
MediaWiki\Extension\SecurePoll\Pages\DetailsPage0%
MediaWiki\Extension\SecurePoll\SecurePollContent0%
MediaWiki\Extension\SecurePoll\SecurePollContentHandler0%
MediaWiki\Extension\SecurePoll\SpecialSecurePoll0%
MediaWiki\Extension\SecurePoll\Store\DBStore0%
MediaWiki\Extension\SecurePoll\Store\FormStore0%
MediaWiki\Extension\SecurePoll\Store\MemoryStore0%
MediaWiki\Extension\SecurePoll\Store\XMLStore0%
MediaWiki\Extension\SecurePoll\Talliers\CommentDumper0%
MediaWiki\Extension\SecurePoll\Talliers\ElectionTallier0%
MediaWiki\Extension\SecurePoll\User\Auth0%
MediaWiki\Extension\SecurePoll\User\LocalAuth0%
MediaWiki\Extension\SecurePoll\User\RemoteMWAuth0%
MediaWiki\Extension\SecurePoll\User\Voter0%
MediaWiki\Extension\SecurePoll\Pages\DumpPage0%
MediaWiki\Extension\SecurePoll\Pages\ListPage0%
MediaWiki\Extension\SecurePoll\Pages\CreatePage0%
MediaWiki\Extension\SecurePoll\HookHandler\InstallHandler0%
MediaWiki\Extension\SecurePoll\Ballots\BallotStatus0%
MediaWiki\Extension\SecurePoll\Ballots\RadioRangeCommentBallot0%
MediaWiki\Extension\SecurePoll\Context0%
MediaWiki\Extension\SecurePoll\Crypt\Crypt0%
MediaWiki\Extension\SecurePoll\Crypt\GpgCrypt0%
MediaWiki\Extension\SecurePoll\Pages\ArchivedPager0%
MediaWiki\Extension\SecurePoll\Entities\Election0%
MediaWiki\Extension\SecurePoll\Entities\Entity0%
MediaWiki\Extension\SecurePoll\Entities\Option0%
MediaWiki\Extension\SecurePoll\Entities\Question0%
MediaWiki\Extension\SecurePoll\Crypt\Random0%
MediaWiki\Extension\SecurePoll\HookHandler\LogoutHandler0%
MediaWiki\Extension\SecurePoll\Jobs\TallyElectionJob0%
MediaWiki\Extension\SecurePoll\Pages\ArchivedPage0%
MediaWiki\Extension\SecurePoll\Pages\ArchivePage0%
MediaWiki\Extension\SecurePoll\Pages\ActionPage0%
MediaWiki\Extension\SecurePoll\Jobs\UnarchiveElectionJob0%
MediaWiki\Extension\SecurePoll\VoteRecord0%
MediaWiki\Extension\SecurePoll\Jobs\PopulateVoterListJob0%
MediaWiki\Extension\SecurePoll\HookHandler\SetupHandler0%
MediaWiki\Extension\SecurePoll\Jobs\LogAdminActionJob0%
MediaWiki\Extension\SecurePoll\Jobs\ArchiveElectionJob0%
MediaWiki\Extension\SecurePoll\HtmlForm\HTMLFormRadioRangeColumnLabels0%
MediaWiki\Extension\SecurePoll\SpecialSecurePollLog3%
MediaWiki\Extension\SecurePoll\Ballots\ChooseBallot9%
MediaWiki\Extension\SecurePoll\Talliers\PluralityTallier19%
MediaWiki\Extension\SecurePoll\Ballots\ApprovalBallot19%
MediaWiki\Extension\SecurePoll\Ballots\RadioRangeBallot20%
MediaWiki\Extension\SecurePoll\Pages\VotePage22%
MediaWiki\Extension\SecurePoll\Ballots\PreferentialBallot27%
MediaWiki\Extension\SecurePoll\Ballots\Ballot35%
MediaWiki\Extension\SecurePoll\Talliers\STVTallier35%
MediaWiki\Extension\SecurePoll\Talliers\HistogramRangeTallier46%
MediaWiki\Extension\SecurePoll\SecurePollLogPager49%
MediaWiki\Extension\SecurePoll\Talliers\SchulzeTallier63%
MediaWiki\Extension\SecurePoll\TranslationRepo79%
MediaWiki\Extension\SecurePoll\Talliers\Tallier81%
MediaWiki\Extension\SecurePoll\Talliers\PairwiseTallier83%

Project Risks

Class CRAP
MediaWiki\Extension\SecurePoll\Pages\CreatePage19740
MediaWiki\Extension\SecurePoll\Pages\VoterEligibilityPage15500
MediaWiki\Extension\SecurePoll\Entities\Election5112
MediaWiki\Extension\SecurePoll\Store\XMLStore2862
MediaWiki\Extension\SecurePoll\Crypt\GpgCrypt2756
MediaWiki\Extension\SecurePoll\Context2652
MediaWiki\Extension\SecurePoll\Pages\VotePage2026
MediaWiki\Extension\SecurePoll\Jobs\PopulateVoterListJob1560
MediaWiki\Extension\SecurePoll\Entities\Entity1482
MediaWiki\Extension\SecurePoll\Store\FormStore1332
MediaWiki\Extension\SecurePoll\Talliers\ElectionTallier1260
MediaWiki\Extension\SecurePoll\Pages\TallyPage1260
MediaWiki\Extension\SecurePoll\Talliers\STVTallier1149
MediaWiki\Extension\SecurePoll\Ballots\RadioRangeBallot1139
MediaWiki\Extension\SecurePoll\Pages\ListPager1056
MediaWiki\Extension\SecurePoll\Store\DBStore992
MediaWiki\Extension\SecurePoll\SecurePollContentHandler870
MediaWiki\Extension\SecurePoll\User\Voter650
MediaWiki\Extension\SecurePoll\Store\MemoryStore552
MediaWiki\Extension\SecurePoll\Pages\TranslatePage552
MediaWiki\Extension\SecurePoll\HtmlForm\HTMLFormRadioRangeColumnLabels506
MediaWiki\Extension\SecurePoll\User\Auth420
MediaWiki\Extension\SecurePoll\User\LocalAuth342
MediaWiki\Extension\SecurePoll\VoteRecord306
MediaWiki\Extension\SecurePoll\SpecialSecurePollLog275
MediaWiki\Extension\SecurePoll\User\RemoteMWAuth272
MediaWiki\Extension\SecurePoll\Pages\ElectionPager272
MediaWiki\Extension\SecurePoll\Pages\MainElectionsPager240
MediaWiki\Extension\SecurePoll\Talliers\PluralityTallier231
MediaWiki\Extension\SecurePoll\Ballots\Ballot225
MediaWiki\Extension\SecurePoll\Pages\ArchivedPager210
MediaWiki\Extension\SecurePoll\Ballots\PreferentialBallot203
MediaWiki\Extension\SecurePoll\Pages\ListPage182
MediaWiki\Extension\SecurePoll\Ballots\RadioRangeCommentBallot182
MediaWiki\Extension\SecurePoll\Ballots\BallotStatus182
MediaWiki\Extension\SecurePoll\Ballots\ApprovalBallot166
MediaWiki\Extension\SecurePoll\Ballots\ChooseBallot159
MediaWiki\Extension\SecurePoll\Jobs\TallyElectionJob156
MediaWiki\Extension\SecurePoll\Crypt\Random156
MediaWiki\Extension\SecurePoll\Pages\DumpPage156
MediaWiki\Extension\SecurePoll\Pages\ActionPage132
MediaWiki\Extension\SecurePoll\Talliers\CommentDumper132
MediaWiki\Extension\SecurePoll\Pages\DetailsPage132
MediaWiki\Extension\SecurePoll\Pages\StrikePager110
MediaWiki\Extension\SecurePoll\Api\ApiStrikeVote110
MediaWiki\Extension\SecurePoll\SpecialSecurePoll110
MediaWiki\Extension\SecurePoll\HookHandler\SetupHandler90
MediaWiki\Extension\SecurePoll\Talliers\SchulzeTallier74
MediaWiki\Extension\SecurePoll\Api\ApiSecurePollAuth72
MediaWiki\Extension\SecurePoll\SecurePollLogPager66
MediaWiki\Extension\SecurePoll\Talliers\HistogramRangeTallier61
MediaWiki\Extension\SecurePoll\Rest\SetTranslationHandler56
MediaWiki\Extension\SecurePoll\Pages\UnarchivePage56
MediaWiki\Extension\SecurePoll\Pages\MessageDumpPage56
MediaWiki\Extension\SecurePoll\Pages\ArchivePage56
MediaWiki\Extension\SecurePoll\Entities\Question56
MediaWiki\Extension\SecurePoll\Talliers\PairwiseTallier41
MediaWiki\Extension\SecurePoll\Pages\EntryPage20
MediaWiki\Extension\SecurePoll\Pages\LoginPage20
MediaWiki\Extension\SecurePoll\Talliers\Tallier19
MediaWiki\Extension\SecurePoll\TranslationRepo18
MediaWiki\Extension\SecurePoll\Jobs\UnarchiveElectionJob12
MediaWiki\Extension\SecurePoll\Jobs\ArchiveElectionJob12
MediaWiki\Extension\SecurePoll\HookHandler\InstallHandler12

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
__construct0%
saveList0%
executeClear0%
executeEdit0%
processConfig0%
checkListEditsEndDate0%
checkEditsBetweenCount0%
checkEditsBeforeCount0%
checkCentralBlockThreshold0%
checkMin0%
checkRequired0%
parseDate0%
executeConfig0%
fetchList0%
run0%
saveProperties0%
execute0%
__construct0%
showJumpForm0%
getOptionMessages0%
getQuestionMessage0%
getVoteDataFromRecord0%
logVote0%
doSubmit0%
getBallot0%
showForm0%
__construct0%
getParamSettings0%
execute0%
__construct0%
checkIfElectionExists0%
onSubmit0%
alterForm0%
setFormDefaults0%
getFormFields0%
getDisplayFormat0%
requiresWrite0%
setSubtitle0%
getSubpage0%
execute0%
doesWrites0%
getEmptyBody0%
getBodyValidator0%
getEndBody0%
getStartBody0%
formatRow0%
getDefaultQuery0%
getContentClass0%
getActionOverrides0%
canBeUsedOn0%
makeContentFromElection0%
getDataFromElection0%
__construct0%
__construct0%
getTitle0%
__construct0%
getMessages0%
__construct0%
getLinks0%
getQueryInfo0%
__construct0%
execute0%
getTitle0%
getRowClass0%
getFieldNames0%
getDefaultSort0%
formatValue0%
isFieldSortable0%
getQueryInfo0%
getTitle0%
execute0%
strike0%
execute0%
__construct0%
getTitle0%
execute0%
__construct0%
getTitle0%
getFieldNames0%
getDefaultSort0%
execute0%
formatValue0%
getLogLink0%
__construct0%
execute0%
getCryptDescriptors0%
__construct0%
doSubmit0%
showLanguageSelector0%
getTitle0%
execute0%
__construct0%
getTitle0%
updateContextForCrypt0%
submitJob0%
submitUpload0%
submitForm0%
createForm0%
__construct0%
showTallyResult0%
showTallyStatus0%
isTallyEnqueued0%
showTallyError0%
execute0%
__construct0%
isFieldSortable0%
getTitle0%
getFieldNames0%
getDefaultSort0%
formatValue0%
getQueryInfo0%
__construct0%
getLangList0%
isFieldSortable0%
autoLogin0%
getCentralLists0%
getLists0%
getUserParamsFast0%
getUserParams0%
autoLogin0%
__construct0%
newRequestedSession0%
newAutoSession0%
getVoter0%
getVoterFromSession0%
requestLogin0%
__construct0%
getCreateDescriptors0%
getCreateDescriptors0%
factory0%
getCreateDescriptors0%
getTextResult0%
getHtmlResult0%
loadJSONResult0%
getRanks0%
getLastEliminated0%
getCandidateName0%
getTextResult0%
getHtmlResult0%
getCentralBlockCount0%
requestLogin0%
getJSONResult0%
isRemote0%
getComment0%
getBallotData0%
newFromBallotData0%
newFromOldBlob0%
newFromJson0%
newFromBlob0%
readBlob0%
addCookieDup0%
doCookieCheck0%
encodeProperties0%
decodeProperties0%
getProperty0%
encodeToken0%
getLanguage0%
getElectionId0%
getUrl0%
getDomain0%
getType0%
getName0%
getId0%
createVoter0%
newFromRow0%
newFromId0%
__construct0%
formatForNumParams0%
loadJSONResult0%
getProperties0%
getAdminsList0%
callbackValidVotes0%
setForcePrimary0%
getDB0%
decodeElectionRow0%
getQuestionInfo0%
getElectionInfoByTitle0%
getElectionInfo0%
getProperties0%
getLangList0%
getMessages0%
getAllElectionIds0%
getWikiList0%
__construct0%
getWikiName0%
processFormData0%
setFormData0%
getEntityType0%
callbackValidVotes0%
getQuestionInfo0%
setForcePrimary0%
getDB0%
decodeElectionRow0%
getElectionInfoByTitle0%
getElectionInfo0%
getEntityType0%
readFile0%
getRanks0%
addRecord0%
getTextResult0%
getHtmlResult0%
loadJSONResult0%
addVote0%
getTextResult0%
getHtmlResult0%
loadJSONResult0%
getTextResult0%
getHtmlResult0%
loadJSONResult0%
getJSONResult0%
execute0%
doTopLevel0%
setupTalliers0%
__construct0%
getTextResult0%
getHtmlResult0%
addRecord0%
execute0%
__construct0%
callbackValidVotes0%
readStringElement0%
addParentIds0%
readEntity0%
doElection0%
getRowClass0%
formatRow0%
__construct0%
getRandom0%
getBallotTypesForTally0%
newBallot0%
newTallier0%
newCrypt0%
newOption0%
newQuestion0%
newElection0%
getDB0%
getMessage0%
getMessages0%
setLanguages0%
getVoter0%
newAuth0%
createVoter0%
newVoterFromRow0%
newElectionFromRow0%
getElectionByTitle0%
getElection0%
getEntityType0%
setStore0%
getSpecialTitle0%
getStore0%
getParserOptions0%
newFromXmlFile0%
getBallotTypesForVote0%
newVoter0%
getTallyTypes0%
adHocDebug0%
close0%
sendHeaders0%
updateTallyContext0%
canDecrypt0%
decrypt0%
encrypt0%
runGpg0%
deleteDir0%
cleanup0%
importKey0%
setupHomeAndKeys0%
setupHome0%
newElectionTallier0%
__construct0%
checkSignKey0%
checkEncryptKey0%
cleanupDbForTallyJob0%
updateDbForTallyJob0%
getTallyDescriptors0%
getCreateDescriptors0%
updateDbForTallyJob0%
getCreateDescriptors0%
factory0%
getResourceUrl0%
varDump0%
convertScores0%
readComment0%
shuffle0%
getQuestionForm0%
submitForm0%
initRequest0%
getUserLang0%
msg0%
getMessageLocalizer0%
getRequest0%
getMessageNames0%
getCreateDescriptors0%
getTallyTypes0%
convertScores0%
unpackRecord0%
getTallyTypes0%
factory0%
getExamplesMessages0%
getAllowedParams0%
needsToken0%
isWriteMode0%
mustBePosted0%
execute0%
__construct0%
isInternal0%
mustBePosted0%
getExamplesMessages0%
getAllowedParams0%
convertRecord0%
errorLocationIndicator0%
unpackRecord0%
getTallyTypes0%
submitForm0%
getForm0%
convertScores0%
unpackRecord0%
getQuestionForm0%
addSign0%
getMessageNames0%
getColumnLabels0%
getScoresLeftToRight0%
getColumnDirection0%
getCreateDescriptors0%
convertScores0%
spFatal0%
unpackRecord0%
getQuestionForm0%
getCreateDescriptors0%
getTallyTypes0%
convertScores0%
unpackRecord0%
getQuestionForm0%
getCreateDescriptors0%
getTallyTypes0%
spGetMessageText0%
spGetHTML0%
getIds0%
getInt0%
open0%
__construct0%
__construct0%
getUserLang0%
initLanguage0%
__construct0%
run0%
__construct0%
markAsFailed0%
postRun0%
preRun0%
doRun0%
run0%
allowRetries0%
fetchJobKey0%
setLanguageFallback0%
run0%
__construct0%
pushJobsForElection0%
run0%
__construct0%
run0%
__construct0%
getInputHTML0%
validate0%
loadDataFromRequest0%
onTitleQuickPermissions0%
onSpecialPage_initList0%
setUserOptionsLookup0%
msg0%
__construct0%
getFormDataFromElection0%
dumpVote0%
execute0%
getTitle0%
detailEntry0%
execute0%
checkRequired0%
checkElectionEndDate0%
checkIfInElectionAdminUserGroup0%
unprocessFormData0%
processFormItems0%
savePropertiesAndMessages0%
insertEntity0%
logAdminChanges0%
__construct0%
recordElectionToNamespace0%
processInput0%
processInputDuringElection0%
execute0%
__construct0%
getLinks0%
getQueryInfo0%
__construct0%
getTitle0%
execute0%
__construct0%
execute0%
getMessageNames0%
onCanonicalNamespaces0%
getBlob0%
getAuth0%
getId0%
getMessageNames0%
getType0%
__construct0%
getTallyFromDb0%
tally0%
getPropertyDumpExclusion0%
getConfXml0%
dumpVotesToCallback0%
getTallyType0%
getCrypt0%
getLanguage0%
getQuestions0%
getDescendants0%
allowChange0%
hasVoted0%
isAdmin0%
getQualifiedStatus0%
getBallot0%
getVotesCount0%
isFinished0%
isStarted0%
getEndDate0%
getStartDate0%
getChildren0%
getElection0%
getElection0%
getChildren0%
loadMessages0%
getChildren0%
getMessageNames0%
__construct0%
getMessageNames0%
__construct0%
getConfXml0%
onLoadExtensionSchemaUpdates0%
onUserLogout0%
getPropertyDumpExclusion0%
getConfXmlEntityStuff0%
getConfXml0%
getAllProperties0%
getProperty0%
getLangList0%
parseMessageInline0%
parseMessage0%
getMessage0%
getRawMessage0%
loadProperties0%
getOptions0%
execute50%
getFilterConds50%
numberOfSeatsReached66%
addVote66%
finishTally71%
getOptionAbbreviations73%
getPathStrengths75%
setTranslation78%
__construct83%
getSummaryOfVotes85%
getMinMax87%

Project Risks

Method CRAP
execute2070
getQualifiedStatus870
processInput702
run600
getDataFromElection506
processConfig506
getHtmlResult380
executeConfig380
formatValue380
getFormDataFromElection342
setFormData306
readEntity272
execute272
saveList240
requestLogin210
unprocessFormData210
pushJobsForElection182
execute182
getLinks156
getLinks156
processFormData156
doElection156
execute156
saveProperties132
executeClear110
processFormItems110
unpackRecord110
execute90
validate90
execute90
loadDataFromRequest72
doTopLevel72
logVote72
executeEdit72
execute72
readStringElement72
varDump72
addRecord72
savePropertiesAndMessages56
setupHomeAndKeys56
fetchList56
unpackRecord56
spGetHTML56
execute56
addRecord56
getHtmlResult42
getOptionMessages42
convertScores42
convertScores42
getMessageNames42
newFromJson42
execute42
execute42
showJumpForm42
getVoterFromSession42
deleteDir42
getConfXmlEntityStuff42
getHtmlResult42
getTextResult42
getTextResult42
createForm30
initLanguage30
execute30
logAdminChanges30
getInputHTML30
execute30
formatValue30
getQuestionInfo30
callbackValidVotes30
doCookieCheck30
getMessages30
decodeElectionRow30
callbackValidVotes30
addVote30
convertScores30
getSummaryOfVotes21
getColumnLabels20
showForm20
execute20
loadJSONResult20
processInputDuringElection20
getQuestionForm20
getRanks20
setFormDefaults20
getColumnDirection20
convertScores20
submitUpload20
submitForm20
newRequestedSession20
spGetMessageText20
getCentralLists20
getCentralBlockCount20
formatValue20
unpackRecord20
execute20
dumpVotesToCallback20
execute20
getInt20
getLangList20
checkEncryptKey20
getWikiList20
onSubmit20
getMessage20
open20
onTitleQuickPermissions20
decrypt20
encrypt20
addParentIds20
checkSignKey20
getFieldNames20
setTranslation17
getFilterConds16
getPathStrengths15
checkIfElectionExists12
callbackValidVotes12
__construct12
run12
checkListEditsEndDate12
parseDate12
getCryptDescriptors12
autoLogin12
checkEditsBetweenCount12
checkEditsBeforeCount12
checkCentralBlockThreshold12
getAllElectionIds12
getJSONResult12
setupTalliers12
execute12
getRowClass12
runGpg12
onLoadExtensionSchemaUpdates12
parseMessage12
loadMessages12
getConfXml12
getQuestions12
isFinished12
isStarted12
importKey12
postRun12
setupHome12
factory12
getBallotTypesForVote12
getElection12
addSign12
unpackRecord12
unpackRecord12
submitForm12
run12
getBlob12
getFieldNames12
checkIfInElectionAdminUserGroup12
strike12
getOptionAbbreviations9
isTallyEnqueued6
newFromXmlFile6
getParserOptions6
getStore6
showTallyError6
getElectionByTitle6
getRandom6
getMessage6
getUserLang6
showTallyStatus6
getHtmlResult6
updateDbForTallyJob6
cleanupDbForTallyJob6
showTallyResult6
adHocDebug6
getRowClass6
cleanup6
getEntityType6
dumpVote6
close6
getCreateDescriptors6
getScoresLeftToRight6
formatRow6
getLists6
getQuestionForm6
newFromBlob6
readBlob6
getRequest6
decodeProperties6
newFromId6
getMessageLocalizer6
factory6
errorLocationIndicator6
getUserParamsFast6
formatForNumParams6
getUserParams6
getQuestionForm6
execute6
newAutoSession6
getVoter6
getQuestionForm6
factory6
getLastEliminated6
shuffle6
run6
getMessages6
__construct6
getAllProperties6
getBodyValidator6
getElection6
getDescendants6
loadProperties6
getRawMessage6
getTitle6
getLangList6
getProperty6
checkMin6
checkRequired6
__construct6
getWikiName6
getConfXml6
showLanguageSelector6
onCanonicalNamespaces6
onSpecialPage_initList6
run6
doSubmit6
getQuestionMessage6
doRun6
recordElectionToNamespace6
doSubmit6
getTallyFromDb6
makeContentFromElection6
getElectionInfoByTitle6
getMessages6
checkRequired6
checkElectionEndDate6
getEntityType6
getBallot6
isAdmin6
getDB6
submitJob6
__construct6
getElectionInfo6
getProperties6
getLangList6
getAuth6
canBeUsedOn6
getCrypt6
updateContextForCrypt6
setSubtitle6
getPropertyDumpExclusion6
getEndBody6
getStartBody6
formatRow6
tally6
addVote3
numberOfSeatsReached3
finishTally3
__construct2
getMinMax2