Ejemplo n.º 1
0
 /** 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);
 }