Flitch\Rule\Naming\Classes::visitToken PHP Method

visitToken() public method

visitToken(): defined by TokenRuleInterface.
See also: TokenRuleInterface::visitToken()
public visitToken ( File $file ) : void
$file Flitch\File\File
return void
    public function visitToken(File $file)
    {
        if (!$file->seekTokenType(T_STRING, false, '{')) {
            return;
        }
        $token = $file->current();
        if (!preg_match('(^' . $this->format . '$)', $token->getLexeme())) {
            $this->addViolation($file, $token->getLine(), $token->getColumn(), sprintf('Class name does not match format "%s"', $this->format));
        }
    }

Usage Example

Example #1
0
 public function testClassNaming()
 {
     $tokenizer = new Tokenizer();
     $file = $tokenizer->tokenize('foo.php', "<?php class foo {} class bar {}");
     $file->rewind();
     $file->seekTokenType(T_CLASS);
     $rule = new Classes();
     $rule->setFormat('bar');
     $rule->visitToken($file);
     $this->assertRuleViolations($file, array(array('line' => 1, 'column' => 13, 'message' => 'Class name does not match format "bar"', 'source' => 'Flitch\\Naming\\Classes')));
 }