testing) { $this->simulated[] = $sql; return null; } return parent::_execute($sql); } /** * getLastQuery method * * @access public * @return void */ function getLastQuery() { return $this->simulated[count($this->simulated) - 1]; } } /** * Short description for class. * * @package cake.tests * @subpackage cake.tests.cases.libs.model.datasources */ class MysqliTestModel extends Model { /** * name property * * @var string 'MysqlTestModel' * @access public */ var $name = 'MysqliTestModel'; /** * useTable property * * @var bool false * @access public */ var $useTable = false; /** * find method * * @param mixed $conditions * @param mixed $fields * @param mixed $order * @param mixed $recursive * @access public * @return void */ function find($conditions = null, $fields = null, $order = null, $recursive = null) { return $conditions; } /** * findAll method * * @param mixed $conditions * @param mixed $fields * @param mixed $order * @param mixed $recursive * @access public * @return void */ function findAll($conditions = null, $fields = null, $order = null, $recursive = null) { return $conditions; } /** * schema method * * @access public * @return void */ function schema() { return array( 'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'), 'client_id' => array('type' => 'integer', 'null' => '', 'default' => '0', 'length' => '11'), 'name' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), 'login' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'), 'passwd' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), 'addr_1' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), 'addr_2' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '25'), 'zip_code' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'city' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'country' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'phone' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'fax' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'url' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '255'), 'email' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'), 'comments' => array('type' => 'text', 'null' => '1', 'default' => '', 'length' => ''), 'last_login'=> array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => ''), 'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''), 'updated' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null) ); } } /** * The test class for the DboMysqli * * @package cake.tests * @subpackage cake.tests.cases.libs.model.datasources.dbo */ class DboMysqliTest extends CakeTestCase { /** * The Dbo instance to be tested * * @var object * @access public */ var $Db = null; /** * Skip if cannot connect to mysqli * * @access public */ function skip() { $this->_initDb(); $this->skipif($this->db->config['driver'] != 'mysqli', 'MySQLi connection not available'); } /** * Sets up a Dbo class instance for testing * * @access public */ function setUp() { $db = ConnectionManager::getDataSource('test_suite'); $this->db = new DboMysqliTestDb($db->config); $this->model = new MysqliTestModel(); } /** * Sets up a Dbo class instance for testing * * @access public */ function tearDown() { unset($this->db); } /** * testColumn method * * @return void * @access public */ function testColumn() { $result = $this->db->column('varchar(50)'); $expected = 'string'; $this->assertEqual($result, $expected); $result = $this->db->column('text'); $expected = 'text'; $this->assertEqual($result, $expected); $result = $this->db->column('int(11)'); $expected = 'integer'; $this->assertEqual($result, $expected); $result = $this->db->column('int(11) unsigned'); $expected = 'integer'; $this->assertEqual($result, $expected); $result = $this->db->column('tinyint(1)'); $expected = 'boolean'; $this->assertEqual($result, $expected); $result = $this->db->column('boolean'); $expected = 'boolean'; $this->assertEqual($result, $expected); $result = $this->db->column('float'); $expected = 'float'; $this->assertEqual($result, $expected); $result = $this->db->column('float unsigned'); $expected = 'float'; $this->assertEqual($result, $expected); $result = $this->db->column('double unsigned'); $expected = 'float'; $this->assertEqual($result, $expected); $result = $this->db->column('decimal(14,7) unsigned'); $expected = 'float'; $this->assertEqual($result, $expected); } } ?>