Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 11 |
BehaviorSwitchHandler | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
30 | |
0.00% |
0 / 11 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
onBehaviorSwitch | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 8 |
|||
onTag | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 1 |
<?php | |
declare( strict_types = 1 ); | |
namespace Wikimedia\Parsoid\Wt2Html\TT; | |
use Wikimedia\Parsoid\Tokens\KV; | |
use Wikimedia\Parsoid\Tokens\SelfclosingTagTk; | |
use Wikimedia\Parsoid\Tokens\Token; | |
use Wikimedia\Parsoid\Wt2Html\TokenTransformManager; | |
/** | |
* Handler for behavior switches, like '__TOC__' and similar. | |
*/ | |
class BehaviorSwitchHandler extends TokenHandler { | |
/** | |
* @param TokenTransformManager $manager | |
* @param array $options options | |
*/ | |
public function __construct( TokenTransformManager $manager, array $options ) { | |
parent::__construct( $manager, $options ); | |
} | |
/** | |
* Main handler. | |
* See {@link TokenTransformManager#addTransform}'s transformation parameter. | |
* | |
* @param Token $token | |
* @return TokenHandlerResult | |
*/ | |
public function onBehaviorSwitch( Token $token ): TokenHandlerResult { | |
$env = $this->env; | |
$magicWord = $env->getSiteConfig()->magicWordCanonicalName( $token->attribs[0]->v ); | |
$env->setVariable( $magicWord, true ); | |
$metaToken = new SelfclosingTagTk( | |
'meta', | |
[ new KV( 'property', 'mw:PageProp/' . $magicWord ) ], | |
$token->dataAttribs->clone() | |
); | |
return new TokenHandlerResult( [ $metaToken ] ); | |
} | |
/** | |
* @inheritDoc | |
*/ | |
public function onTag( Token $token ): ?TokenHandlerResult { | |
return $token->getName() === 'behavior-switch' ? $this->onBehaviorSwitch( $token ) : null; | |
} | |
} |