Author: dr
Date: Tue Jan 8 13:34:53 2008
New Revision: 7102
Log:
- Added test case for issue #10777.
Added:
trunk/Database/tests/sqlabstraction/files/
trunk/Database/tests/sqlabstraction/files/bug10777.dba
Modified:
trunk/Database/tests/sqlabstraction/query_update_test.php
Added: trunk/Database/tests/sqlabstraction/files/bug10777.dba
==============================================================================
--- trunk/Database/tests/sqlabstraction/files/bug10777.dba (added)
+++ trunk/Database/tests/sqlabstraction/files/bug10777.dba [iso-8859-1] Tue Jan
8 13:34:53 2008
@@ -1,0 +1,26 @@
+<?php return array (
+ 0 =>
+ array (
+ 'bug10777' =>
+ ezcDbSchemaTable::__set_state(array(
+ 'fields' =>
+ array (
+ 'bar' =>
+ ezcDbSchemaField::__set_state(array(
+ 'type' => 'boolean',
+ 'length' => 0,
+ 'notNull' => false,
+ 'default' => NULL,
+ 'autoIncrement' => false,
+ 'unsigned' => false,
+ )),
+ ),
+ 'indexes' =>
+ array (
+ ),
+ )),
+ ),
+ 1 =>
+ array (
+ ),
+); ?>
Modified: trunk/Database/tests/sqlabstraction/query_update_test.php
==============================================================================
--- trunk/Database/tests/sqlabstraction/query_update_test.php [iso-8859-1]
(original)
+++ trunk/Database/tests/sqlabstraction/query_update_test.php [iso-8859-1] Tue
Jan 8 13:34:53 2008
@@ -199,6 +199,77 @@
$this->assertEquals( 70, (int)$result[1][3] );
}
+ // test for bug 10777
+ function testUpdateWithFalseTest()
+ {
+ // create the database
+ $db = ezcDbInstance::get();
+ // open schema
+ $schema = ezcDbSchema::createFromFile( 'array', dirname( __FILE__ ) .
'/files/bug10777.dba' );
+ $schema->writeToDb( $db );
+
+ // insert data
+ $q = $db->createInsertQuery();
+ $s = $q->insertInto( 'bug10777' )
+ ->set( 'bar', $q->bindValue( false, null, PDO::PARAM_BOOL ) )
+ ->prepare();
+ $s->execute();
+ $q = $db->createInsertQuery();
+ $s = $q->insertInto( 'bug10777' )
+ ->set( 'bar', $q->bindValue( true ) )
+ ->prepare();
+ $s->execute();
+
+ // first test: select with where being false.
+ $q = $db->createSelectQuery();
+ $s = $q->select( 'bar' )
+ ->from( 'bug10777' )
+ ->where( $q->expr->eq( 'bar', $q->bindValue( false, null,
PDO::PARAM_BOOL ) ) )
+ ->prepare();
+ $s->execute();
+ $s->bindColumn( 1, $returnValue, PDO::PARAM_BOOL );
+ $s->fetch( PDO::FETCH_BOUND );
+ self::assertEquals( false, $returnValue );
+
+ // second test: update with set to true
+ $q = $db->createUpdateQuery();
+ $s = $q->update( 'bug10777' )
+ ->set( 'bar', $q->bindValue( true, null, PDO::PARAM_BOOL ) )
+ ->prepare();
+ $s->execute();
+
+ $q = $db->createSelectQuery();
+ $s = $q->select( 'bar' )
+ ->from( 'bug10777' )
+ ->prepare();
+ $s->execute();
+ $s->bindColumn( 1, $returnValue, PDO::PARAM_BOOL );
+
+ $s->fetch( PDO::FETCH_BOUND );
+ self::assertEquals( true, $returnValue );
+ $s->fetch( PDO::FETCH_BOUND );
+ self::assertEquals( true, $returnValue );
+
+ // third test: update with set to false
+ $q = $db->createUpdateQuery();
+ $s = $q->update( 'bug10777' )
+ ->set( 'bar', $q->bindValue( false, null, PDO::PARAM_BOOL ) )
+ ->prepare();
+ $s->execute();
+
+ $q = $db->createSelectQuery();
+ $s = $q->select( 'bar' )
+ ->from( 'bug10777' )
+ ->prepare();
+ $s->execute();
+ $s->bindColumn( 1, $returnValue, PDO::PARAM_BOOL );
+
+ $s->fetch( PDO::FETCH_BOUND );
+ self::assertEquals( false, $returnValue );
+ $s->fetch( PDO::FETCH_BOUND );
+ self::assertEquals( false, $returnValue );
+ }
+
public static function suite()
{
return new PHPUnit_Framework_TestSuite( 'ezcQueryUpdateTest' );
--
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components