1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace Doctrine\Tests\ORM\Functional\Ticket;
- require_once __DIR__ . '/../../../TestInit.php';
- class DDC444Test extends \Doctrine\Tests\OrmFunctionalTestCase
- {
- public function setUp()
- {
- parent::setUp();
- //$this->_em->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger);
- $this->_schemaTool->createSchema(array(
- $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC444User'),
- ));
- }
- public function testExplicitPolicy()
- {
- $classname = __NAMESPACE__ . "\DDC444User";
- $u = new $classname;
- $u->name = "Initial value";
- $this->_em->persist($u);
- $this->_em->flush();
- $this->_em->clear();
- $q = $this->_em->createQuery("SELECT u FROM $classname u");
- $u = $q->getSingleResult();
- $this->assertEquals("Initial value", $u->name);
- $u->name = "Modified value";
- // This should be NOOP as the change hasn't been persisted
- $this->_em->flush();
- $this->_em->clear();
- $u = $this->_em->createQuery("SELECT u FROM $classname u");
- $u = $q->getSingleResult();
- $this->assertEquals("Initial value", $u->name);
- $u->name = "Modified value";
- $this->_em->persist($u);
- // Now we however persisted it, and this should have updated our friend
- $this->_em->flush();
- $q = $this->_em->createQuery("SELECT u FROM $classname u");
- $u = $q->getSingleResult();
- $this->assertEquals("Modified value", $u->name);
- }
- }
- /**
- * @Entity @Table(name="ddc444")
- * @ChangeTrackingPolicy("DEFERRED_EXPLICIT")
- */
- class DDC444User
- {
- /**
- * @Id @Column(name="id", type="integer")
- * @GeneratedValue(strategy="AUTO")
- */
- public $id;
- /**
- * @Column(name="name", type="string")
- */
- public $name;
- }
|