Chris@16: traverser = new NodeTraverser(); Chris@16: $this->traverser->addVisitor(new TimeitVisitor()); Chris@16: } Chris@16: Chris@16: /** Chris@16: * @dataProvider codez Chris@16: */ Chris@16: public function testProcess($from, $to) Chris@16: { Chris@16: $this->assertProcessesAs($from, $to); Chris@16: } Chris@16: Chris@16: public function codez() Chris@16: { Chris@16: $start = '\Psy\Command\TimeitCommand::markStart'; Chris@16: $end = '\Psy\Command\TimeitCommand::markEnd'; Chris@16: $noReturn = 'new \Psy\CodeCleaner\NoReturnValue()'; Chris@16: Chris@16: return [ Chris@16: ['', "$end($start());"], // heh Chris@16: ['a()', "$start(); $end(a());"], Chris@16: ['$b()', "$start(); $end(\$b());"], Chris@16: ['$c->d()', "$start(); $end(\$c->d());"], Chris@16: ['e(); f()', "$start(); e(); $end(f());"], Chris@16: ['function g() { return 1; }', "$start(); function g() {return 1;} $end($noReturn);"], Chris@16: ['return 1', "$start(); return $end(1);"], Chris@16: ['return 1; 2', "$start(); return $end(1); $end(2);"], Chris@16: ['return 1; function h() {}', "$start(); return $end(1); function h() {} $end($noReturn);"], Chris@16: ]; Chris@16: } Chris@16: }