Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
ExtensionTag
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 5
42
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getName
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getOffsets
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getSource
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
6
 isSelfClosed
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2declare( strict_types = 1 );
3
4namespace Wikimedia\Parsoid\Ext;
5
6use Wikimedia\Parsoid\Core\DomSourceRange;
7use Wikimedia\Parsoid\Tokens\Token;
8
9/**
10 * Wrapper so that the internal token isn't exposed
11 */
12class ExtensionTag {
13
14    /** @var Token */
15    private $extToken;
16
17    /**
18     * @param Token $extToken
19     */
20    public function __construct( Token $extToken ) {
21        $this->extToken = $extToken;
22    }
23
24    /**
25     * Return the name of the extension tag
26     * @return string
27     */
28    public function getName(): string {
29        return $this->extToken->getAttribute( 'name' );
30    }
31
32    /**
33     * Return the source offsets for this extension tag usage
34     * @return DomSourceRange|null
35     */
36    public function getOffsets(): ?DomSourceRange {
37        return $this->extToken->dataParsoid->extTagOffsets ?? null;
38    }
39
40    /**
41     * Return the full extension source
42     * @return string|null
43     */
44    public function getSource(): ?string {
45        if ( $this->extToken->hasAttribute( 'source' ) ) {
46            return $this->extToken->getAttribute( 'source' );
47        } else {
48            return null;
49        }
50    }
51
52    /**
53     * Is this extension tag self-closed?
54     * @return bool
55     */
56    public function isSelfClosed(): bool {
57        return !empty( $this->extToken->dataParsoid->selfClose );
58    }
59
60}