Author: dr
Date: Wed Aug 15 10:52:23 2007
New Revision: 5918
Log:
- Fixed an issue with empty lists of nodes to which to fetch data for.
Modified:
trunk/Tree/tests/tree_node_list_iterator.php
trunk/TreeDatabaseTiein/src/stores/db_external.php
trunk/TreeDatabaseTiein/tests/db_tree.php
Modified: trunk/Tree/tests/tree_node_list_iterator.php
==============================================================================
--- trunk/Tree/tests/tree_node_list_iterator.php [iso-8859-1] (original)
+++ trunk/Tree/tests/tree_node_list_iterator.php [iso-8859-1] Wed Aug 15
10:52:23 2007
@@ -24,6 +24,16 @@
$list = new ezcTreeNodeList;
foreach ( new ezcTreeNodeListIterator( $this->tree, $list ) as $key =>
$node )
+ {
+ self::fail( "The list is not empty." );
+ }
+ }
+
+ public function testEmptyListPreFetch()
+ {
+ $list = new ezcTreeNodeList;
+
+ foreach ( new ezcTreeNodeListIterator( $this->tree, $list, true ) as
$key => $node )
{
self::fail( "The list is not empty." );
}
Modified: trunk/TreeDatabaseTiein/src/stores/db_external.php
==============================================================================
--- trunk/TreeDatabaseTiein/src/stores/db_external.php [iso-8859-1] (original)
+++ trunk/TreeDatabaseTiein/src/stores/db_external.php [iso-8859-1] Wed Aug 15
10:52:23 2007
@@ -144,7 +144,7 @@
$id = $node->id;
$q->select( '*' )
->from( $db->quoteIdentifier( $this->table ) )
- ->where( $q->expr->eq( $db->quoteIdentifier( $this->idField ), $id )
);
+ ->where( $q->expr->eq( $db->quoteIdentifier( $this->idField ),
$q->bindValue( $id ) ) );
$s = $q->prepare();
$s->execute();
@@ -173,11 +173,14 @@
$nodeIdsToFetch[] = $node->id;
}
}
+ if ( count( $nodeIdsToFetch ) === 0 )
+ {
+ return;
+ }
$db = $this->dbHandler;
$q = $db->createSelectQuery();
- $id = $node->id;
$q->select( '*' )
->from( $db->quoteIdentifier( $this->table ) )
->where( $q->expr->in( $db->quoteIdentifier( $this->idField ),
$nodeIdsToFetch ) );
Modified: trunk/TreeDatabaseTiein/tests/db_tree.php
==============================================================================
--- trunk/TreeDatabaseTiein/tests/db_tree.php [iso-8859-1] (original)
+++ trunk/TreeDatabaseTiein/tests/db_tree.php [iso-8859-1] Wed Aug 15 10:52:23
2007
@@ -253,6 +253,17 @@
$haakon = $tree->fetchNodeById( 2 );
self::assertEquals( array( 'name' => 'Haakon', 'born' => '1983' ),
$haakon->data );
}
+
+ public function testNodeListIteratorEmptyList()
+ {
+ $tree = $this->setUpEmptyTestTree();
+ $list = new ezcTreeNodeList;
+
+ foreach ( new ezcTreeNodeListIterator( $tree, $list, true ) as $key =>
$node )
+ {
+ self::fail( "The list is not empty." );
+ }
+ }
}
?>
--
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components