From b3019ccae0eb1cabf5d5bce6bc586da57129aad9 Mon Sep 17 00:00:00 2001 From: "Jonathan.Wage" Date: Thu, 28 Jun 2007 19:02:15 +0000 Subject: [PATCH] initial entry --- tests/Record/ZeroValuesTestCase.php | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 tests/Record/ZeroValuesTestCase.php diff --git a/tests/Record/ZeroValuesTestCase.php b/tests/Record/ZeroValuesTestCase.php new file mode 100644 index 000000000..16dab9f39 --- /dev/null +++ b/tests/Record/ZeroValuesTestCase.php @@ -0,0 +1,80 @@ +. + */ + +/** + * Doctrine_Record_State_TestCase + * + * @package Doctrine + * @author Konsta Vesterinen + * @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_Record_ZeroValues_TestCase extends Doctrine_UnitTestCase { + public function prepareTables() { + $this->tables[] = 'MyUser2'; + + parent::prepareTables(); + } + + public function prepareData() + { + $user = new MyUser2(); + $user['is_super_admin'] = 0; // set it to 0 and it should be 0 when we pull it back from the database + $user['username'] = 'jwage'; + $user['salt'] = 'test'; + $user['password'] = 'test'; + $user->save(); + } + + public function testZeroValuesMaintained() { + + $q = new Doctrine_Query(); + $q->from('MyUser2'); + $users = $q->execute(); + + $this->assertIdentical($users[0]['is_super_admin'], 0); + } +} + +class MyUser2 extends Doctrine_Record +{ + public function setTableDefinition() + { + $this->setTableName('my_user2'); + + $this->hasColumn('id', 'integer', 4, array ( 'primary' => true, 'autoincrement' => true,)); + $this->hasColumn('username', 'string', 128, array ( 'notnull' => true,)); + $this->hasColumn('algorithm', 'string', 128, array ( 'default' => 'sha1', 'notnull' => true,)); + $this->hasColumn('salt', 'string', 128, array ( 'notnull' => true,)); + $this->hasColumn('password', 'string', 128, array ( 'notnull' => true,)); + $this->hasColumn('created_at', 'timestamp', null, array ()); + $this->hasColumn('last_login', 'timestamp', null, array ()); + $this->hasColumn('is_active', 'boolean', null, array ( 'default' => true, 'notnull' => true,)); + $this->hasColumn('is_super_admin', 'boolean', null, array ( 'default' => false, 'notnull' => true,)); + } + + public function setUp() + { + } +} \ No newline at end of file