DB2StatementTest.php 1.03 KB
Newer Older
1 2 3 4 5 6 7 8 9
<?php

declare(strict_types=1);

namespace Doctrine\Tests\DBAL\Functional\Driver\IBMDB2;

use Doctrine\DBAL\Driver\IBMDB2\DB2Driver;
use Doctrine\Tests\DbalFunctionalTestCase;
use PHPUnit\Framework\Error\Notice;
10
use function extension_loaded;
11 12 13 14 15

class DB2StatementTest extends DbalFunctionalTestCase
{
    protected function setUp()
    {
Sergei Morozov's avatar
Sergei Morozov committed
16
        if (! extension_loaded('ibm_db2')) {
17 18 19 20 21
            $this->markTestSkipped('ibm_db2 is not installed.');
        }

        parent::setUp();

Sergei Morozov's avatar
Sergei Morozov committed
22
        if ($this->connection->getDriver() instanceof DB2Driver) {
Sergei Morozov's avatar
Sergei Morozov committed
23
            return;
24
        }
Sergei Morozov's avatar
Sergei Morozov committed
25 26

        $this->markTestSkipped('ibm_db2 only test.');
27 28 29 30
    }

    public function testExecutionErrorsAreNotSuppressed()
    {
Sergei Morozov's avatar
Sergei Morozov committed
31
        $stmt = $this->connection->prepare('SELECT * FROM SYSIBM.SYSDUMMY1 WHERE \'foo\' = ?');
32 33 34 35 36 37 38 39

        // unwrap the statement to prevent the wrapper from handling the PHPUnit-originated exception
        $wrappedStmt = $stmt->getWrappedStatement();

        $this->expectException(Notice::class);
        $wrappedStmt->execute([[]]);
    }
}