<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1786229074">
  <project timestamp="1786229074">
    <file name="/workspace/src/extensions/WikidataPageBanner/includes/Banner.php">
      <class name="MediaWiki\Extension\WikidataPageBanner\Banner" namespace="global">
        <metrics complexity="64" methods="15" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="168" coveredstatements="21" elements="183" coveredelements="22"/>
      </class>
      <line num="32" type="method" name="addToc" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="33" type="stmt" count="0"/>
      <line num="34" type="stmt" count="0"/>
      <line num="44" type="method" name="addIcons" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="45" type="stmt" count="0"/>
      <line num="49" type="stmt" count="0"/>
      <line num="51" type="stmt" count="0"/>
      <line num="53" type="stmt" count="0"/>
      <line num="54" type="stmt" count="0"/>
      <line num="55" type="stmt" count="0"/>
      <line num="58" type="stmt" count="0"/>
      <line num="59" type="stmt" count="0"/>
      <line num="60" type="stmt" count="0"/>
      <line num="61" type="stmt" count="0"/>
      <line num="63" type="stmt" count="0"/>
      <line num="64" type="stmt" count="0"/>
      <line num="66" type="stmt" count="0"/>
      <line num="68" type="stmt" count="0"/>
      <line num="69" type="stmt" count="0"/>
      <line num="70" type="stmt" count="0"/>
      <line num="75" type="stmt" count="0"/>
      <line num="76" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="87" type="method" name="addFocus" visibility="public" complexity="11" crap="132" count="0"/>
      <line num="91" type="stmt" count="0"/>
      <line num="92" type="stmt" count="0"/>
      <line num="93" type="stmt" count="0"/>
      <line num="95" type="stmt" count="0"/>
      <line num="97" type="stmt" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="104" type="stmt" count="0"/>
      <line num="105" type="stmt" count="0"/>
      <line num="106" type="stmt" count="0"/>
      <line num="107" type="stmt" count="0"/>
      <line num="109" type="stmt" count="0"/>
      <line num="110" type="stmt" count="0"/>
      <line num="111" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="116" type="stmt" count="0"/>
      <line num="117" type="stmt" count="0"/>
      <line num="132" type="method" name="extractOptions" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="133" type="stmt" count="0"/>
      <line num="134" type="stmt" count="0"/>
      <line num="135" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="138" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="144" type="stmt" count="0"/>
      <line num="148" type="stmt" count="0"/>
      <line num="159" type="method" name="getBannerHtml" visibility="public" complexity="8" crap="45.04" count="1"/>
      <line num="160" type="stmt" count="1"/>
      <line num="161" type="stmt" count="1"/>
      <line num="162" type="stmt" count="1"/>
      <line num="164" type="stmt" count="1"/>
      <line num="167" type="stmt" count="1"/>
      <line num="169" type="stmt" count="0"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="172" type="stmt" count="0"/>
      <line num="174" type="stmt" count="0"/>
      <line num="175" type="stmt" count="0"/>
      <line num="177" type="stmt" count="0"/>
      <line num="180" type="stmt" count="0"/>
      <line num="182" type="stmt" count="0"/>
      <line num="183" type="stmt" count="0"/>
      <line num="184" type="stmt" count="0"/>
      <line num="186" type="stmt" count="0"/>
      <line num="187" type="stmt" count="0"/>
      <line num="188" type="stmt" count="0"/>
      <line num="189" type="stmt" count="0"/>
      <line num="192" type="stmt" count="0"/>
      <line num="193" type="stmt" count="0"/>
      <line num="195" type="stmt" count="0"/>
      <line num="197" type="stmt" count="0"/>
      <line num="198" type="stmt" count="0"/>
      <line num="199" type="stmt" count="0"/>
      <line num="200" type="stmt" count="0"/>
      <line num="201" type="stmt" count="0"/>
      <line num="202" type="stmt" count="0"/>
      <line num="204" type="stmt" count="0"/>
      <line num="205" type="stmt" count="0"/>
      <line num="206" type="stmt" count="0"/>
      <line num="207" type="stmt" count="0"/>
      <line num="208" type="stmt" count="0"/>
      <line num="209" type="stmt" count="0"/>
      <line num="212" type="stmt" count="1"/>
      <line num="225" type="method" name="getImageUrl" visibility="public" complexity="4" crap="4.91" count="2"/>
      <line num="227" type="stmt" count="2"/>
      <line num="228" type="stmt" count="2"/>
      <line num="229" type="stmt" count="2"/>
      <line num="230" type="stmt" count="2"/>
      <line num="231" type="stmt" count="2"/>
      <line num="232" type="stmt" count="2"/>
      <line num="234" type="stmt" count="2"/>
      <line num="235" type="stmt" count="2"/>
      <line num="236" type="stmt" count="0"/>
      <line num="238" type="stmt" count="0"/>
      <line num="239" type="stmt" count="0"/>
      <line num="240" type="stmt" count="0"/>
      <line num="244" type="stmt" count="0"/>
      <line num="255" type="method" name="getStandardSizeUrls" visibility="public" complexity="4" crap="4.07" count="1"/>
      <line num="256" type="stmt" count="1"/>
      <line num="258" type="stmt" count="1"/>
      <line num="259" type="stmt" count="1"/>
      <line num="261" type="stmt" count="1"/>
      <line num="262" type="stmt" count="0"/>
      <line num="266" type="stmt" count="1"/>
      <line num="275" type="method" name="getAutomaticBanner" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="277" type="stmt" count="0"/>
      <line num="279" type="stmt" count="0"/>
      <line num="280" type="stmt" count="0"/>
      <line num="282" type="stmt" count="0"/>
      <line num="284" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="296" type="method" name="getPageImagesBanner" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="297" type="stmt" count="0"/>
      <line num="300" type="stmt" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="303" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="308" type="stmt" count="0"/>
      <line num="312" type="stmt" count="0"/>
      <line num="322" type="method" name="getWikidataBanner" visibility="public" complexity="7" crap="56" count="0"/>
      <line num="323" type="stmt" count="0"/>
      <line num="324" type="stmt" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="328" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="332" type="stmt" count="0"/>
      <line num="333" type="stmt" count="0"/>
      <line num="335" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="337" type="stmt" count="0"/>
      <line num="338" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="344" type="stmt" count="0"/>
      <line num="345" type="stmt" count="0"/>
      <line num="346" type="stmt" count="0"/>
      <line num="347" type="stmt" count="0"/>
      <line num="348" type="stmt" count="0"/>
      <line num="349" type="stmt" count="0"/>
      <line num="354" type="stmt" count="0"/>
      <line num="361" type="method" name="isSkinDisabled" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="362" type="stmt" count="0"/>
      <line num="363" type="stmt" count="0"/>
      <line num="364" type="stmt" count="0"/>
      <line num="365" type="stmt" count="0"/>
      <line num="375" type="method" name="setOutputPageProperties" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="376" type="stmt" count="0"/>
      <line num="378" type="stmt" count="0"/>
      <line num="379" type="stmt" count="0"/>
      <line num="380" type="stmt" count="0"/>
      <line num="382" type="stmt" count="0"/>
      <line num="384" type="stmt" count="0"/>
      <line num="387" type="stmt" count="0"/>
      <line num="390" type="stmt" count="0"/>
      <line num="391" type="stmt" count="0"/>
      <line num="392" type="stmt" count="0"/>
      <line num="400" type="method" name="getWPBConfig" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="402" type="stmt" count="1"/>
      <line num="411" type="method" name="addCssClasses" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="413" type="stmt" count="0"/>
      <line num="414" type="stmt" count="0"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="430" type="method" name="validateNamespace" visibility="public" complexity="2" crap="6" count="0"/>
      <line num="431" type="stmt" count="0"/>
      <line num="432" type="stmt" count="0"/>
      <line num="433" type="stmt" count="0"/>
      <line num="435" type="stmt" count="0"/>
      <metrics loc="439" ncloc="294" classes="1" methods="15" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="168" coveredstatements="21" elements="183" coveredelements="22"/>
    </file>
    <file name="/workspace/src/extensions/WikidataPageBanner/includes/Hooks.php">
      <class name="MediaWiki\Extension\WikidataPageBanner\Hooks" namespace="global">
        <metrics complexity="59" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="150" coveredstatements="63" elements="165" coveredelements="63"/>
      </class>
      <line num="59" type="method" name="__construct" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="62" type="stmt" count="0"/>
      <line num="70" type="method" name="expandIconTemplateOptions" visibility="protected" complexity="2" crap="6" count="0"/>
      <line num="71" type="stmt" count="0"/>
      <line num="72" type="stmt" count="0"/>
      <line num="73" type="stmt" count="0"/>
      <line num="74" type="stmt" count="0"/>
      <line num="77" type="stmt" count="0"/>
      <line num="86" type="method" name="isSiteNoticeSkin" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="87" type="stmt" count="0"/>
      <line num="88" type="stmt" count="0"/>
      <line num="89" type="stmt" count="0"/>
      <line num="97" type="method" name="isBannerPermitted" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="98" type="stmt" count="0"/>
      <line num="99" type="stmt" count="0"/>
      <line num="100" type="stmt" count="0"/>
      <line num="101" type="stmt" count="0"/>
      <line num="113" type="method" name="addBannerToSkinOutput" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="114" type="stmt" count="0"/>
      <line num="115" type="stmt" count="0"/>
      <line num="118" type="stmt" count="0"/>
      <line num="119" type="stmt" count="0"/>
      <line num="121" type="stmt" count="0"/>
      <line num="122" type="stmt" count="0"/>
      <line num="124" type="stmt" count="0"/>
      <line num="127" type="stmt" count="0"/>
      <line num="135" type="method" name="onSiteNoticeAfter" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="136" type="stmt" count="0"/>
      <line num="137" type="stmt" count="0"/>
      <line num="139" type="stmt" count="0"/>
      <line num="140" type="stmt" count="0"/>
      <line num="142" type="stmt" count="0"/>
      <line num="143" type="stmt" count="0"/>
      <line num="145" type="stmt" count="0"/>
      <line num="159" type="method" name="onBeforePageDisplay" visibility="public" complexity="13" crap="13.14" count="7"/>
      <line num="160" type="stmt" count="7"/>
      <line num="161" type="stmt" count="7"/>
      <line num="162" type="stmt" count="7"/>
      <line num="163" type="stmt" count="7"/>
      <line num="166" type="stmt" count="7"/>
      <line num="167" type="stmt" count="3"/>
      <line num="168" type="stmt" count="3"/>
      <line num="169" type="stmt" count="3"/>
      <line num="170" type="stmt" count="0"/>
      <line num="171" type="stmt" count="0"/>
      <line num="173" type="stmt" count="3"/>
      <line num="175" type="stmt" count="3"/>
      <line num="176" type="stmt" count="2"/>
      <line num="177" type="stmt" count="2"/>
      <line num="178" type="stmt" count="2"/>
      <line num="181" type="stmt" count="3"/>
      <line num="182" type="stmt" count="3"/>
      <line num="183" type="stmt" count="0"/>
      <line num="185" type="stmt" count="3"/>
      <line num="188" type="stmt" count="3"/>
      <line num="191" type="stmt" count="4"/>
      <line num="192" type="stmt" count="4"/>
      <line num="193" type="stmt" count="4"/>
      <line num="194" type="stmt" count="4"/>
      <line num="195" type="stmt" count="4"/>
      <line num="199" type="stmt" count="3"/>
      <line num="201" type="stmt" count="3"/>
      <line num="202" type="stmt" count="3"/>
      <line num="204" type="stmt" count="3"/>
      <line num="205" type="stmt" count="3"/>
      <line num="209" type="stmt" count="3"/>
      <line num="212" type="stmt" count="7"/>
      <line num="219" type="method" name="getBannerOptions" visibility="private" complexity="1" crap="2" count="0"/>
      <line num="220" type="stmt" count="0"/>
      <line num="229" type="method" name="onParserOutputPostCacheTransform" visibility="public" complexity="3" crap="12" count="0"/>
      <line num="231" type="stmt" count="0"/>
      <line num="232" type="stmt" count="0"/>
      <line num="233" type="stmt" count="0"/>
      <line num="234" type="stmt" count="0"/>
      <line num="246" type="method" name="getSectionsDataInternal" visibility="private" complexity="4" crap="20" count="0"/>
      <line num="247" type="stmt" count="0"/>
      <line num="248" type="stmt" count="0"/>
      <line num="250" type="stmt" count="0"/>
      <line num="251" type="stmt" count="0"/>
      <line num="255" type="stmt" count="0"/>
      <line num="256" type="stmt" count="0"/>
      <line num="257" type="stmt" count="0"/>
      <line num="258" type="stmt" count="0"/>
      <line num="259" type="stmt" count="0"/>
      <line num="260" type="stmt" count="0"/>
      <line num="261" type="stmt" count="0"/>
      <line num="262" type="stmt" count="0"/>
      <line num="265" type="stmt" count="0"/>
      <line num="272" type="method" name="getRecursiveTocData" visibility="private" complexity="3" crap="12" count="0"/>
      <line num="273" type="stmt" count="0"/>
      <line num="274" type="stmt" count="0"/>
      <line num="275" type="stmt" count="0"/>
      <line num="276" type="stmt" count="0"/>
      <line num="281" type="stmt" count="0"/>
      <line num="285" type="stmt" count="0"/>
      <line num="286" type="stmt" count="0"/>
      <line num="287" type="stmt" count="0"/>
      <line num="288" type="stmt" count="0"/>
      <line num="289" type="stmt" count="0"/>
      <line num="290" type="stmt" count="0"/>
      <line num="300" type="method" name="onOutputPageParserOutput" visibility="public" complexity="4" crap="20" count="0"/>
      <line num="301" type="stmt" count="0"/>
      <line num="302" type="stmt" count="0"/>
      <line num="304" type="stmt" count="0"/>
      <line num="305" type="stmt" count="0"/>
      <line num="306" type="stmt" count="0"/>
      <line num="307" type="stmt" count="0"/>
      <line num="309" type="stmt" count="0"/>
      <line num="313" type="stmt" count="0"/>
      <line num="324" type="method" name="addBadParserFunctionArgsWarning" visibility="public" complexity="5" crap="30" count="0"/>
      <line num="325" type="stmt" count="0"/>
      <line num="326" type="stmt" count="0"/>
      <line num="327" type="stmt" count="0"/>
      <line num="329" type="stmt" count="0"/>
      <line num="330" type="stmt" count="0"/>
      <line num="334" type="stmt" count="0"/>
      <line num="336" type="stmt" count="0"/>
      <line num="340" type="stmt" count="0"/>
      <line num="341" type="stmt" count="0"/>
      <line num="342" type="stmt" count="0"/>
      <line num="343" type="stmt" count="0"/>
      <line num="357" type="method" name="addCustomBanner" visibility="public" complexity="10" crap="10.12" count="2"/>
      <line num="359" type="stmt" count="2"/>
      <line num="361" type="stmt" count="2"/>
      <line num="362" type="stmt" count="2"/>
      <line num="364" type="stmt" count="2"/>
      <line num="366" type="stmt" count="2"/>
      <line num="368" type="stmt" count="2"/>
      <line num="372" type="stmt" count="2"/>
      <line num="373" type="stmt" count="2"/>
      <line num="374" type="stmt" count="2"/>
      <line num="375" type="stmt" count="2"/>
      <line num="376" type="stmt" count="2"/>
      <line num="378" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="383" type="stmt" count="2"/>
      <line num="384" type="stmt" count="2"/>
      <line num="386" type="stmt" count="2"/>
      <line num="387" type="stmt" count="1"/>
      <line num="390" type="stmt" count="2"/>
      <line num="391" type="stmt" count="1"/>
      <line num="394" type="stmt" count="2"/>
      <line num="395" type="stmt" count="2"/>
      <line num="396" type="stmt" count="0"/>
      <line num="398" type="stmt" count="2"/>
      <line num="399" type="stmt" count="2"/>
      <line num="400" type="stmt" count="2"/>
      <line num="401" type="stmt" count="2"/>
      <line num="402" type="stmt" count="2"/>
      <line num="403" type="stmt" count="2"/>
      <line num="404" type="stmt" count="2"/>
      <line num="411" type="stmt" count="2"/>
      <line num="412" type="stmt" count="2"/>
      <line num="413" type="stmt" count="2"/>
      <line num="415" type="stmt" count="0"/>
      <line num="416" type="stmt" count="0"/>
      <line num="417" type="stmt" count="0"/>
      <line num="422" type="stmt" count="2"/>
      <line num="423" type="stmt" count="2"/>
      <line num="424" type="stmt" count="2"/>
      <line num="436" type="method" name="onParserFirstCallInit" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="437" type="stmt" count="0"/>
      <line num="438" type="stmt" count="0"/>
      <line num="439" type="stmt" count="0"/>
      <line num="440" type="stmt" count="0"/>
      <metrics loc="444" ncloc="286" classes="1" methods="15" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="150" coveredstatements="63" elements="165" coveredelements="63"/>
    </file>
    <metrics files="2" loc="883" ncloc="580" classes="2" methods="30" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="318" coveredstatements="84" elements="348" coveredelements="85"/>
  </project>
</coverage>
