Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 25
LinkHandler
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 4
182
0.00% covered (danger)
0.00%
0 / 25
 __construct
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 handle
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 5
 before
0.00% covered (danger)
0.00%
0 / 1
30
0.00% covered (danger)
0.00%
0 / 9
 after
0.00% covered (danger)
0.00%
0 / 1
30
0.00% covered (danger)
0.00%
0 / 9
<?php
declare( strict_types = 1 );
namespace Wikimedia\Parsoid\Html2Wt\DOMHandlers;
use Wikimedia\Parsoid\DOM\Element;
use Wikimedia\Parsoid\DOM\Node;
use Wikimedia\Parsoid\Html2Wt\SerializerState;
use Wikimedia\Parsoid\Utils\WTUtils;
class LinkHandler extends DOMHandler {
    public function __construct() {
        parent::__construct( false );
    }
    /** @inheritDoc */
    public function handle(
        Element $node, SerializerState $state, bool $wrapperUnmodified = false
    ): ?Node {
        $state->serializer->linkHandler( $node );
        return $node->nextSibling;
    }
    /** @inheritDoc */
    public function before( Element $node, Node $otherNode, SerializerState $state ): array {
        // sol-transparent link nodes are the only thing on their line.
        // But, don't force separators wrt to its parent (body, p, list, td, etc.)
        if ( $otherNode !== $node->parentNode
            && WTUtils::isSolTransparentLink( $node ) && !WTUtils::isRedirectLink( $node )
            && !WTUtils::isEncapsulationWrapper( $node )
        ) {
            return [ 'min' => 1 ];
        } else {
            return [];
        }
    }
    /** @inheritDoc */
    public function after( Element $node, Node $otherNode, SerializerState $state ): array {
        // sol-transparent link nodes are the only thing on their line
        // But, don't force separators wrt to its parent (body, p, list, td, etc.)
        if ( $otherNode !== $node->parentNode
            && WTUtils::isSolTransparentLink( $node ) && !WTUtils::isRedirectLink( $node )
            && !WTUtils::isEncapsulationWrapper( $node )
        ) {
            return [ 'min' => 1 ];
        } else {
            return [];
        }
    }
}