Пример #1
0
 /**
  * @covers Openbuildings\Kohana\Database_Query::parameters
  * @covers Openbuildings\Kohana\Database_Query::bind
  * @covers Openbuildings\Kohana\Database_Query::compile
  * @covers Openbuildings\Kohana\Database_Query::param
  */
 public function test_parameters()
 {
     $query = new Database_Query(Database::SELECT, 'SELECT * FROM table1 WHERE name = :param1 AND price > :param2 AND name IS NOT :param3');
     $param2 = 20;
     $query->parameters(array(':param1' => 'test'));
     $query->param(':param3', NULL);
     $query->bind(':param2', $param2);
     $param2 = 10;
     $expected = "SELECT * FROM table1 WHERE name = 'test' AND price > 10 AND name IS NOT NULL";
     $result = $query->compile();
     $this->assertEquals($expected, $result);
 }
Пример #2
0
 /**
  * @covers Openbuildings\Kohana\Database_MySQL_Result::seek
  * @covers Openbuildings\Kohana\Database_MySQL_Result::__construct
  * @covers Openbuildings\Kohana\Database_MySQL_Result::__destruct
  * @covers Openbuildings\Kohana\Database_MySQL_Result::current
  */
 public function test_ArrayAccess()
 {
     $expected = array('id' => 1, 'name' => 'test1', 'description' => 'test test3', 'price' => 0.22);
     $query = new Database_Query(Database::SELECT, 'SELECT * FROM table1');
     $result = $query->execute();
     $this->assertTrue($result->seek(1));
     $result->prev();
     $current = $result->current();
     $this->assertEquals(1, $current['id']);
     $this->assertFalse($result->seek(3));
     $this->assertNotNull($result->current());
     $query = new Database_Query(Database::SELECT, 'SELECT * FROM table1');
     $result = $query->as_object()->execute();
     $this->assertEquals((object) $expected, $result->current());
     $query = new Database_Query(Database::SELECT, 'SELECT * FROM table1');
     $result = $query->as_object('Test_Mysql_Result_Object2')->execute();
     $this->assertEquals($expected['name'], $result->current()->name);
     $this->assertEquals($expected['description'], $result->current()->description);
 }
Пример #3
0
 /**
  * @covers Openbuildings\Kohana\Database_Result::as_array
  */
 public function test_as_array_object()
 {
     $query = new Database_Query(Database::SELECT, 'SELECT * FROM table1');
     $result = $query->as_object()->execute();
     $array = $result->as_array();
     $expected = array((object) array('id' => 1, 'name' => 'test1', 'description' => 'test test3', 'price' => 0.22), (object) array('id' => 2, 'name' => 'test2', 'description' => 'test test4', 'price' => 231.99));
     $this->assertEquals($expected, $array);
     $array = $result->as_array('name');
     $expected = array('test1' => (object) array('id' => 1, 'name' => 'test1', 'description' => 'test test3', 'price' => 0.22), 'test2' => (object) array('id' => 2, 'name' => 'test2', 'description' => 'test test4', 'price' => 231.99));
     $this->assertEquals($expected, $array);
     $array = $result->as_array(NULL, 'description');
     $expected = array('test test3', 'test test4');
     $this->assertEquals($expected, $array);
     $array = $result->as_array('name', 'description');
     $expected = array('test1' => 'test test3', 'test2' => 'test test4');
     $this->assertEquals($expected, $array);
 }