Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

DDC-2173 - Add Test for new OnFlush or PreFlush behavior and update U…

…PGRADE.md
  • Loading branch information...
commit 512a001e8c8cec368875be1c8a51d672546756a6 1 parent 1e66913
Benjamin Eberlei beberlei authored
8 UPGRADE.md
View
@@ -1,3 +1,11 @@
+# Upgrade to 2.4
+
+## OnFlush and PreFlush event always called
+
+Before 2.4 the preFlush and onFlush events were only called when there were
+actually entities that changed. Now these events are called no matter if there
+are entities in the UoW or changes are found.
+
# Upgrade to 2.3
## EntityManager#find() not calls EntityRepository#find() anymore
34 tests/Doctrine/Tests/ORM/Functional/FlushEventTest.php
View
@@ -48,6 +48,26 @@ public function testPersistNewEntitiesOnPreFlush()
//echo "SECOND FLUSH";
//$this->_em->flush();
}
+
+ /**
+ * @group DDC-2173
+ */
+ public function testPreAndOnFlushCalledAlways()
+ {
+ $listener = new OnFlushCalledListener();
+ $this->_em->getEventManager()->addEventListener(Events::onFlush, $listener);
+ $this->_em->getEventManager()->addEventListener(Events::preFlush, $listener);
+
+ $this->_em->flush();
+
+ $this->assertEquals(1, $listener->preFlush);
+ $this->assertEquals(1, $listener->onFlush);
+
+ $this->_em->flush();
+
+ $this->assertEquals(2, $listener->preFlush);
+ $this->assertEquals(2, $listener->onFlush);
+ }
}
class OnFlushListener
@@ -91,4 +111,18 @@ public function onFlush(OnFlushEventArgs $args)
}
}
+class OnFlushCalledListener
+{
+ public $preFlush = 0;
+ public $onFlush = 0;
+
+ public function preFlush($args)
+ {
+ $this->preFlush++;
+ }
+ public function onFlush($args)
+ {
+ $this->onFlush++;
+ }
+}
Please sign in to comment.
Something went wrong with that request. Please try again.