diff --git a/tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php b/tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php index 9218d35e0ab..7159c80bf39 100644 --- a/tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php +++ b/tests/Doctrine/Tests/DBAL/Functional/ConnectionTest.php @@ -71,6 +71,18 @@ public function testTransactionNestingBehavior() : void self::assertEquals(0, $this->connection->getTransactionNestingLevel()); } } + + public function testTransactionNestingLevelIsResetOnReconnect(): void + { + $this->connection->beginTransaction(); + $this->connection->beginTransaction(); + self::assertEquals(2, $this->connection->getTransactionNestingLevel()); + $this->connection->close(); // connection is lost + $this->connection->beginTransaction(); // should connect, reset nesting level and increase it once + self::assertEquals(1, $this->connection->getTransactionNestingLevel()); + $this->connection->commit(); + self::assertEquals(0, $this->connection->getTransactionNestingLevel()); + } public function testTransactionNestingBehaviorWithSavepoints() : void {