MysqlAdapterTest.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. use ActiveRecord\Column;
  3. include 'helpers/config.php';
  4. require_once __DIR__ . '/../lib/adapters/MysqlAdapter.php';
  5. class MysqlAdapterTest extends AdapterTest
  6. {
  7. public function set_up($connection_name=null)
  8. {
  9. parent::set_up('mysql');
  10. }
  11. public function test_enum()
  12. {
  13. $author_columns = $this->conn->columns('authors');
  14. $this->assert_equals('enum',$author_columns['some_enum']->raw_type);
  15. $this->assert_equals(Column::STRING,$author_columns['some_enum']->type);
  16. $this->assert_same(null,$author_columns['some_enum']->length);
  17. }
  18. public function test_set_charset()
  19. {
  20. $connection_string = ActiveRecord\Config::instance()->get_connection($this->connection_name);
  21. $conn = ActiveRecord\Connection::instance($connection_string . '?charset=utf8');
  22. $this->assert_equals('SET NAMES ?',$conn->last_query);
  23. }
  24. public function test_limit_with_null_offset_does_not_contain_offset()
  25. {
  26. $ret = array();
  27. $sql = 'SELECT * FROM authors ORDER BY name ASC';
  28. $this->conn->query_and_fetch($this->conn->limit($sql,null,1),function($row) use (&$ret) { $ret[] = $row; });
  29. $this->assert_true(strpos($this->conn->last_query, 'LIMIT 1') !== false);
  30. }
  31. }
  32. ?>