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
82da4622
Commit
82da4622
authored
May 24, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
3d4bcd40
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
91 additions
and
60 deletions
+91
-60
ReferenceModelTestCase.php
tests/Query/ReferenceModelTestCase.php
+91
-60
No files found.
tests/Query/ReferenceModelTestCase.php
View file @
82da4622
<?php
/*
* $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_Query_ReferenceModel_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_Query_ReferenceModel_TestCase
extends
Doctrine_UnitTestCase
{
public
function
prepareTables
()
{
$this
->
tables
=
array
();
...
...
@@ -18,26 +49,26 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
$category
=
new
Forum_Category
();
$category
->
name
=
"Root"
;
$category
->
Subcategory
[
0
]
->
name
=
"Sub 1"
;
$category
->
Subcategory
[
1
]
->
name
=
"Sub 2"
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
=
"Sub 1 Sub 1"
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
=
"Sub 1 Sub 2"
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
=
"Sub 2 Sub 1"
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
=
"Sub 2 Sub 2"
;
$category
->
name
=
'Root'
;
$category
->
Subcategory
[
0
]
->
name
=
'Sub 1'
;
$category
->
Subcategory
[
1
]
->
name
=
'Sub 2'
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
=
'Sub 1 Sub 1'
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
=
'Sub 1 Sub 2'
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
=
'Sub 2 Sub 1'
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
=
'Sub 2 Sub 2'
;
$this
->
connection
->
flush
();
$this
->
connection
->
clear
();
$category
=
$category
->
getTable
()
->
find
(
$category
->
id
);
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$category
->
name
,
'Root'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
connection
->
clear
();
}
...
...
@@ -45,20 +76,20 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
public
function
testSelfReferencingWithNestedOrderBy
()
{
$query
=
new
Doctrine_Query
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
);
$query
->
orderby
(
"Forum_Category.id ASC, Forum_Category.Subcategory.name DESC"
);
$query
->
from
(
'Forum_Category.Subcategory.Subcategory'
);
$query
->
orderby
(
'Forum_Category.id ASC, Forum_Category.Subcategory.name DESC'
);
$coll
=
$query
->
execute
();
$category
=
$coll
[
0
];
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$category
->
name
,
'Root'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
connection
->
clear
();
}
...
...
@@ -67,23 +98,23 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
$query
=
new
Doctrine_Query
();
$category
=
new
Forum_Category
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
);
$query
->
from
(
'Forum_Category.Subcategory.Subcategory'
);
$coll
=
$query
->
execute
();
$category
=
$coll
[
0
];
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$category
->
name
,
'Root'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
connection
->
clear
();
...
...
@@ -96,25 +127,25 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$coll
->
count
(),
4
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$coll
[
2
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$coll
[
3
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$coll
[
2
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$coll
[
3
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
}
public
function
testSelfReferencingWithNestingAndMultipleConditions
()
{
...
...
@@ -127,20 +158,20 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$coll
->
count
(),
2
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
0
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
1
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
'Root'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
...
...
@@ -148,23 +179,23 @@ class Doctrine_Query_ReferenceModel_TestCase extends Doctrine_UnitTestCase {
}
public
function
testSelfReferencingWithIsNull
()
{
$query
=
new
Doctrine_Query
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
)
->
where
(
"Forum_Category.parent_category_id IS NULL"
);
$query
->
from
(
'Forum_Category.Subcategory.Subcategory'
)
->
where
(
'Forum_Category.parent_category_id IS NULL'
);
$coll
=
$query
->
execute
();
$this
->
assertEqual
(
$coll
->
count
(),
1
);
$count
=
count
(
$this
->
dbh
);
$category
=
$coll
[
0
];
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$category
->
name
,
'Root'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
'Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
'Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
'Sub 1 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
'Sub 1 Sub 2'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
'Sub 2 Sub 1'
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
'Sub 2 Sub 2'
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
}
...
...
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