From 1f2d2fa44d8a13e04321c3c2be5381d35e106ac3 Mon Sep 17 00:00:00 2001 From: tedbow <tedbow@240860.no-reply.drupal.org> Date: Thu, 2 Dec 2021 15:31:35 +0000 Subject: [PATCH] Issue #3251972 by tedbow, phenaproxima: Make `\Drupal\package_manager\Stage::getStageDirectory` public --- package_manager/src/Stage.php | 2 +- .../tests/src/Kernel/StageTest.php | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 package_manager/tests/src/Kernel/StageTest.php diff --git a/package_manager/src/Stage.php b/package_manager/src/Stage.php index abaa72ef42..6548db10cf 100644 --- a/package_manager/src/Stage.php +++ b/package_manager/src/Stage.php @@ -435,7 +435,7 @@ class Stage { * * @todo Make this method public in https://www.drupal.org/i/3251972. */ - protected function getStageDirectory(): string { + public function getStageDirectory(): string { if (!$this->lock) { throw new \LogicException(__METHOD__ . '() cannot be called because the stage has not been created or claimed.'); } diff --git a/package_manager/tests/src/Kernel/StageTest.php b/package_manager/tests/src/Kernel/StageTest.php new file mode 100644 index 0000000000..0ed5f56049 --- /dev/null +++ b/package_manager/tests/src/Kernel/StageTest.php @@ -0,0 +1,30 @@ +<?php + +namespace Drupal\Tests\package_manager\Kernel; + +/** + * @coversDefaultClass \Drupal\package_manager\Stage + * + * @group package_manager + */ +class StageTest extends PackageManagerKernelTestBase { + + /** + * @covers ::getStageDirectory + */ + public function testGetStageDirectory(): void { + $stage = $this->createStage(); + $id = $stage->create(); + $this->assertStringEndsWith("/.package_manager/$id", $stage->getStageDirectory()); + } + + /** + * @covers ::getStageDirectory + */ + public function testUncreatedGetStageDirectory(): void { + $this->expectException('LogicException'); + $this->expectExceptionMessage('Drupal\package_manager\Stage::getStageDirectory() cannot be called because the stage has not been created or claimed.'); + $this->createStage()->getStageDirectory(); + } + +} -- GitLab