function DatabaseEventsTest::testEventEnablingAndDisabling

Tests event enabling and disabling.

@legacy-covers ::isEventEnabled @legacy-covers ::enableEvents @legacy-covers ::disableEvents

File

core/tests/Drupal/Tests/Core/Database/DatabaseEventsTest.php, line 48

Class

DatabaseEventsTest
Tests Drupal\Core\Database\Connection.

Namespace

Drupal\Tests\Core\Database

Code

public function testEventEnablingAndDisabling() : void {
  $this->connection
    ->enableEvents(StatementEvent::all());
  $this->assertTrue($this->connection
    ->isEventEnabled(StatementExecutionStartEvent::class));
  $this->assertTrue($this->connection
    ->isEventEnabled(StatementExecutionEndEvent::class));
  $this->assertTrue($this->connection
    ->isEventEnabled(StatementExecutionFailureEvent::class));
  $this->connection
    ->disableEvents([
    StatementExecutionEndEvent::class,
  ]);
  $this->assertTrue($this->connection
    ->isEventEnabled(StatementExecutionStartEvent::class));
  $this->assertFalse($this->connection
    ->isEventEnabled(StatementExecutionEndEvent::class));
  $this->assertTrue($this->connection
    ->isEventEnabled(StatementExecutionFailureEvent::class));
  $this->connection
    ->disableEvents(StatementEvent::all());
  $this->assertFalse($this->connection
    ->isEventEnabled(StatementExecutionStartEvent::class));
  $this->assertFalse($this->connection
    ->isEventEnabled(StatementExecutionEndEvent::class));
  $this->assertFalse($this->connection
    ->isEventEnabled(StatementExecutionFailureEvent::class));
}

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