/** Tests old-style logging using the $sql variable. */ public function testOldStyle() { if (!extension_loaded('pdo_sqlite')) { self::markTestSkipped("Please install 'pdo_sqlite' in order to run this test"); } // Create table with different column order $db = new PDO(self::dsn); $db->exec('CREATE TABLE unittest3 (ts timestamp, level varchar(32), msg varchar(64))'); // Prepare appender $appender = new LoggerAppenderPDO("myname"); $appender->setDSN(self::dsn); $appender->setCreateTable(false); $appender->setSql("INSERT INTO unittest3 (ts, level, msg) VALUES ('%d', '%p', '%m')"); $appender->activateOptions(); // Action! $event = new LoggerLoggingEvent("LoggerAppenderPDOTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage"); $appender->append($event); // Check $db = new PDO(self::dsn); $result = $db->query("SELECT * FROM unittest3"); self::assertFalse($result === false); $row = $result->fetch(PDO::FETCH_OBJ); self::assertTrue(is_object($row)); self::assertEquals(1, preg_match('/^\\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d.\\d\\d\\d$/', $row->ts)); self::assertEquals('ERROR', $row->level); self::assertEquals('testmessage', $row->msg); }