Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / orm / tests / Doctrine / Tests / ORM / Functional / Ticket / DDC513Test.php
1 <?php
2 namespace Doctrine\Tests\ORM\Functional\Ticket;
3
4 require_once __DIR__ . '/../../../TestInit.php';
5
6 class DDC513Test extends \Doctrine\Tests\OrmFunctionalTestCase
7 {
8     protected function setUp()
9     {
10         parent::setUp();
11         $this->_schemaTool->createSchema(array(
12             $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC513OfferItem'),
13             $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC513Item'),
14             $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC513Price'),
15         ));
16     }
17
18     public function testIssue()
19     {
20         $q = $this->_em->createQuery("select u from ".__NAMESPACE__."\\DDC513OfferItem u left join u.price p");
21         $this->assertEquals(
22             strtolower('SELECT d0_.id AS id0, d0_.discr AS discr1, d0_.price AS price2 FROM DDC513OfferItem d1_ INNER JOIN DDC513Item d0_ ON d1_.id = d0_.id LEFT JOIN DDC513Price d2_ ON d0_.price = d2_.id'),
23             strtolower($q->getSQL())
24         );
25     }
26 }
27
28 /**
29  * @Entity
30   */
31 class DDC513OfferItem extends DDC513Item
32 {
33 }
34
35 /**
36  * @Entity
37  * @InheritanceType("JOINED")
38  * @DiscriminatorColumn(name="discr", type="string")
39  * @DiscriminatorMap({"item" = "DDC513Item", "offerItem" = "DDC513OfferItem"})
40  */
41 class DDC513Item
42 {
43     /**
44      * @Id
45      * @Column(type="integer")
46      * @GeneratedValue(strategy="AUTO")
47      */
48     public $id;
49
50     /**
51      * @OneToOne(targetEntity="DDC513Price", cascade={"remove","persist"})
52      * @JoinColumn(name="price", referencedColumnName="id")
53      */
54     public $price;
55 }
56
57 /**
58  * @Entity
59  */
60 class DDC513Price {
61     /**
62      * @Id
63      * @Column(type="integer")
64      * @GeneratedValue(strategy="AUTO")
65      */
66     public $id;
67
68     /** @Column(type="string") */
69     public $data;
70 }
71
72
73
74