getMockBuilder(\DB_Error::class) ->setMethods(array('getMessage')) ->getMock(); $oSqlStub->method('getMessage') ->willReturn('Unknown table.'); $oErr = new DatabaseError('Sql error', 123, null, $oSqlStub); $this->assertEquals('Sql error', $oErr->getMessage()); $this->assertEquals(123, $oErr->getCode()); $this->assertEquals('Unknown table.', $oErr->getSqlError()); // causes a circular reference warning during dump // $this->assertRegExp('/Mock_DB_Error/', $oErr->getSqlDebugDump()); } public function testSqlObjectDump() { $oErr = new DatabaseError('Sql error', 123, null, array('one' => 'two')); $this->assertRegExp('/two/', $oErr->getSqlDebugDump()); } public function testChksqlThrows() { $this->expectException(DatabaseError::class); $this->expectExceptionMessage('My custom error message'); $this->expectExceptionCode(500); $oDB = new \DB_Error; $this->assertEquals(false, chksql($oDB, 'My custom error message')); } }