public function testStartQueryThrowsExceptionWhenStreamWriteFails() { $log = new SqlLogger('php://memory'); fclose($log->getStream()); // Prematurely close the logger's stream // Now have logger attempt to write to its stream $sql = 'SELECT * FROM test WHERE a1 = ? AND a2 = ?'; $params = array('one', 'two'); try { $log->startQuery($sql, $params); $this->fail(); } catch (\Exception $e) { $this->assertEquals('Failed to write to stream', $e->getMessage()); } }