Put all tests classes in a single namespace
This commit is contained in:
parent
167dfde00f
commit
d2f7514248
@ -2290,7 +2290,7 @@ class SqlWalker implements TreeWalker
|
|||||||
|
|
||||||
$metadata = $this->em->getClassMetadata($parameter);
|
$metadata = $this->em->getClassMetadata($parameter);
|
||||||
|
|
||||||
if (! $metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
|
if ($metadata->getName() !== $discrClass->name && ! $metadata->getReflectionClass()->isSubclassOf($discrClass->name)) {
|
||||||
throw QueryException::instanceOfUnrelatedClass($parameter, $discrClass->name);
|
throw QueryException::instanceOfUnrelatedClass($parameter, $discrClass->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,20 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfAbstractTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfAbstractTest extends OrmFunctionalTestCase
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646Abstract::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646Abstract::class),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,23 +20,23 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
{
|
{
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person p
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646Abstract p
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest\Person';
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646Abstract';
|
||||||
$query = $this->_em->createQuery($dql);
|
$query = $this->_em->createQuery($dql);
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$this->assertCount(1, $result);
|
$this->assertCount(1, $result);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
foreach ($result as $r) {
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
$this->assertInstanceOf(PersonTicket4646Abstract::class, $r);
|
||||||
$this->assertInstanceOf(Employee::class, $r);
|
$this->assertInstanceOf(EmployeeTicket4646Abstract::class, $r);
|
||||||
$this->assertSame('bar', $r->getName());
|
$this->assertSame('bar', $r->getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function loadData()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$employee = new Employee();
|
$employee = new EmployeeTicket4646Abstract();
|
||||||
$employee->setName('bar');
|
$employee->setName('bar');
|
||||||
$employee->setDepartement('qux');
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
@ -46,22 +44,19 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
|
|
||||||
$this->_em->flush($employee);
|
$this->_em->flush($employee);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest {
|
/**
|
||||||
|
|
||||||
/**
|
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_abstract_test_person")
|
* @Table(name="instance_of_abstract_test_person")
|
||||||
* @InheritanceType(value="JOINED")
|
* @InheritanceType(value="JOINED")
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
* @DiscriminatorMap(value={
|
* @DiscriminatorMap(value={
|
||||||
* "employee": Employee::class
|
* "employee": EmployeeTicket4646Abstract::class
|
||||||
* })
|
* })
|
||||||
*/
|
*/
|
||||||
abstract class Person
|
abstract class PersonTicket4646Abstract
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Id()
|
* @Id()
|
||||||
* @GeneratedValue()
|
* @GeneratedValue()
|
||||||
@ -88,14 +83,14 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest {
|
|||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_abstract_test_employee")
|
* @Table(name="instance_of_abstract_test_employee")
|
||||||
*/
|
*/
|
||||||
class Employee extends Person
|
class EmployeeTicket4646Abstract extends PersonTicket4646Abstract
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Column(type="string")
|
* @Column(type="string")
|
||||||
*/
|
*/
|
||||||
@ -110,5 +105,4 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfAbstractTest {
|
|||||||
{
|
{
|
||||||
$this->departement = $departement;
|
$this->departement = $departement;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Engineer;
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfMultiLevelTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfMultiLevelTest extends OrmFunctionalTestCase
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646MultiLevel::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646MultiLevel::class),
|
||||||
$this->_em->getClassMetadata(Engineer::class),
|
$this->_em->getClassMetadata(EngineerTicket4646MultiLevel::class),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,19 +21,19 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
{
|
{
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person p
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel p
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person';
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel';
|
||||||
$query = $this->_em->createQuery($dql);
|
$query = $this->_em->createQuery($dql);
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$this->assertCount(3, $result);
|
$this->assertCount(3, $result);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
foreach ($result as $r) {
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
$this->assertInstanceOf(PersonTicket4646MultiLevel::class, $r);
|
||||||
if ($r instanceof Engineer) {
|
if ($r instanceof EngineerTicket4646MultiLevel) {
|
||||||
$this->assertEquals('foobar', $r->getName());
|
$this->assertEquals('foobar', $r->getName());
|
||||||
$this->assertEquals('doctrine', $r->getSpecialization());
|
$this->assertEquals('doctrine', $r->getSpecialization());
|
||||||
} elseif ($r instanceof Employee) {
|
} elseif ($r instanceof EmployeeTicket4646MultiLevel) {
|
||||||
$this->assertEquals('bar', $r->getName());
|
$this->assertEquals('bar', $r->getName());
|
||||||
$this->assertEquals('qux', $r->getDepartement());
|
$this->assertEquals('qux', $r->getDepartement());
|
||||||
} else {
|
} else {
|
||||||
@ -47,14 +44,14 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
|
|
||||||
private function loadData()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$person = new Person();
|
$person = new PersonTicket4646MultiLevel();
|
||||||
$person->setName('foo');
|
$person->setName('foo');
|
||||||
|
|
||||||
$employee = new Employee();
|
$employee = new EmployeeTicket4646MultiLevel();
|
||||||
$employee->setName('bar');
|
$employee->setName('bar');
|
||||||
$employee->setDepartement('qux');
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
$engineer = new Engineer();
|
$engineer = new EngineerTicket4646MultiLevel();
|
||||||
$engineer->setName('foobar');
|
$engineer->setName('foobar');
|
||||||
$engineer->setDepartement('dep');
|
$engineer->setDepartement('dep');
|
||||||
$engineer->setSpecialization('doctrine');
|
$engineer->setSpecialization('doctrine');
|
||||||
@ -65,23 +62,21 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
|
|
||||||
$this->_em->flush(array($person, $employee, $engineer));
|
$this->_em->flush(array($person, $employee, $engineer));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest {
|
/**
|
||||||
/**
|
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_multi_level_test_person")
|
* @Table(name="instance_of_multi_level_test_person")
|
||||||
* @InheritanceType(value="JOINED")
|
* @InheritanceType(value="JOINED")
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
* @DiscriminatorMap(value={
|
* @DiscriminatorMap(value={
|
||||||
* "person": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Person",
|
* "person": "Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646MultiLevel",
|
||||||
* "employee": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Employee",
|
* "employee": "Doctrine\Tests\ORM\Functional\Ticket\EmployeeTicket4646MultiLevel",
|
||||||
* "engineer": "Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest\Engineer",
|
* "engineer": "Doctrine\Tests\ORM\Functional\Ticket\EngineerTicket4646MultiLevel",
|
||||||
* })
|
* })
|
||||||
*/
|
*/
|
||||||
class Person
|
class PersonTicket4646MultiLevel
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Id()
|
* @Id()
|
||||||
* @GeneratedValue()
|
* @GeneratedValue()
|
||||||
@ -108,14 +103,14 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest {
|
|||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_multi_level_employee")
|
* @Table(name="instance_of_multi_level_employee")
|
||||||
*/
|
*/
|
||||||
class Employee extends Person
|
class EmployeeTicket4646MultiLevel extends PersonTicket4646MultiLevel
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Column(type="string")
|
* @Column(type="string")
|
||||||
*/
|
*/
|
||||||
@ -130,14 +125,14 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest {
|
|||||||
{
|
{
|
||||||
$this->departement = $departement;
|
$this->departement = $departement;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_multi_level_engineer")
|
* @Table(name="instance_of_multi_level_engineer")
|
||||||
*/
|
*/
|
||||||
class Engineer extends Employee
|
class EngineerTicket4646MultiLevel extends EmployeeTicket4646MultiLevel
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Column(type="string")
|
* @Column(type="string")
|
||||||
*/
|
*/
|
||||||
@ -152,5 +147,4 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfMultiLevelTest {
|
|||||||
{
|
{
|
||||||
$this->specialization = $specialization;
|
$this->specialization = $specialization;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,18 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\Ticket {
|
namespace Doctrine\Tests\ORM\Functional\Ticket;
|
||||||
|
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfTest\Employee;
|
use Doctrine\Tests\OrmFunctionalTestCase;
|
||||||
use Doctrine\Tests\ORM\Functional\InstanceOfTest\Person;
|
|
||||||
use Doctrine\Tests\OrmFunctionalTestCase;
|
|
||||||
|
|
||||||
class Ticket4646InstanceOfTest extends OrmFunctionalTestCase
|
class Ticket4646InstanceOfTest extends OrmFunctionalTestCase
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->_schemaTool->createSchema([
|
$this->_schemaTool->createSchema([
|
||||||
$this->_em->getClassMetadata(Person::class),
|
$this->_em->getClassMetadata(PersonTicket4646::class),
|
||||||
$this->_em->getClassMetadata(Employee::class),
|
$this->_em->getClassMetadata(EmployeeTicket4646::class),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,16 +20,16 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
{
|
{
|
||||||
$this->loadData();
|
$this->loadData();
|
||||||
|
|
||||||
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\InstanceOfTest\Person p
|
$dql = 'SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646 p
|
||||||
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\InstanceOfTest\Person';
|
WHERE p INSTANCE OF Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646';
|
||||||
$query = $this->_em->createQuery($dql);
|
$query = $this->_em->createQuery($dql);
|
||||||
$result = $query->getResult();
|
$result = $query->getResult();
|
||||||
|
|
||||||
$this->assertCount(2, $result);
|
$this->assertCount(2, $result);
|
||||||
|
|
||||||
foreach ($result as $r) {
|
foreach ($result as $r) {
|
||||||
$this->assertInstanceOf(Person::class, $r);
|
$this->assertInstanceOf(PersonTicket4646::class, $r);
|
||||||
if ($r instanceof Employee) {
|
if ($r instanceof EmployeeTicket4646) {
|
||||||
$this->assertEquals('bar', $r->getName());
|
$this->assertEquals('bar', $r->getName());
|
||||||
} else {
|
} else {
|
||||||
$this->assertEquals('foo', $r->getName());
|
$this->assertEquals('foo', $r->getName());
|
||||||
@ -41,10 +39,10 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
|
|
||||||
private function loadData()
|
private function loadData()
|
||||||
{
|
{
|
||||||
$person = new Person();
|
$person = new PersonTicket4646();
|
||||||
$person->setName('foo');
|
$person->setName('foo');
|
||||||
|
|
||||||
$employee = new Employee();
|
$employee = new EmployeeTicket4646();
|
||||||
$employee->setName('bar');
|
$employee->setName('bar');
|
||||||
$employee->setDepartement('qux');
|
$employee->setDepartement('qux');
|
||||||
|
|
||||||
@ -53,22 +51,20 @@ namespace Doctrine\Tests\ORM\Functional\Ticket {
|
|||||||
|
|
||||||
$this->_em->flush(array($person, $employee));
|
$this->_em->flush(array($person, $employee));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Doctrine\Tests\ORM\Functional\InstanceOfTest {
|
/**
|
||||||
/**
|
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_test_person")
|
* @Table(name="instance_of_test_person")
|
||||||
* @InheritanceType(value="JOINED")
|
* @InheritanceType(value="JOINED")
|
||||||
* @DiscriminatorColumn(name="kind", type="string")
|
* @DiscriminatorColumn(name="kind", type="string")
|
||||||
* @DiscriminatorMap(value={
|
* @DiscriminatorMap(value={
|
||||||
* "person": "Doctrine\Tests\ORM\Functional\InstanceOfTest\Person",
|
* "person": "Doctrine\Tests\ORM\Functional\Ticket\PersonTicket4646",
|
||||||
* "employee": "Doctrine\Tests\ORM\Functional\InstanceOfTest\Employee"
|
* "employee": "Doctrine\Tests\ORM\Functional\Ticket\EmployeeTicket4646"
|
||||||
* })
|
* })
|
||||||
*/
|
*/
|
||||||
class Person
|
class PersonTicket4646
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Id()
|
* @Id()
|
||||||
* @GeneratedValue()
|
* @GeneratedValue()
|
||||||
@ -95,14 +91,14 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfTest {
|
|||||||
{
|
{
|
||||||
$this->name = $name;
|
$this->name = $name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Entity()
|
* @Entity()
|
||||||
* @Table(name="instance_of_test_employee")
|
* @Table(name="instance_of_test_employee")
|
||||||
*/
|
*/
|
||||||
class Employee extends Person
|
class EmployeeTicket4646 extends PersonTicket4646
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @Column(type="string")
|
* @Column(type="string")
|
||||||
*/
|
*/
|
||||||
@ -117,5 +113,4 @@ namespace Doctrine\Tests\ORM\Functional\InstanceOfTest {
|
|||||||
{
|
{
|
||||||
$this->departement = $departement;
|
$this->departement = $departement;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user