Пример #1
0
 public function testLimitQuery()
 {
     for ($i = 1; $i <= 10; $i++) {
         $this->createRecord($i);
     }
     $dao = new TipyDAO();
     $result = $dao->limitQuery("select * from records order by id", 0, 3);
     $this->assertTrue(is_a($result, 'mysqli_result'));
     $this->assertEqual($dao->numRows($result), 3);
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_1');
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_2');
     $result = $dao->limitQuery("select * from records order by id", 3, 5);
     $this->assertTrue(is_a($result, 'mysqli_result'));
     $this->assertEqual($dao->numRows($result), 5);
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_4');
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_5');
     // try to limit 10 but with offset which does not allow this
     $result = $dao->limitQuery("select * from records order by id", 8, 10);
     $this->assertTrue(is_a($result, 'mysqli_result'));
     $this->assertEqual($dao->numRows($result), 2);
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_9');
     $row = $dao->fetchRow($result);
     $this->assertTrue(is_array($row));
     $this->assertEqual($row["value"], 'value_10');
     $row = $dao->fetchRow($result);
     $this->assertNull($row);
 }