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
fcdcb57f
Commit
fcdcb57f
authored
Sep 21, 2006
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added the missing test case
parent
abc5f59a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
167 additions
and
0 deletions
+167
-0
QueryReferenceModelTestCase.php
tests/QueryReferenceModelTestCase.php
+167
-0
No files found.
tests/QueryReferenceModelTestCase.php
0 → 100644
View file @
fcdcb57f
<?php
class
Doctrine_Query_ReferenceModel_TestCase
extends
Doctrine_UnitTestCase
{
public
function
prepareTables
()
{
$this
->
tables
=
array
();
$this
->
tables
[]
=
"Forum_Category"
;
$this
->
tables
[]
=
"Forum_Entry"
;
$this
->
tables
[]
=
"Forum_Board"
;
$this
->
tables
[]
=
"Forum_Thread"
;
parent
::
prepareTables
();
$this
->
connection
->
clear
();
}
public
function
testInitializeData
()
{
$query
=
new
Doctrine_Query
(
$this
->
connection
);
$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"
;
$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
->
connection
->
clear
();
}
public
function
testSelfReferencingWithNestedOrderBy
()
{
$query
=
new
Doctrine_Query
();
$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
->
connection
->
clear
();
}
public
function
testSelfReferencingWithDoubleNesting
()
{
$query
=
new
Doctrine_Query
();
$category
=
new
Forum_Category
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
);
$coll
=
$query
->
execute
();
$category
=
$coll
[
0
];
$count
=
count
(
$this
->
dbh
);
$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
(
$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
(
$count
,
count
(
$this
->
dbh
));
$this
->
connection
->
clear
();
}
public
function
testSelfReferencingWithNestingAndConditions
()
{
$query
=
new
Doctrine_Query
();
$query
->
from
(
"Forum_Category.Parent.Parent"
)
->
where
(
"Forum_Category.name LIKE 'Sub%Sub%'"
);
$coll
=
$query
->
execute
();
$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
(
$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
(
$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
(
$count
,
count
(
$this
->
dbh
));
}
public
function
testSelfReferencingWithNestingAndMultipleConditions
()
{
$query
=
new
Doctrine_Query
();
$query
->
from
(
"Forum_Category.Parent, Forum_Category.Subcategory"
)
->
where
(
"Forum_Category.name = 'Sub 1' || Forum_Category.name = 'Sub 2'"
);
$coll
=
$query
->
execute
();
$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
(
$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
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
connection
->
clear
();
}
public
function
testSelfReferencingWithIsNull
()
{
$query
=
new
Doctrine_Query
();
$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
(
$count
,
count
(
$this
->
dbh
));
$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
(
$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