| [ Index ] |
PHP Cross Reference of Limb3 |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * Limb PHP Framework 4 * 5 * @link http://limb-project.com 6 * @copyright Copyright © 2004-2007 BIT(http://bit-creative.com) 7 * @license LGPL http://www.gnu.org/copyleft/lesser.html 8 */ 9 lmb_require('limb/active_record/src/lmbActiveRecord.class.php'); 10 lmb_require('limb/dbal/src/lmbSimpleDb.class.php'); 11 12 class TestAutoTimesObject extends lmbActiveRecord 13 { 14 protected $_db_table_name = 'test_auto_times_object'; 15 } 16 17 class lmbARAutoTimesTest extends UnitTestCase 18 { 19 var $conn; 20 var $db; 21 22 function setUp() 23 { 24 $toolkit = lmbToolkit :: save(); 25 $this->conn = $toolkit->getDefaultDbConnection(); 26 $this->db = new lmbSimpleDb($this->conn); 27 28 $this->_cleanUp(); 29 } 30 31 function tearDown() 32 { 33 $this->_cleanUp(); 34 35 lmbToolkit :: restore(); 36 } 37 38 function _cleanUp() 39 { 40 $this->db->delete('test_auto_times_object'); 41 } 42 43 function testSetTimesAutomaticallyOnCreate() 44 { 45 $time = time(); 46 $object = new TestAutoTimesObject(); 47 $object->setContent('whatever'); 48 49 $id = $object->save(); 50 51 $object2 = new TestAutoTimesObject($id); 52 $this->assertTrue($object2->getUpdateTime() >= $time); 53 $this->assertTrue($object2->getCreateTime() >= $time); 54 55 $this->assertEqual($object->getUpdateTime(), $object2->getUpdateTime()); 56 $this->assertEqual($object->getCreateTime(), $object2->getCreateTime()); 57 } 58 59 function testSetTimesAutomaticallyOnUpdate() 60 { 61 $time = time(); 62 $object = new TestAutoTimesObject(); 63 $object->setContent('whatever'); 64 65 $object->save(); 66 $ctime1 = $object->getCreateTime(); 67 $utime1 = $object->getUpdateTime(); 68 69 sleep(1); 70 71 $object->setContent('whatever2');//without this object is considered to be not dirty 72 $object->save(); 73 $ctime2 = $object->getCreateTime(); 74 $utime2 = $object->getUpdateTime(); 75 76 $this->assertTrue($ctime1 >= $time); 77 $this->assertTrue($utime1 >= $time); 78 $this->assertEqual($ctime1, $ctime2); 79 $this->assertTrue($utime2 > $utime1); 80 81 $object2 = new TestAutoTimesObject($object->getId()); 82 $this->assertEqual($object2->getCreateTime(), $ctime1); 83 $this->assertEqual($object2->getUpdateTime(), $utime2); 84 } 85 } 86 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sat Nov 22 03:48:54 2008 | Cross-referenced by PHPXref 0.7 |