DebugStackTest.php 1.23 KB
Newer Older
1 2
<?php

3
namespace Doctrine\DBAL\Tests\Logging;
4

5
use Doctrine\DBAL\Logging\DebugStack;
6
use PHPUnit\Framework\TestCase;
7

8
class DebugStackTest extends TestCase
9
{
10 11 12
    /** @var DebugStack */
    private $logger;

13
    protected function setUp() : void
14
    {
15
        $this->logger = new DebugStack();
16 17
    }

18
    protected function tearDown() : void
19 20 21 22
    {
        unset($this->logger);
    }

23
    public function testLoggedQuery() : void
24 25
    {
        $this->logger->startQuery('SELECT column FROM table');
26
        self::assertEquals(
Sergei Morozov's avatar
Sergei Morozov committed
27 28
            [
                1 => [
29 30 31 32
                    'sql' => 'SELECT column FROM table',
                    'params' => null,
                    'types' => null,
                    'executionMS' => 0,
Sergei Morozov's avatar
Sergei Morozov committed
33 34
                ],
            ],
35 36 37 38
            $this->logger->queries
        );

        $this->logger->stopQuery();
39
        self::assertGreaterThan(0, $this->logger->queries[1]['executionMS']);
40 41
    }

42
    public function testLoggedQueryDisabled() : void
43 44 45
    {
        $this->logger->enabled = false;
        $this->logger->startQuery('SELECT column FROM table');
Sergei Morozov's avatar
Sergei Morozov committed
46
        self::assertEquals([], $this->logger->queries);
47 48

        $this->logger->stopQuery();
Sergei Morozov's avatar
Sergei Morozov committed
49
        self::assertEquals([], $this->logger->queries);
50 51
    }
}