/** * Detect type of block. * * @param Token $token token * * @return null|array array with 'type' and 'isStart' keys or null if not found */ public static function detectBlockType(Token $token) { foreach (self::getBlockEdgeDefinitions() as $type => $definition) { if ($token->equals($definition['start'])) { return array('type' => $type, 'isStart' => true); } if ($token->equals($definition['end'])) { return array('type' => $type, 'isStart' => false); } } return null; }
/** * @dataProvider equalsProvider */ function testEquals($a, $b, bool $assertion) { $token_a = new Token(...$a); $token_b = new Token(...$b); $this->assertEquals($assertion, $token_a->equals($token_b), "{$token_a->dump()} !== {$token_b->dump()}"); }