aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Updater/ChangesCheck.php4
-rw-r--r--tests/lib/Updater/ChangesCheckTest.php17
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/private/Updater/ChangesCheck.php b/lib/private/Updater/ChangesCheck.php
index 7346ceab6b1..259fb750c05 100644
--- a/lib/private/Updater/ChangesCheck.php
+++ b/lib/private/Updater/ChangesCheck.php
@@ -56,8 +56,8 @@ class ChangesCheck {
$version = $this->normalizeVersion($version);
$changesInfo = $this->mapper->getChanges($version);
$changesData = json_decode($changesInfo->getData(), true);
- if(empty($changesData)) {
- throw new DoesNotExistException();
+ if (empty($changesData)) {
+ throw new DoesNotExistException('Unable to decode changes info');
}
return $changesData;
}
diff --git a/tests/lib/Updater/ChangesCheckTest.php b/tests/lib/Updater/ChangesCheckTest.php
index 30cb9df2956..1bc8b47e58f 100644
--- a/tests/lib/Updater/ChangesCheckTest.php
+++ b/tests/lib/Updater/ChangesCheckTest.php
@@ -380,4 +380,21 @@ class ChangesCheckTest extends TestCase {
$this->assertTrue(isset($data['whatsNew']['en']['regular']));
$this->assertTrue(isset($data['changelogURL']));
}
+
+ public function testGetChangesForVersionEmptyData() {
+ $entry = $this->createMock(ChangesResult::class);
+ $entry->expects($this->once())
+ ->method('__call')
+ ->with('getData')
+ ->willReturn('');
+
+ $this->mapper->expects($this->once())
+ ->method('getChanges')
+ ->with('13.0.7')
+ ->willReturn($entry);
+
+ $this->expectException(DoesNotExistException::class);
+ /** @noinspection PhpUnhandledExceptionInspection */
+ $this->checker->getChangesForVersion('13.0.7');
+ }
}