1 | <?php |
||
34 | class PDOTest extends AbstractIntegrationTest |
||
35 | { |
||
36 | public function testWithInvalidSQL() |
||
37 | { |
||
38 | $statement = $this->pdo->prepare('bogus sql'); |
||
39 | $statement->execute(); |
||
40 | |||
41 | $this->assertEquals(4000, $statement->errorCode()); |
||
42 | |||
43 | list ($ansiSQLError, $driverError, $driverMessage) = $statement->errorInfo(); |
||
44 | |||
45 | $this->assertEquals(42000, $ansiSQLError); |
||
46 | $this->assertEquals(CrateConst::ERR_INVALID_SQL, $driverError); |
||
47 | $this->assertStringContainsString('mismatched input \'bogus\'', $driverMessage); |
||
48 | } |
||
49 | |||
50 | public function testDelete() |
||
51 | { |
||
52 | $this->insertRows(1); |
||
53 | |||
54 | $statement = $this->pdo->prepare('DELETE FROM test_table WHERE id = 1'); |
||
55 | |||
56 | $this->assertTrue($statement->execute()); |
||
57 | $this->assertEquals(1, $statement->rowCount()); |
||
58 | } |
||
59 | |||
60 | public function testDeleteWithMultipleAffectedRows() |
||
61 | { |
||
62 | $this->insertRows(5); |
||
63 | |||
64 | $statement = $this->pdo->prepare('DELETE FROM test_table WHERE id > 1'); |
||
65 | |||
66 | $this->assertTrue($statement->execute()); |
||
67 | $this->assertEquals(4, $statement->rowCount()); |
||
68 | } |
||
69 | |||
70 | public function testGetServerVersion() |
||
71 | { |
||
72 | $result = $this->pdo->getServerVersion(); |
||
73 | $this->assertRegExp("/[0-9]+\.[0-9]+\.[0-9]+/", $result); |
||
74 | } |
||
75 | } |
||
76 |