public static function parseLog($log) { $lines = explode("\n", $log); $start = self::cleanStartLine(array_shift($lines)); array_shift($lines); //$end = array_pop($lines); $duration = self::cleanStartLine(array_pop($lines)); $retrieved = self::cleanStartLine(array_pop($lines)); array_pop($lines); $console = new Console($start, $duration, $retrieved); foreach ($lines as $line) { $console->addLine(Line::parseLine($line)); } return $console; }
public function test() { $logFixtureFile = 'tests/fixtures/log.fixture'; $logFixtureToString = 'tests/fixtures/log-to-string.fixture'; $logFixture = file_get_contents($logFixtureFile); $consoleLog = Console::parseLog($logFixture); static::assertInstanceOf('Dfi\\TestUtils\\Log\\Console', $consoleLog); static::assertEquals('00:01:02', $consoleLog->getDuration()); static::assertEquals('Thu Oct 29 2015 12:17:47 GMT+0100 (CET)', $consoleLog->getRetrieved()); static::assertEquals('Thu Oct 29 2015 12:16:44 GMT+0100 (CET)', $consoleLog->getStart()); $toString = (string) $consoleLog; static::assertEquals(file_get_contents($logFixtureToString), $toString); $lines = $consoleLog->getLines(); static::assertInternalType('array', $lines); static::assertCount(24, $lines); $line = current($lines); static::assertInstanceOf('Dfi\\TestUtils\\Log\\Line', $line); $line = new Line('2015 - 01 - 20 00:00:01', 'debug', 'testMessage'); $consoleLog->addLine($line); $lines = $consoleLog->getLines(); static::assertCount(25, $lines); static::assertEquals($line, $lines[24]); }
public function getConsoleLog() { $frm = Mink::getInstance()->getDriver()->evaluateScript('typeof frm != "undefined"'); if ($frm) { $log = Mink::getInstance()->getDriver()->evaluateScript('frm.log.debugout.getLog()'); $console = Console::parseLog($log); return $console; } return null; }