1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<?php
/**
* Copyright 2007 Maintainable Software, LLC
* Copyright 2008-2014 Horde LLC (http://www.horde.org/)
*
* @author Mike Naberezny <mike@maintainable.com>
* @author Derek DeVries <derek@maintainable.com>
* @author Chuck Hagenbuch <chuck@horde.org>
* @license http://www.horde.org/licenses/bsd
* @category Horde
* @package Db
* @subpackage UnitTests
*/
/**
* @author Mike Naberezny <mike@maintainable.com>
* @author Derek DeVries <derek@maintainable.com>
* @author Chuck Hagenbuch <chuck@horde.org>
* @license http://www.horde.org/licenses/bsd
* @group horde_db
* @category Horde
* @package Db
* @subpackage UnitTests
*/
class Horde_Db_Adapter_Mysql_ColumnDefinition extends Horde_Test_Case
{
public $conn;
public function testConstruct()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string'
);
$this->assertEquals('col_name', $col->getName());
$this->assertEquals('string', $col->getType());
}
public function testToSql()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string'
);
$this->assertEquals('`col_name` varchar(255)', $col->toSql());
}
public function testToSqlLimit()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string', 40
);
$this->assertEquals('`col_name` varchar(40)', $col->toSql());
// set attribute instead
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string'
);
$col->setLimit(40);
$this->assertEquals('`col_name` varchar(40)', $col->toSql());
}
public function testToSqlPrecisionScale()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'decimal', null, 5, 2
);
$this->assertEquals('`col_name` decimal(5, 2)', $col->toSql());
// set attribute instead
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'decimal'
);
$col->setPrecision(5);
$col->setScale(2);
$this->assertEquals('`col_name` decimal(5, 2)', $col->toSql());
}
public function testToSqlUnsigned()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'integer', null, null, null, true
);
$this->assertEquals('`col_name` int(10) UNSIGNED', $col->toSql());
// set attribute instead
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'integer'
);
$col->setUnsigned(true);
$this->assertEquals('`col_name` int(10) UNSIGNED', $col->toSql());
}
public function testToSqlNotNull()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string', null, null, null, null, null, false
);
$this->assertEquals('`col_name` varchar(255) NOT NULL', $col->toSql());
// set attribute instead
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string'
);
$col->setNull(false);
$this->assertEquals('`col_name` varchar(255) NOT NULL', $col->toSql());
}
public function testToSqlDefault()
{
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string', null, null, null, null, 'test'
);
$this->assertEquals("`col_name` varchar(255) DEFAULT 'test'", $col->toSql());
// set attribute instead
$col = new Horde_Db_Adapter_Base_ColumnDefinition(
$this->conn, 'col_name', 'string'
);
$col->setDefault('test');
$this->assertEquals("`col_name` varchar(255) DEFAULT 'test'", $col->toSql());
}
}
|