Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 200 400 600 800 Line Coverage (%) Cyclomatic Complexity Phpdftk\Html\TreeConstruction\TreeBuilder — Coverage: 96.3% | Lines: 1556 | Complexity: 645 Phpdftk\Html\Tokenizer\Tokenizer — Coverage: 85.9% | Lines: 1364 | Complexity: 587 Phpdftk\Html\Dom\Element — Coverage: 70.5% | Lines: 139 | Complexity: 87 Phpdftk\Html\TreeConstruction\OpenElementsStack — Coverage: 91.9% | Lines: 74 | Complexity: 57 Phpdftk\Html\Dom\Node — Coverage: 95.2% | Lines: 62 | Complexity: 31 Phpdftk\Html\TreeConstruction\ActiveFormattingElements — Coverage: 88.7% | Lines: 62 | Complexity: 42 Phpdftk\Html\Serializer — Coverage: 97.8% | Lines: 46 | Complexity: 23 Phpdftk\Html\Dom\Document — Coverage: 85.7% | Lines: 42 | Complexity: 33 Phpdftk\Html\Dom\ClassList — Coverage: 93.5% | Lines: 31 | Complexity: 20 Phpdftk\Html\Dom\ShadowRoot — Coverage: 78.9% | Lines: 19 | Complexity: 7 Phpdftk\Html\Dom\Text — Coverage: 36.8% | Lines: 19 | Complexity: 11 Phpdftk\Html\Parser — Coverage: 73.7% | Lines: 19 | Complexity: 11 Phpdftk\Html\Dom\HTMLSlotElement — Coverage: 0.0% | Lines: 15 | Complexity: 7 Phpdftk\Html\Dom\DocumentType — Coverage: 50.0% | Lines: 10 | Complexity: 6 Phpdftk\Html\Dom\Comment — Coverage: 62.5% | Lines: 8 | Complexity: 6 Phpdftk\Html\Dom\DocumentFragment — Coverage: 20.0% | Lines: 5 | Complexity: 4 Phpdftk\Html\ParserOptions — Coverage: 33.3% | Lines: 3 | Complexity: 3 Phpdftk\Html\Dom\Attr — Coverage: 100.0% | Lines: 2 | Complexity: 3 Phpdftk\Html\Tokenizer\CharacterToken — Coverage: 50.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Tokenizer\CommentToken — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Dom\ShadowRootInit — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\ParseError — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Class CRAP Coverage
Phpdftk\Html\Tokenizer\Tokenizer1563.1285.9%
Phpdftk\Html\TreeConstruction\TreeBuilder64596.3%
Phpdftk\Html\Dom\Element281.2470.5%
Phpdftk\Html\TreeConstruction\OpenElementsStack58.7391.9%
Phpdftk\Html\Dom\HTMLSlotElement560.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements44.5488.7%
Phpdftk\Html\Dom\Text41.4836.8%
Phpdftk\Html\Dom\Document36.1785.7%
Phpdftk\Html\Dom\Node3195.2%
Phpdftk\Html\Serializer2397.8%
Phpdftk\Html\Dom\ClassList20.1193.5%
Phpdftk\Html\Parser13.2173.7%
Phpdftk\Html\Dom\DocumentFragment12.1920.0%
Phpdftk\Html\Dom\DocumentType10.5050.0%
Phpdftk\Html\Dom\Comment7.9062.5%
Phpdftk\Html\Dom\ShadowRoot7.4678.9%
Phpdftk\Html\ParserOptions5.6733.3%
Phpdftk\Html\Dom\Attr3100.0%
Phpdftk\Html\Tokenizer\CharacterToken2.5050.0%
Phpdftk\Html\Tokenizer\CommentToken2100.0%
Phpdftk\Html\Dom\ShadowRootInit1100.0%
Phpdftk\Html\Tokenizer\ParseError1100.0%
Phpdftk\Html\Dom\DocumentMode0100.0%
Phpdftk\Html\Dom\HTMLTemplateElement0100.0%
Phpdftk\Html\Dom\NodeType0100.0%
Phpdftk\Html\Dom\ShadowRootMode0100.0%
Phpdftk\Html\Dom\SlotAssignment0100.0%
Phpdftk\Html\Exception\HtmlException0100.0%
Phpdftk\Html\Exception\ParseException0100.0%
Phpdftk\Html\Tokenizer\DoctypeToken0100.0%
Phpdftk\Html\Tokenizer\EndTagToken0100.0%
Phpdftk\Html\Tokenizer\EofToken0100.0%
Phpdftk\Html\Tokenizer\NamedCharacterReferences0100.0%
Phpdftk\Html\Tokenizer\ParseErrorCode0100.0%
Phpdftk\Html\Tokenizer\StartTagToken0100.0%
Phpdftk\Html\Tokenizer\Token0100.0%
Phpdftk\Html\Tokenizer\TokenizerState0100.0%
Phpdftk\Html\TreeConstruction\InsertionMode0100.0%

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 20 40 60 80 100 Line Coverage (%) Cyclomatic Complexity Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBodyStartTag — Coverage: 100.0% | Lines: 193 | Complexity: 65 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInHead — Coverage: 97.4% | Lines: 115 | Complexity: 32 Phpdftk\Html\TreeConstruction\TreeBuilder::adoptionAgency — Coverage: 93.3% | Lines: 89 | Complexity: 32 Phpdftk\Html\Tokenizer\Tokenizer::step — Coverage: 100.0% | Lines: 81 | Complexity: 81 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBodyEndTag — Coverage: 96.2% | Lines: 79 | Complexity: 27 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInSelect — Coverage: 93.5% | Lines: 77 | Complexity: 35 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInForeignContent — Coverage: 96.7% | Lines: 61 | Complexity: 29 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableStartTag — Coverage: 98.3% | Lines: 58 | Complexity: 15 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTemplate — Coverage: 96.2% | Lines: 53 | Complexity: 14 Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterHead — Coverage: 100.0% | Lines: 52 | Complexity: 14 Phpdftk\Html\TreeConstruction\TreeBuilder::resetInsertionModeAppropriately — Coverage: 91.1% | Lines: 45 | Complexity: 18 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableBody — Coverage: 100.0% | Lines: 39 | Complexity: 17 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInRow — Coverage: 94.6% | Lines: 37 | Complexity: 17 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInFrameset — Coverage: 97.3% | Lines: 37 | Complexity: 17 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInColumnGroup — Coverage: 100.0% | Lines: 33 | Complexity: 18 Phpdftk\Html\Tokenizer\Tokenizer::stateNamedCharacterReference — Coverage: 100.0% | Lines: 32 | Complexity: 15 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInCaption — Coverage: 90.3% | Lines: 31 | Complexity: 12 Phpdftk\Html\Tokenizer\Tokenizer::endTagNameAlternativeReturn — Coverage: 100.0% | Lines: 30 | Complexity: 14 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypePublicKeyword — Coverage: 83.3% | Lines: 30 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeSystemKeyword — Coverage: 56.7% | Lines: 30 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeName — Coverage: 82.8% | Lines: 29 | Complexity: 10 Phpdftk\Html\Tokenizer\Tokenizer::doctypeQuotedIdentifier — Coverage: 62.1% | Lines: 29 | Complexity: 8 Phpdftk\Html\TreeConstruction\TreeBuilder::reconstructActiveFormatting — Coverage: 96.6% | Lines: 29 | Complexity: 10 Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypeName — Coverage: 67.9% | Lines: 28 | Complexity: 10 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypePublicIdentifier — Coverage: 82.1% | Lines: 28 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypePublicIdentifier — Coverage: 81.5% | Lines: 27 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypeSystemIdentifier — Coverage: 81.5% | Lines: 27 | Complexity: 9 Phpdftk\Html\TreeConstruction\TreeBuilder::dispatch — Coverage: 100.0% | Lines: 27 | Complexity: 25 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInCell — Coverage: 96.3% | Lines: 27 | Complexity: 13 Phpdftk\Html\Tokenizer\Tokenizer::stateBetweenDoctypePublicAndSystemIdentifiers — Coverage: 68.0% | Lines: 25 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateTagOpen — Coverage: 100.0% | Lines: 24 | Complexity: 7 Phpdftk\Html\Tokenizer\Tokenizer::stateTagName — Coverage: 87.5% | Lines: 24 | Complexity: 11 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeName — Coverage: 62.5% | Lines: 24 | Complexity: 10 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInHeadNoscript — Coverage: 100.0% | Lines: 24 | Complexity: 15 Phpdftk\Html\Serializer::serializeElement — Coverage: 95.7% | Lines: 23 | Complexity: 10 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedDashDash — Coverage: 100.0% | Lines: 23 | Complexity: 6 Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueUnquoted — Coverage: 73.9% | Lines: 23 | Complexity: 14 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedDashDash — Coverage: 100.0% | Lines: 22 | Complexity: 6 Phpdftk\Html\Tokenizer\Tokenizer::stateMarkupDeclarationOpen — Coverage: 100.0% | Lines: 22 | Complexity: 5 Phpdftk\Html\Dom\Node::insertBefore — Coverage: 95.2% | Lines: 21 | Complexity: 9 Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterBody — Coverage: 100.0% | Lines: 21 | Complexity: 9 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTable — Coverage: 100.0% | Lines: 21 | Complexity: 8 Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterFrameset — Coverage: 100.0% | Lines: 21 | Complexity: 10 Phpdftk\Html\TreeConstruction\TreeBuilder::shouldDispatchInForeignContent — Coverage: 100.0% | Lines: 21 | Complexity: 16 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedDash — Coverage: 100.0% | Lines: 20 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterAttributeName — Coverage: 90.0% | Lines: 20 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateHexadecimalCharacterReference — Coverage: 80.0% | Lines: 20 | Complexity: 8 Phpdftk\Html\TreeConstruction\TreeBuilder::modeBeforeHead — Coverage: 100.0% | Lines: 20 | Complexity: 11 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedDash — Coverage: 100.0% | Lines: 19 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeName — Coverage: 84.2% | Lines: 19 | Complexity: 14 Phpdftk\Html\Tokenizer\Tokenizer::stateComment — Coverage: 84.2% | Lines: 19 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEnd — Coverage: 100.0% | Lines: 19 | Complexity: 5 Phpdftk\Html\TreeConstruction\TreeBuilder::buildFragment — Coverage: 100.0% | Lines: 19 | Complexity: 7 Phpdftk\Html\TreeConstruction\TreeBuilder::resetInsertionModeForFragment — Coverage: 47.4% | Lines: 19 | Complexity: 15 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBody — Coverage: 94.7% | Lines: 19 | Complexity: 8 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscaped — Coverage: 100.0% | Lines: 18 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateEndTagOpen — Coverage: 100.0% | Lines: 18 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEndBang — Coverage: 61.1% | Lines: 18 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::modeBeforeHtml — Coverage: 100.0% | Lines: 18 | Complexity: 6 Phpdftk\Html\TreeConstruction\TreeBuilder::appropriatePlaceForInserting — Coverage: 88.9% | Lines: 18 | Complexity: 13 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscaped — Coverage: 100.0% | Lines: 17 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueDoubleQuoted — Coverage: 82.4% | Lines: 17 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueSingleQuoted — Coverage: 64.7% | Lines: 17 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterAttributeValueQuoted — Coverage: 64.7% | Lines: 17 | Complexity: 8 Phpdftk\Html\Tokenizer\Tokenizer::stateRcdata — Coverage: 81.2% | Lines: 16 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapeStart — Coverage: 100.0% | Lines: 16 | Complexity: 12 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapeEnd — Coverage: 100.0% | Lines: 16 | Complexity: 12 Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeAttributeName — Coverage: 62.5% | Lines: 16 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentStartDash — Coverage: 75.0% | Lines: 16 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctype — Coverage: 62.5% | Lines: 16 | Complexity: 7 Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeSystemIdentifier — Coverage: 43.8% | Lines: 16 | Complexity: 7 Phpdftk\Html\Tokenizer\Tokenizer::stateNumericCharacterReferenceEnd — Coverage: 100.0% | Lines: 16 | Complexity: 6 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInitial — Coverage: 100.0% | Lines: 16 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterAfterBody — Coverage: 100.0% | Lines: 16 | Complexity: 7 Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterAfterFrameset — Coverage: 100.0% | Lines: 16 | Complexity: 9 Phpdftk\Html\Parser::parseFragment — Coverage: 66.7% | Lines: 15 | Complexity: 9 Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeAttributeValue — Coverage: 66.7% | Lines: 15 | Complexity: 8 Phpdftk\Html\Tokenizer\Tokenizer::stateSelfClosingStartTag — Coverage: 100.0% | Lines: 15 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateBogusComment — Coverage: 100.0% | Lines: 15 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateCharacterReference — Coverage: 100.0% | Lines: 15 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::insertCharacter — Coverage: 93.3% | Lines: 15 | Complexity: 5 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInSelectInTable — Coverage: 93.3% | Lines: 15 | Complexity: 6 Phpdftk\Html\Dom\Element::shallowClone — Coverage: 100.0% | Lines: 14 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateData — Coverage: 100.0% | Lines: 14 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateDecimalCharacterReference — Coverage: 100.0% | Lines: 14 | Complexity: 4 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::elementsMatchForNoahsArk — Coverage: 100.0% | Lines: 14 | Complexity: 9 Phpdftk\Html\TreeConstruction\TreeBuilder::flushPendingTableCharacters — Coverage: 92.9% | Lines: 14 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableEndTag — Coverage: 100.0% | Lines: 13 | Complexity: 5 Phpdftk\Html\Dom\Node::removeChild — Coverage: 91.7% | Lines: 12 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateRawtext — Coverage: 75.0% | Lines: 12 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptData — Coverage: 100.0% | Lines: 12 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataLessThanSign — Coverage: 100.0% | Lines: 12 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedLessThanSign — Coverage: 100.0% | Lines: 12 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateAmbiguousAmpersand — Coverage: 100.0% | Lines: 12 | Complexity: 7 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::push — Coverage: 100.0% | Lines: 12 | Complexity: 5 Phpdftk\Html\TreeConstruction\TreeBuilder::modeText — Coverage: 100.0% | Lines: 12 | Complexity: 4 Phpdftk\Html\Dom\Element::querySelectorAll — Coverage: 100.0% | Lines: 11 | Complexity: 4 Phpdftk\Html\Dom\Element::isShadowHostEligible — Coverage: 90.9% | Lines: 11 | Complexity: 5 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEndDash — Coverage: 63.6% | Lines: 11 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateBogusDoctype — Coverage: 63.6% | Lines: 11 | Complexity: 4 Phpdftk\Html\Dom\HTMLSlotElement::assignedNodes — Coverage: 0.0% | Lines: 10 | Complexity: 5 Phpdftk\Html\Dom\Text::splitText — Coverage: 0.0% | Lines: 10 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentStart — Coverage: 100.0% | Lines: 10 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSign — Coverage: 80.0% | Lines: 10 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSectionEnd — Coverage: 80.0% | Lines: 10 | Complexity: 3 Phpdftk\Html\TreeConstruction\TreeBuilder::resolveDocumentMode — Coverage: 100.0% | Lines: 10 | Complexity: 7 Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableText — Coverage: 100.0% | Lines: 10 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::insertForeignElement — Coverage: 100.0% | Lines: 10 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::dedupAttributes — Coverage: 100.0% | Lines: 9 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::statePlaintext — Coverage: 0.0% | Lines: 9 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSection — Coverage: 66.7% | Lines: 9 | Complexity: 3 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInSelectScope — Coverage: 66.7% | Lines: 9 | Complexity: 6 Phpdftk\Html\TreeConstruction\OpenElementsStack::generateImpliedEndTags — Coverage: 100.0% | Lines: 9 | Complexity: 6 Phpdftk\Html\Dom\ClassList::toggle — Coverage: 100.0% | Lines: 8 | Complexity: 5 Phpdftk\Html\Dom\Document::findById — Coverage: 100.0% | Lines: 8 | Complexity: 6 Phpdftk\Html\Dom\Element::setAttribute — Coverage: 100.0% | Lines: 8 | Complexity: 4 Phpdftk\Html\Dom\Element::attachShadow — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::consume — Coverage: 100.0% | Lines: 8 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEndTagOpen — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedEndTagOpen — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataEndTagOpen — Coverage: 62.5% | Lines: 8 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextEndTagOpen — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::flushTempBufferToCharOrAttribute — Coverage: 100.0% | Lines: 8 | Complexity: 5 Phpdftk\Html\TreeConstruction\TreeBuilder::processFormattingFallback — Coverage: 62.5% | Lines: 8 | Complexity: 6 Phpdftk\Html\Dom\Document::createElement — Coverage: 100.0% | Lines: 7 | Complexity: 6 Phpdftk\Html\Dom\Document::findHtmlChild — Coverage: 71.4% | Lines: 7 | Complexity: 6 Phpdftk\Html\Dom\Element::indexAmongTypeSiblings — Coverage: 0.0% | Lines: 7 | Complexity: 5 Phpdftk\Html\Dom\Element::indexAmongTypeSiblingsFromEnd — Coverage: 0.0% | Lines: 7 | Complexity: 5 Phpdftk\Html\Dom\ShadowRoot::__construct — Coverage: 100.0% | Lines: 7 | Complexity: 1 Phpdftk\Html\Serializer::serializeNode — Coverage: 100.0% | Lines: 7 | Complexity: 8 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedLessThanSign — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataLessThanSign — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextLessThanSign — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateNumericCharacterReference — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateHexadecimalCharacterReferenceStart — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateDecimalCharacterReferenceStart — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::findLastBetweenMarkerAnd — Coverage: 100.0% | Lines: 7 | Complexity: 5 Phpdftk\Html\TreeConstruction\OpenElementsStack::generateImpliedEndTagsThoroughly — Coverage: 85.7% | Lines: 7 | Complexity: 5 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInScopeWithBoundaries — Coverage: 85.7% | Lines: 7 | Complexity: 7 Phpdftk\Html\TreeConstruction\TreeBuilder::insertImplicitHeadAndReprocess — Coverage: 100.0% | Lines: 7 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::insertHtmlElement — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableContext — Coverage: 85.7% | Lines: 7 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableBodyContext — Coverage: 85.7% | Lines: 7 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableRowContext — Coverage: 85.7% | Lines: 7 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::resolveShadowRootMode — Coverage: 100.0% | Lines: 7 | Complexity: 6 Phpdftk\Html\Dom\ClassList::add — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\Html\Dom\Element::closest — Coverage: 0.0% | Lines: 6 | Complexity: 4 Phpdftk\Html\Serializer::escapeText — Coverage: 100.0% | Lines: 6 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapeStart — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapeStartDash — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBangDashDash — Coverage: 66.7% | Lines: 6 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSectionBracket — Coverage: 66.7% | Lines: 6 | Complexity: 2 Phpdftk\Html\TreeConstruction\TreeBuilder::build — Coverage: 100.0% | Lines: 6 | Complexity: 3 Phpdftk\Html\TreeConstruction\TreeBuilder::isHtmlIntegrationPoint — Coverage: 100.0% | Lines: 6 | Complexity: 5 Phpdftk\Html\Dom\ClassList::remove — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Dom\Document::collectByTagName — Coverage: 100.0% | Lines: 5 | Complexity: 6 Phpdftk\Html\Dom\Element::children — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\Dom\Element::indexAmongSiblings — Coverage: 0.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\Dom\Element::indexAmongSiblingsFromEnd — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\Dom\Element::collectByTagName — Coverage: 100.0% | Lines: 5 | Complexity: 6 Phpdftk\Html\Dom\Node::replaceChild — Coverage: 80.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Dom\Node::cloneNode — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\Dom\ShadowRoot::collectSlots — Coverage: 100.0% | Lines: 5 | Complexity: 4 Phpdftk\Html\Serializer::escapeAttribute — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::nextToken — Coverage: 100.0% | Lines: 5 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::emit — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::emitFakeOpeningChars — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBang — Coverage: 80.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBangDash — Coverage: 80.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::finalizeAndEmitTag — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::lastElement — Coverage: 0.0% | Lines: 5 | Complexity: 4 Phpdftk\Html\TreeConstruction\TreeBuilder::insertImplicitBody — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::createElementForToken — Coverage: 100.0% | Lines: 5 | Complexity: 3 Phpdftk\Html\TreeConstruction\TreeBuilder::closeCell — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Html\Dom\ClassList::assertValidToken — Coverage: 75.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\Document::getElementsByTagName — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Dom\Document::shallowClone — Coverage: 0.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Dom\Element::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Dom\Element::getElementsByTagName — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\Dom\Element::allAttributes — Coverage: 0.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\Dom\Element::previousElementSibling — Coverage: 0.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\Element::nextElementSibling — Coverage: 0.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\HTMLSlotElement::assignedElements — Coverage: 0.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Dom\Node::childNodes — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\Dom\Node::textContent — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\Dom\Node::setTextContent — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\Node::isAncestorOf — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\ShadowRoot::shallowClone — Coverage: 0.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\Serializer::serializeChildren — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::peekRemaining — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::clearToLastMarker — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::contains — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::remove — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::replace — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::indexOf — Coverage: 75.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\OpenElementsStack::pop — Coverage: 75.0% | Lines: 4 | Complexity: 2 Phpdftk\Html\TreeConstruction\OpenElementsStack::containsLocalName — Coverage: 100.0% | Lines: 4 | Complexity: 4 Phpdftk\Html\TreeConstruction\OpenElementsStack::popUntilLocalName — Coverage: 100.0% | Lines: 4 | Complexity: 4 Phpdftk\Html\TreeConstruction\OpenElementsStack::popUntilElement — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInListItemScope — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInButtonScope — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::processAsInBodyWithFosterParenting — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::currentNodeIsTableContext — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\TreeConstruction\TreeBuilder::tokenHasAttribute — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Html\Dom\ClassList::tokens — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Html\Dom\Element::matches — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Html\Dom\ShadowRoot::slots — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Html\Parser::parseDocument — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 3 Phpdftk\Html\Tokenizer\Tokenizer::tokenize — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::preprocess — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::advance — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Html\TreeConstruction\OpenElementsStack::remove — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Html\TreeConstruction\TreeBuilder::__construct — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::isWhitespaceOnlyCharacter — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Html\TreeConstruction\TreeBuilder::reprocess — Coverage: 66.7% | Lines: 3 | Complexity: 2 Phpdftk\Html\Dom\Comment::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\Comment::shallowClone — Coverage: 0.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\DocumentFragment::shallowClone — Coverage: 0.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::shallowClone — Coverage: 0.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\Element::querySelector — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\Element::elementId — Coverage: 100.0% | Lines: 2 | Complexity: 3 Phpdftk\Html\Dom\Element::parentElement — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Dom\Element::splitPrefix — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Dom\Element::splitLocalName — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Dom\Text::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Dom\Text::shallowClone — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::reconsumeIn — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsEnd — Coverage: 50.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsTag — Coverage: 50.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsComment — Coverage: 50.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsDoctype — Coverage: 50.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::startNewAttribute — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::appendToCurrentAttributeName — Coverage: 50.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::appendToCurrentAttributeValue — Coverage: 50.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::indexOf — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\TreeConstruction\TreeBuilder::closePElement — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::insertComment — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::isMathmlTextIntegrationPoint — Coverage: 100.0% | Lines: 2 | Complexity: 2 Phpdftk\Html\Dom\Attr::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Attr::qualifiedName — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Dom\ClassList::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\ClassList::contains — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\ClassList::values — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\ClassList::count — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\ClassList::write — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Comment::nodeType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Comment::nodeName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Comment::textContent — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Comment::setTextContent — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::nodeType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::nodeName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::createTextNode — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::createComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::createDocumentFragment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Document::getElementById — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentFragment::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentFragment::nodeType — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentFragment::nodeName — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::nodeType — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::nodeName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::textContent — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\DocumentType::setTextContent — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::nodeType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::nodeName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::attributes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::hasAttribute — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::getAttribute — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::getAttributeNode — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::setAttributeNode — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::removeAttribute — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::localName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::namespaceUri — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::classes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::getAttributeValue — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::elementChildren — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Element::canonicalAttrKey — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Dom\HTMLSlotElement::setAssignedNodes — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Node::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Node::hasChildNodes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Node::appendChild — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\ShadowRootInit::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Text::nodeType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Text::nodeName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Text::textContent — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Text::setTextContent — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Dom\Text::length — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Parser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\ParserOptions::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\ParserOptions::withScriptingEnabled — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\ParserOptions::withAssumedEncoding — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Serializer::serialize — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\CharacterToken::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\CharacterToken::append — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\CommentToken::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\CommentToken::append — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\ParseError::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::errors — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::emitChar — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::error — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::isAppropriateEndTag — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEndTagName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedEndTagName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataEndTagName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextEndTagName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypePublicIdentifierDoubleQuoted — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypePublicIdentifierSingleQuoted — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeSystemIdentifierDoubleQuoted — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeSystemIdentifierSingleQuoted — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\Tokenizer\Tokenizer::isAsciiAlpha — Coverage: 100.0% | Lines: 1 | Complexity: 4 Phpdftk\Html\Tokenizer\Tokenizer::isAsciiUpperAlpha — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::isAsciiLowerAlpha — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::isAsciiAlphanumeric — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\Tokenizer\Tokenizer::isAsciiHexDigit — Coverage: 100.0% | Lines: 1 | Complexity: 5 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::pushMarker — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::isEmpty — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::entries — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\ActiveFormattingElements::insertAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::push — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::top — Coverage: 100.0% | Lines: 1 | Complexity: 2 Phpdftk\Html\TreeConstruction\OpenElementsStack::currentNode — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::isEmpty — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::count — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::items — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::contains — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::removeAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::replaceAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::insertAt — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInScope — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInTableScope — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\OpenElementsStack::isSpecialHtmlElement — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::processInBodyForStrayHtml — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Html\TreeConstruction\TreeBuilder::adjustedCurrentNode — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\Html\Tokenizer\Tokenizer::step81100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBodyStartTag65100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::resetInsertionModeForFragment47.8047.4%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInSelect35.3493.5%
Phpdftk\Html\TreeConstruction\TreeBuilder::adoptionAgency32.3193.3%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInHead3297.4%
Phpdftk\Html\Dom\Element::indexAmongTypeSiblings300.0%
Phpdftk\Html\Dom\Element::indexAmongTypeSiblingsFromEnd300.0%
Phpdftk\Html\Dom\HTMLSlotElement::assignedNodes300.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInForeignContent2996.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBodyEndTag2796.2%
Phpdftk\Html\TreeConstruction\TreeBuilder::dispatch25100.0%
Phpdftk\Html\Dom\Element::closest200.0%
Phpdftk\Html\Dom\Text::splitText200.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::lastElement200.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::resetInsertionModeAppropriately18.2391.1%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInColumnGroup18100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueUnquoted17.4873.9%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInRow17.0594.6%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableBody17100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInFrameset1797.3%
Phpdftk\Html\TreeConstruction\TreeBuilder::shouldDispatchInForeignContent16100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeSystemIdentifier15.7243.8%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeSystemKeyword15.5956.7%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeName15.2762.5%
Phpdftk\Html\Tokenizer\Tokenizer::stateNamedCharacterReference15100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableStartTag1598.3%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInHeadNoscript15100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeName14.7784.2%
Phpdftk\Html\Tokenizer\Tokenizer::endTagNameAlternativeReturn14100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterHead14100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTemplate1496.2%
Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypeName13.3267.9%
Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeAttributeName13.2762.5%
Phpdftk\Html\TreeConstruction\TreeBuilder::appropriatePlaceForInserting13.2388.9%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInCell1396.3%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInCaption12.1390.3%
Phpdftk\Html\Dom\Element::previousElementSibling120.0%
Phpdftk\Html\Dom\Element::nextElementSibling120.0%
Phpdftk\Html\Dom\Element::indexAmongSiblings120.0%
Phpdftk\Html\Parser::parseFragment12.0066.7%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapeStart12100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapeEnd12100.0%
Phpdftk\Html\Tokenizer\Tokenizer::statePlaintext120.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateBetweenDoctypePublicAndSystemIdentifiers11.6568.0%
Phpdftk\Html\Tokenizer\Tokenizer::doctypeQuotedIdentifier11.4962.1%
Phpdftk\Html\Tokenizer\Tokenizer::stateTagName11.2487.5%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeBeforeHead11100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterAttributeValueQuoted10.8164.7%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypeName10.5182.8%
Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeAttributeValue10.3766.7%
Phpdftk\Html\Serializer::serializeElement1095.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::reconstructActiveFormatting1096.6%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterFrameset10100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctype9.5862.5%
Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypePublicIdentifier9.5181.5%
Phpdftk\Html\Tokenizer\Tokenizer::stateBeforeDoctypeSystemIdentifier9.5181.5%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypePublicIdentifier9.4682.1%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterDoctypePublicKeyword9.3783.3%
Phpdftk\Html\Tokenizer\Tokenizer::stateAfterAttributeName9.0890.0%
Phpdftk\Html\Dom\Node::insertBefore995.2%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::elementsMatchForNoahsArk9100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterBody9100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterAfterFrameset9100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateHexadecimalCharacterReference8.5180.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInBody8.0194.7%
Phpdftk\Html\Serializer::serializeNode8100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTable8100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::processFormattingFallback7.9062.5%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInSelectScope7.3366.7%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInScopeWithBoundaries7.1485.7%
Phpdftk\Html\Tokenizer\Tokenizer::stateTagOpen7100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateAmbiguousAmpersand7100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::buildFragment7100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::resolveDocumentMode7100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeAfterAfterBody7100.0%
Phpdftk\Html\Dom\Document::findHtmlChild6.8471.4%
Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueSingleQuoted6.1064.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInSelectInTable6.0193.3%
Phpdftk\Html\Dom\Document::createElement6100.0%
Phpdftk\Html\Dom\Document::collectByTagName6100.0%
Phpdftk\Html\Dom\Document::findById6100.0%
Phpdftk\Html\Dom\Element::allAttributes60.0%
Phpdftk\Html\Dom\Element::collectByTagName6100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedDashDash6100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedDashDash6100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateNumericCharacterReferenceEnd6100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::generateImpliedEndTags6100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeBeforeHtml6100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::resolveShadowRootMode6100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRcdata5.1681.2%
Phpdftk\Html\Tokenizer\Tokenizer::stateAttributeValueDoubleQuoted5.1482.4%
Phpdftk\Html\Tokenizer\Tokenizer::stateComment5.1084.2%
Phpdftk\Html\TreeConstruction\OpenElementsStack::generateImpliedEndTagsThoroughly5.0785.7%
Phpdftk\Html\Dom\Element::isShadowHostEligible5.0290.9%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertCharacter5.0193.3%
Phpdftk\Html\Dom\ClassList::toggle5100.0%
Phpdftk\Html\Dom\Element::shallowClone5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateData5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscaped5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedDash5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscaped5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedDash5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateEndTagOpen5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateMarkupDeclarationOpen5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEnd5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::flushTempBufferToCharOrAttribute5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAsciiHexDigit5100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::push5100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::findLastBetweenMarkerAnd5100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableEndTag5100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::isHtmlIntegrationPoint5100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEndBang4.9461.1%
Phpdftk\Html\Tokenizer\Tokenizer::stateBogusDoctype4.7763.6%
Phpdftk\Html\Tokenizer\Tokenizer::stateRawtext4.2575.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentStartDash4.2575.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableContext4.0585.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableBodyContext4.0585.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::clearStackToTableRowContext4.0585.7%
Phpdftk\Html\Dom\Node::removeChild4.0191.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::flushPendingTableCharacters4.0192.9%
Phpdftk\Html\Dom\Element::setAttribute4100.0%
Phpdftk\Html\Dom\Element::querySelectorAll4100.0%
Phpdftk\Html\Dom\ShadowRoot::collectSlots4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::nextToken4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::consume4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptData4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedLessThanSign4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateSelfClosingStartTag4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateBogusComment4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCharacterReference4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDecimalCharacterReference4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAsciiAlpha4100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::containsLocalName4100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::popUntilLocalName4100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInitial4100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeText4100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::modeInTableText4100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataEndTagOpen3.4762.5%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentEndDash3.4363.6%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBangDashDash3.3366.7%
Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSection3.3366.7%
Phpdftk\Html\Dom\ClassList::assertValidToken3.1475.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::indexOf3.1475.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSign3.0780.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSectionEnd3.0780.0%
Phpdftk\Html\Dom\ClassList::add3100.0%
Phpdftk\Html\Dom\Element::children3100.0%
Phpdftk\Html\Dom\Element::elementId3100.0%
Phpdftk\Html\Dom\Element::indexAmongSiblingsFromEnd3100.0%
Phpdftk\Html\Dom\Element::attachShadow3100.0%
Phpdftk\Html\Dom\Node::setTextContent3100.0%
Phpdftk\Html\Dom\Node::cloneNode3100.0%
Phpdftk\Html\Dom\Node::isAncestorOf3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::__construct3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::peekRemaining3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::emit3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::dedupAttributes3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataLessThanSign3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEndTagOpen3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedEndTagOpen3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextEndTagOpen3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentStart3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateNumericCharacterReference3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateHexadecimalCharacterReferenceStart3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDecimalCharacterReferenceStart3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::finalizeAndEmitTag3100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::clearToLastMarker3100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::contains3100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::remove3100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::replace3100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::popUntilElement3100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::build3100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::createElementForToken3100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertForeignElement3100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::currentNodeIsTableContext3100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::tokenHasAttribute3100.0%
Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsTag2.5050.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCdataSectionBracket2.1566.7%
Phpdftk\Html\TreeConstruction\TreeBuilder::reprocess2.1566.7%
Phpdftk\Html\TreeConstruction\OpenElementsStack::pop2.0675.0%
Phpdftk\Html\Dom\Node::replaceChild2.0380.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBang2.0380.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateCommentLessThanSignBangDash2.0380.0%
Phpdftk\Html\Dom\Attr::qualifiedName2100.0%
Phpdftk\Html\Dom\ClassList::remove2100.0%
Phpdftk\Html\Dom\ClassList::count20.0%
Phpdftk\Html\Dom\ClassList::tokens2100.0%
Phpdftk\Html\Dom\Comment::setTextContent20.0%
Phpdftk\Html\Dom\Comment::shallowClone20.0%
Phpdftk\Html\Dom\Document::shallowClone20.0%
Phpdftk\Html\Dom\DocumentFragment::nodeType20.0%
Phpdftk\Html\Dom\DocumentFragment::nodeName20.0%
Phpdftk\Html\Dom\DocumentFragment::shallowClone20.0%
Phpdftk\Html\Dom\DocumentType::nodeType20.0%
Phpdftk\Html\Dom\DocumentType::textContent20.0%
Phpdftk\Html\Dom\DocumentType::setTextContent20.0%
Phpdftk\Html\Dom\DocumentType::shallowClone20.0%
Phpdftk\Html\Dom\Element::getAttributeNode20.0%
Phpdftk\Html\Dom\Element::getElementsByTagName2100.0%
Phpdftk\Html\Dom\Element::namespaceUri20.0%
Phpdftk\Html\Dom\Element::parentElement2100.0%
Phpdftk\Html\Dom\Element::elementChildren20.0%
Phpdftk\Html\Dom\Element::canonicalAttrKey2100.0%
Phpdftk\Html\Dom\Element::splitPrefix2100.0%
Phpdftk\Html\Dom\Element::splitLocalName2100.0%
Phpdftk\Html\Dom\HTMLSlotElement::assignedElements20.0%
Phpdftk\Html\Dom\HTMLSlotElement::setAssignedNodes20.0%
Phpdftk\Html\Dom\Node::childNodes2100.0%
Phpdftk\Html\Dom\Node::textContent2100.0%
Phpdftk\Html\Dom\ShadowRoot::shallowClone20.0%
Phpdftk\Html\Dom\Text::setTextContent20.0%
Phpdftk\Html\Dom\Text::length20.0%
Phpdftk\Html\ParserOptions::withScriptingEnabled20.0%
Phpdftk\Html\ParserOptions::withAssumedEncoding20.0%
Phpdftk\Html\Serializer::serializeChildren2100.0%
Phpdftk\Html\Tokenizer\CharacterToken::append20.0%
Phpdftk\Html\Tokenizer\Tokenizer::tokenize2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::advance2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::error2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAppropriateEndTag2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapeStart2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapeStartDash2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataDoubleEscapedLessThanSign2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataLessThanSign2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextLessThanSign2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::emitFakeOpeningChars2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAsciiUpperAlpha2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAsciiLowerAlpha2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::isAsciiAlphanumeric2100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::isEmpty20.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::top2100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::indexOf2100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::remove2100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertHtmlElement2100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::isMathmlTextIntegrationPoint2100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::closeCell2100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::isWhitespaceOnlyCharacter2100.0%
Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsEnd1.1250.0%
Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsComment1.1250.0%
Phpdftk\Html\Tokenizer\Tokenizer::currentTokenAsDoctype1.1250.0%
Phpdftk\Html\Tokenizer\Tokenizer::appendToCurrentAttributeName1.1250.0%
Phpdftk\Html\Tokenizer\Tokenizer::appendToCurrentAttributeValue1.1250.0%
Phpdftk\Html\Dom\Attr::__construct1100.0%
Phpdftk\Html\Dom\ClassList::__construct1100.0%
Phpdftk\Html\Dom\ClassList::contains1100.0%
Phpdftk\Html\Dom\ClassList::values1100.0%
Phpdftk\Html\Dom\ClassList::write1100.0%
Phpdftk\Html\Dom\Comment::__construct1100.0%
Phpdftk\Html\Dom\Comment::nodeType1100.0%
Phpdftk\Html\Dom\Comment::nodeName1100.0%
Phpdftk\Html\Dom\Comment::textContent1100.0%
Phpdftk\Html\Dom\Document::__construct1100.0%
Phpdftk\Html\Dom\Document::nodeType1100.0%
Phpdftk\Html\Dom\Document::nodeName1100.0%
Phpdftk\Html\Dom\Document::createTextNode1100.0%
Phpdftk\Html\Dom\Document::createComment1100.0%
Phpdftk\Html\Dom\Document::createDocumentFragment1100.0%
Phpdftk\Html\Dom\Document::getElementsByTagName1100.0%
Phpdftk\Html\Dom\Document::getElementById1100.0%
Phpdftk\Html\Dom\DocumentFragment::__construct1100.0%
Phpdftk\Html\Dom\DocumentType::__construct1100.0%
Phpdftk\Html\Dom\DocumentType::nodeName1100.0%
Phpdftk\Html\Dom\Element::__construct1100.0%
Phpdftk\Html\Dom\Element::nodeType1100.0%
Phpdftk\Html\Dom\Element::nodeName1100.0%
Phpdftk\Html\Dom\Element::attributes1100.0%
Phpdftk\Html\Dom\Element::hasAttribute1100.0%
Phpdftk\Html\Dom\Element::getAttribute1100.0%
Phpdftk\Html\Dom\Element::setAttributeNode1100.0%
Phpdftk\Html\Dom\Element::removeAttribute1100.0%
Phpdftk\Html\Dom\Element::querySelector1100.0%
Phpdftk\Html\Dom\Element::matches1100.0%
Phpdftk\Html\Dom\Element::localName1100.0%
Phpdftk\Html\Dom\Element::classes1100.0%
Phpdftk\Html\Dom\Element::getAttributeValue1100.0%
Phpdftk\Html\Dom\Node::__construct1100.0%
Phpdftk\Html\Dom\Node::hasChildNodes1100.0%
Phpdftk\Html\Dom\Node::appendChild1100.0%
Phpdftk\Html\Dom\ShadowRoot::__construct1100.0%
Phpdftk\Html\Dom\ShadowRoot::slots1100.0%
Phpdftk\Html\Dom\ShadowRootInit::__construct1100.0%
Phpdftk\Html\Dom\Text::__construct1100.0%
Phpdftk\Html\Dom\Text::nodeType1100.0%
Phpdftk\Html\Dom\Text::nodeName1100.0%
Phpdftk\Html\Dom\Text::textContent1100.0%
Phpdftk\Html\Dom\Text::shallowClone1100.0%
Phpdftk\Html\Parser::__construct1100.0%
Phpdftk\Html\Parser::parseDocument1100.0%
Phpdftk\Html\ParserOptions::__construct1100.0%
Phpdftk\Html\Serializer::serialize1100.0%
Phpdftk\Html\Serializer::escapeText1100.0%
Phpdftk\Html\Serializer::escapeAttribute1100.0%
Phpdftk\Html\Tokenizer\CharacterToken::__construct1100.0%
Phpdftk\Html\Tokenizer\CommentToken::__construct1100.0%
Phpdftk\Html\Tokenizer\CommentToken::append1100.0%
Phpdftk\Html\Tokenizer\ParseError::__construct1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::errors1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::preprocess1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::reconsumeIn1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::emitChar1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::startNewAttribute1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEndTagName1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateScriptDataEscapedEndTagName1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRcdataEndTagName1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateRawtextEndTagName1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypePublicIdentifierDoubleQuoted1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypePublicIdentifierSingleQuoted1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeSystemIdentifierDoubleQuoted1100.0%
Phpdftk\Html\Tokenizer\Tokenizer::stateDoctypeSystemIdentifierSingleQuoted1100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::pushMarker1100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::entries1100.0%
Phpdftk\Html\TreeConstruction\ActiveFormattingElements::insertAt1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::push1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::currentNode1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::isEmpty1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::count1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::items1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::contains1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::removeAt1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::replaceAt1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::insertAt1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInScope1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInListItemScope1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInButtonScope1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::hasInTableScope1100.0%
Phpdftk\Html\TreeConstruction\OpenElementsStack::isSpecialHtmlElement1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::__construct1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertImplicitHeadAndReprocess1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::closePElement1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertImplicitBody1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::processInBodyForStrayHtml1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::processAsInBodyWithFosterParenting1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::insertComment1100.0%
Phpdftk\Html\TreeConstruction\TreeBuilder::adjustedCurrentNode1100.0%
Phpdftk\Html\Dom\Node::nodeType0100.0%
Phpdftk\Html\Dom\Node::nodeName0100.0%
Phpdftk\Html\Dom\Node::shallowClone0100.0%