function ConnectionTest::testFindCallerFromDebugBacktraceWithMockedBacktrace

Same name and namespace in other branches
  1. 11.x core/tests/Drupal/Tests/Core/Database/ConnectionTest.php \Drupal\Tests\Core\Database\ConnectionTest::testFindCallerFromDebugBacktraceWithMockedBacktrace()

Tests that a log called by a custom database driver returns proper caller.

@covers ::findCallerFromDebugBacktrace @covers ::removeDatabaseEntriesFromDebugBacktrace

@dataProvider providerMockedBacktrace

@group legacy

Parameters

string $driver_namespace: The driver namespace to be tested.

array $stack: A test debug_backtrace stack.

array $expected_entry: The expected stack entry.

File

core/tests/Drupal/Tests/Core/Database/ConnectionTest.php, line 707

Class

ConnectionTest
Tests the Connection class.

Namespace

Drupal\Tests\Core\Database

Code

public function testFindCallerFromDebugBacktraceWithMockedBacktrace(string $driver_namespace, array $stack, array $expected_entry) : void {
    $mock_builder = $this->getMockBuilder(StubConnection::class);
    $connection = $mock_builder->onlyMethods([
        'getDebugBacktrace',
        'getConnectionOptions',
    ])
        ->setConstructorArgs([
        $this->createMock(StubPDO::class),
        [],
    ])
        ->getMock();
    $connection->expects($this->once())
        ->method('getConnectionOptions')
        ->willReturn([
        'driver' => 'test',
        'namespace' => $driver_namespace,
    ]);
    $connection->expects($this->once())
        ->method('getDebugBacktrace')
        ->willReturn($stack);
    $result = $connection->findCallerFromDebugBacktrace();
    $this->assertEquals($expected_entry, $result);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.