public function testGetRuleAndNode() { $rule = m::mock('\\Psecio\\Parse\\RuleInterface'); $node = m::mock('\\PhpParser\\Node'); $file = m::mock('\\Psecio\\Parse\\File'); $event = new IssueEvent($rule, $node, $file); $this->assertSame($rule, $event->getRule()); $this->assertSame($node, $event->getNode()); }
/** * Write issue to document * * @param IssueEvent $event * @return void */ public function onFileIssue(IssueEvent $event) { $this->xmlWriter->startElement('issue'); $this->xmlWriter->writeElement('type', $event->getRule()->getName()); $this->xmlWriter->writeElement('description', $event->getRule()->getDescription()); $this->xmlWriter->writeElement('file', $event->getFile()->getPath()); $this->xmlWriter->writeElement('line', $event->getNode()->getLine()); $this->xmlWriter->startElement('source'); $this->xmlWriter->writeCData(implode("\n", $event->getFile()->fetchNode($event->getNode()))); $this->xmlWriter->endElement(); $this->xmlWriter->endElement(); }
/** * Write issue as one line * * @param IssueEvent $event * @return void */ public function onFileIssue(IssueEvent $event) { $this->write("<error>[ISSUE] [%s] On line %d in %s</error>\n", $event->getRule()->getName(), $event->getNode()->getLine(), $event->getFile()->getPath()); }