Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 7 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 1 |
ExtensionTag | |
0.00% |
0 / 7 |
|
0.00% |
0 / 5 |
42 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getName | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getOffsets | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
getSource | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
6 | |||
isSelfClosed | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | declare( strict_types = 1 ); |
3 | |
4 | namespace Wikimedia\Parsoid\Ext; |
5 | |
6 | use Wikimedia\Parsoid\Core\DomSourceRange; |
7 | use Wikimedia\Parsoid\Tokens\Token; |
8 | |
9 | /** |
10 | * Wrapper so that the internal token isn't exposed |
11 | */ |
12 | class 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 | } |