<?php
 
 
class Db_SqliteTest extends UnitTestCase {
 
    protected $filename;
 
    
 
    function setUp() {
 
        $this->filename = dirname(__FILE__) . '/sqlite2.db';
 
#echo "filename={$this->filename}<br/>";
 
        if (file_exists($this->filename)) {
 
            unlink($this->filename);
 
        }
 
    }
 
    
 
    function TearDown() {
 
        if (file_exists($this->filename)) {
 
            unlink($this->filename);
 
        }
 
    }
 
    
 
    function testDb_SqLiteNoFilename() {
 
        $Db_Sqlite = new A_Db_Sqlite();
 
        
 
        $this->assertFalse($Db_Sqlite->isError());
 
        $this->assertTrue($Db_Sqlite->getErrorMsg() == '');
 
        
 
        $Db_Sqlite->connect();
 
        $this->assertTrue($Db_Sqlite->isError());
 
        $this->assertFalse($Db_Sqlite->getErrorMsg() == '');
 
        $Db_Sqlite->close();
 
    }
 
    
 
    function testDb_SqLiteFilename() {
 
        $Db_Sqlite = new A_Db_Sqlite(array('filename'=>$this->filename));
 
        $Db_Sqlite->connect();
 
        
 
        $this->assertFalse($Db_Sqlite->isError());
 
        $this->assertTrue($Db_Sqlite->getErrorMsg() == '');
 
        $Db_Sqlite->close();
 
    }
 
    
 
    function testDb_SqLiteInsertUpdateSelect() {
 
        $Db_Sqlite = new A_Db_Sqlite(array('filename'=>$this->filename));
 
        $Db_Sqlite->connect();
 
        
 
        $test_rows = array(
 
            0 => array(
 
                ':id' => 10,
 
                ':name' => 'Foo',
 
                ),
 
            1 => array(
 
                ':id' => 20,
 
                ':name' => 'Bar',
 
                ),
 
            );
 
        $sql = "CREATE TABLE test1 (id INT, name VARCHAR(100))";
 
        $Db_Sqlite->query($sql);
 
        $this->assertFalse($Db_Sqlite->isError());
 
        $this->assertTrue($Db_Sqlite->getErrorMsg() == '');
 
        
 
        foreach ($test_rows as $row) {
 
            $result = $Db_Sqlite->query("INSERT INTO test1 (id, name) VALUES (:id, ':name')", $row);
 
            $this->assertFalse($Db_Sqlite->isError());
 
            $this->assertTrue($Db_Sqlite->getErrorMsg() == '');
 
        }
 
        $result = $Db_Sqlite->query("SELECT * FROM test1");
 
#dump($result, 'RESULT: ', 1);
 
        $this->assertFalse($Db_Sqlite->isError());
 
        $this->assertTrue($Db_Sqlite->getErrorMsg() == '');
 
 
        $rows = $result->fetchAll();
 
#dump($rows, 'ROWS: ', 1);
 
        foreach ($rows as $n => $row) {
 
            $this->assertTrue($test_rows[$n][':id'] == $row['id']);
 
            $this->assertTrue($test_rows[$n][':name'] == $row['name']);
 
        }
 
        
 
#dump($Db_Sqlite->getSql(), 'SQL HISTORY: ', 1);
 
        $Db_Sqlite->close();
 
    }
 
    
 
}
 
 
 |