PHPUnit_TestCase($name); } function setUp() { require dirname(__FILE__) . '/_config.inc.php'; require_once '../lib/RecordLock.inc.php'; require_once '../lib/Auth_SQL.inc.php'; $this->Auth_SQL =& new Auth_SQL('testauth'); $this->Auth_SQL->setParam(array( 'db_table' => 'test_user_tbl', 'db_primary_key' => 'user_id', 'db_login_table' => 'test_login_tbl', 'login_url' => '/login.php', 'blocking' => true )); // Use fresh user table. $this->Auth_SQL->initDB(true); // Insert test data. DB::query(" INSERT INTO test_user_tbl ( username, userpass, first_name, last_name, email, user_type ) VALUES ( 'testuser', md5('testpass'), 'John', 'Doe', 'john@example.com', 'admin' ) "); $this->Auth_SQL->login('testuser', 'testpass'); $this->RecordLock =& RecordLock::getInstance($this->Auth_SQL); $this->RecordLock->setParam(array('db_table' => 'test_lock_tbl')); // Use fresh lock table. $this->RecordLock->initDB(true); } function tearDown() { unset($this->RecordLock); unset($this->Auth_SQL); DB::query("DROP TABLE IF EXISTS test_user_tbl"); DB::query("DROP TABLE IF EXISTS test_login_tbl"); DB::query("DROP TABLE IF EXISTS test_lock_tbl"); } function test_getinstance() { $result = RecordLock::getinstance($this->Auth_SQL); $this->assertTrue($result && is_a($result, 'RecordLock')); } function test_setparam() { $this->RecordLock->setparam(array('var'=>'val')); } function test_getparam() { $this->RecordLock->getparam('var'); } function test_select() { $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->assertTrue($result); } function test_islocked() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->islocked(); $this->assertTrue($result, 'Lock was not set.'); $this->RecordLock->remove(); $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->islocked(); $this->assertFalse($result, 'Lock was not removed.'); } function test_ismine() { $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->ismine(); $this->assertTrue($result); } function test_set() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->remove(); $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->islocked(); $this->assertTrue($result); } function test_remove() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $this->RecordLock->remove(); $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->islocked(); $this->assertFalse($result); } function test_removeall() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $this->RecordLock->removeall(); $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->islocked(); $this->assertFalse($result); } function test__auto_timeout() { $this->RecordLock->_auto_timeout(); } function test_getid() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1'); $result = $this->RecordLock->getid(); $this->assertTrue('' != $result); $this->assertTrue(is_numeric($result)); } function test_gettitle() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1', 'userlock'); $result = $this->RecordLock->gettitle(); $this->assertEquals('userlock', $result); } function test_geteditor() { $this->RecordLock->select('test_user_tbl', 'user_id', '1'); $this->RecordLock->set('test_user_tbl', 'user_id', '1', 'userlock'); $result = $this->RecordLock->geteditor(); $this->assertEquals('testuser', $result); } function test_getsecondselapsed() { $result = $this->RecordLock->getsecondselapsed(); $this->assertType('integer', $result); } } // Running the test. $suite = new PHPUnit_TestSuite('RecordLockTest'); $result = PHPUnit::run($suite); echo $result->toString(); ?>