Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
2683210c
Commit
2683210c
authored
Jun 14, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
bb0f0e32
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
68 deletions
+51
-68
RelationTestCase.php
tests/RelationTestCase.php
+51
-68
No files found.
tests/RelationTestCase.php
View file @
2683210c
<?php
class
RelationTest
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'name'
,
'string'
,
200
);
$this
->
hasColumn
(
'child_id'
,
'integer'
);
}
public
function
setUp
()
{
$this
->
ownsMany
(
'OwnsOneToManyWithAlias as AliasO2M'
,
'AliasO2M.component_id'
);
}
}
class
RelationTestChild
extends
RelationTest
{
public
function
setUp
()
{
$this
->
hasOne
(
'RelationTest as Parent'
,
'RelationTestChild.child_id'
);
$this
->
ownsMany
(
'RelationTestChild as Children'
,
'RelationTestChild.child_id'
);
}
}
class
HasOneToOne
extends
Doctrine_Record
{
}
class
HasOneToOneWithAlias
extends
Doctrine_Record
{
}
class
HasManyWithAlias
extends
Doctrine_Record
{
}
class
OwnsOneToManyWithAlias
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'component_id'
,
'integer'
);
}
public
function
setUp
()
{
}
}
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Relation_TestCase
*
* @package Doctrine
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
class
Doctrine_Relation_TestCase
extends
Doctrine_UnitTestCase
{
public
function
prepareData
()
{
}
public
function
prepareTables
()
{}
public
function
setUp
()
{
if
(
!
$this
->
init
)
$this
->
init
();
if
(
isset
(
$this
->
objTable
))
{
$this
->
objTable
->
clear
();
}
$this
->
init
=
true
;
{
$this
->
tables
=
array
(
'RelationTest'
,
'RelationTestChild'
,
'Group'
,
'Groupuser'
,
'User'
,
'Email'
,
'Account'
,
'Phonenumber'
);
}
public
function
testOneToManyTreeRelationWithConcreteInheritance
()
{
$component
=
new
RelationTestChild
();
...
...
@@ -86,21 +68,6 @@ class Doctrine_Relation_TestCase extends Doctrine_UnitTestCase {
}
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_LocalKey
);
}
public
function
testOneToManyOwnsRelationWithAliases
()
{
$component
=
new
RelationTest
();
try
{
$rel
=
$component
->
getTable
()
->
getRelation
(
'AliasO2M'
);
$this
->
pass
();
}
catch
(
Doctrine_Exception
$e
)
{
$this
->
fail
();
}
$this
->
assertTrue
(
$rel
instanceof
Doctrine_Relation_ForeignKey
);
}
public
function
testManyToManyRelation
()
{
$this
->
manager
->
setAttribute
(
Doctrine
::
ATTR_CREATE_TABLES
,
false
);
$user
=
new
User
();
...
...
@@ -109,10 +76,10 @@ class Doctrine_Relation_TestCase extends Doctrine_UnitTestCase {
try
{
$user
->
Groupuser
;
$this
->
pass
();
}
catch
(
Doctrine_
Table_
Exception
$e
)
{
}
catch
(
Doctrine_Exception
$e
)
{
$this
->
fail
();
}
$this
->
assertTrue
(
$user
->
getTable
()
->
getRelation
(
'Groupuser'
)
instanceof
Doctrine_Relation_ForeignKey
);
//
$this->assertTrue($user->getTable()->getRelation('Groupuser') instanceof Doctrine_Relation_ForeignKey);
$this
->
assertTrue
(
$user
->
getTable
()
->
getRelation
(
'Group'
)
instanceof
Doctrine_Relation_Association
);
}
public
function
testOneToOneLocalKeyRelation
()
{
...
...
@@ -131,5 +98,21 @@ class Doctrine_Relation_TestCase extends Doctrine_UnitTestCase {
$this
->
assertTrue
(
$user
->
getTable
()
->
getRelation
(
'Phonenumber'
)
instanceof
Doctrine_Relation_ForeignKey
);
$this
->
manager
->
setAttribute
(
Doctrine
::
ATTR_CREATE_TABLES
,
true
);
}
}
class
RelationTest
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'name'
,
'string'
,
200
);
$this
->
hasColumn
(
'child_id'
,
'integer'
);
}
}
class
RelationTestChild
extends
RelationTest
{
public
function
setUp
()
{
$this
->
hasOne
(
'RelationTest as Parent'
,
'RelationTestChild.child_id'
);
$this
->
ownsMany
(
'RelationTestChild as Children'
,
'RelationTestChild.child_id'
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment