function LoggingBeginnerTest::testDecoratedBeginnerIsCalled

Tests the output of LoggingBeginner().

File

core/modules/package_manager/tests/src/Unit/LoggingBeginnerTest.php, line 24

Class

LoggingBeginnerTest
@covers \Drupal\package_manager\LoggingBeginner[[api-linebreak]] @group package_manager

Namespace

Drupal\Tests\package_manager\Unit

Code

public function testDecoratedBeginnerIsCalled() : void {
  $decorated = $this->createMock(BeginnerInterface::class);
  $activeDir = $this->createMock(PathInterface::class);
  $stagingDir = $this->createMock(PathInterface::class);
  $stagingDir->expects($this->any())
    ->method('absolute')
    ->willReturn('staging-dir');
  $decorated->expects($this->once())
    ->method('begin')
    ->with($activeDir, $stagingDir, NULL, $this->isInstanceOf(FileProcessOutputCallback::class));
  $config_factory = $this->getConfigFactoryStub([
    'package_manager.settings' => [
      'log' => 'php://memory',
    ],
  ]);
  $time = $this->createMock(TimeInterface::class);
  $time->expects($this->atLeast(2))
    ->method('getCurrentMicroTime')
    ->willReturnOnConsecutiveCalls(1, 2.5);
  $callback = new ProcessOutputCallback();
  (new LoggingBeginner($decorated, $config_factory, $time))->begin($activeDir, $stagingDir, callback: $callback);
  $this->assertSame([
    "### Beginning in staging-dir\n",
    "### Finished in 1.500 seconds\n",
  ], $callback->getOutput());
}

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