public function removeVisitor(ExpressionVisitor $visitor) { while (false !== ($key = array_search($visitor, $this->visitors, true))) { unset($this->visitors[$key]); } $this->visitors = array_values($this->visitors); }
public function testRemoveVisitor() { $visitor1 = $this->getMock('Webmozart\\Expression\\Traversal\\ExpressionVisitor'); $visitor2 = $this->getMock('Webmozart\\Expression\\Traversal\\ExpressionVisitor'); $this->traverser->addVisitor($visitor1); $this->traverser->addVisitor($visitor2); $this->traverser->addVisitor($visitor1); $this->traverser->removeVisitor($visitor1); $this->assertSame(array($visitor2), $this->traverser->getVisitors()); }