summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2021-11-23 15:41:20 +0100
committerGitHub <noreply@github.com>2021-11-23 15:41:20 +0100
commitfd487c1a43874bf7eaeebe2ff822e18978b6d1e1 (patch)
treea69c74aa76577beac40700eaf47d28b5e8bd1af9
parent20dd46fcaed56b7df151fe1a5273cdadc22a583e (diff)
parent18a91f02fadf108bfa1a60f258ebacd2f802224b (diff)
downloadnextcloud-server-fd487c1a43874bf7eaeebe2ff822e18978b6d1e1.tar.gz
nextcloud-server-fd487c1a43874bf7eaeebe2ff822e18978b6d1e1.zip
Merge pull request #29432 from nextcloud/fix/support-php-8.1
Support PHP 8.1 - First batch
-rw-r--r--apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/Auth.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/FilesReportPlugin.php2
-rw-r--r--apps/dav/lib/Upload/AssemblyStream.php2
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php3
-rw-r--r--apps/files/tests/Controller/ApiControllerTest.php4
-rw-r--r--apps/files_external/lib/Lib/Auth/AuthMechanism.php4
-rw-r--r--apps/files_external/lib/Lib/Backend/Backend.php4
-rw-r--r--apps/files_external/lib/Lib/DefinitionParameter.php4
-rw-r--r--apps/files_external/lib/Lib/StorageConfig.php4
-rw-r--r--apps/theming/lib/Service/JSDataService.php2
-rw-r--r--apps/user_status/lib/Service/JSDataService.php2
-rw-r--r--core/Command/Broadcast/Test.php2
-rw-r--r--core/Controller/AvatarController.php5
-rw-r--r--lib/private/Accounts/Account.php3
-rw-r--r--lib/private/Accounts/AccountProperty.php2
-rw-r--r--lib/private/Accounts/AccountPropertyCollection.php2
-rw-r--r--lib/private/AppFramework/Http/Request.php5
-rw-r--r--lib/private/AppFramework/Utility/SimpleContainer.php8
-rw-r--r--lib/private/Authentication/Token/DefaultToken.php2
-rw-r--r--lib/private/Authentication/Token/PublicKeyToken.php2
-rw-r--r--lib/private/Cache/CappedMemoryCache.php10
-rw-r--r--lib/private/Collaboration/Collaborators/UserPlugin.php2
-rw-r--r--lib/private/Contacts/ContactsMenu/Actions/LinkAction.php5
-rw-r--r--lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php4
-rw-r--r--lib/private/EventDispatcher/GenericEventWrapper.php14
-rw-r--r--lib/private/Files/Cache/CacheEntry.php10
-rw-r--r--lib/private/Files/FileInfo.php10
-rw-r--r--lib/private/Files/ObjectStore/S3Signature.php4
-rw-r--r--lib/private/Files/ObjectStore/Swift.php6
-rw-r--r--lib/private/FullTextSearch/Model/IndexDocument.php4
-rw-r--r--lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php3
-rw-r--r--lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php5
-rw-r--r--lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php5
-rw-r--r--lib/private/L10N/L10NString.php6
-rw-r--r--lib/private/L10N/LanguageIterator.php4
-rw-r--r--lib/private/Log/LogDetails.php2
-rw-r--r--lib/private/Memcache/Cache.php10
-rw-r--r--lib/private/Session/CryptoSessionData.php5
-rw-r--r--lib/private/Session/Session.php5
-rw-r--r--lib/private/Setup.php2
-rw-r--r--lib/private/Share20/DefaultShareProvider.php2
-rw-r--r--lib/private/User/Database.php9
-rw-r--r--lib/public/AppFramework/Services/InitialStateProvider.php2
-rw-r--r--lib/public/DB/QueryBuilder/IExpressionBuilder.php4
-rw-r--r--lib/public/Dashboard/Model/WidgetSetting.php4
-rw-r--r--lib/public/Dashboard/Model/WidgetSetup.php4
-rw-r--r--lib/public/Dashboard/Model/WidgetTemplate.php4
-rw-r--r--lib/public/DirectEditing/ATemplate.php3
-rw-r--r--lib/public/EventDispatcher/GenericEvent.php2
-rw-r--r--lib/public/Files/Template/Template.php2
-rw-r--r--lib/public/Files/Template/TemplateFileCreator.php2
-rw-r--r--lib/public/L10N/ILanguageIterator.php2
-rw-r--r--tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php7
-rw-r--r--tests/Core/Command/Log/FileTest.php3
-rw-r--r--tests/Core/Command/Preview/RepairTest.php7
-rw-r--r--tests/Core/Controller/AvatarControllerTest.php6
-rw-r--r--tests/Core/Controller/CssControllerTest.php6
-rw-r--r--tests/Core/Controller/GuestAvatarControllerTest.php2
-rw-r--r--tests/Core/Controller/JsControllerTest.php6
-rw-r--r--tests/Core/Controller/PreviewControllerTest.php2
-rw-r--r--tests/lib/AppFramework/Http/DispatcherTest.php2
-rw-r--r--tests/lib/AppFramework/Http/ResponseTest.php6
-rw-r--r--tests/lib/Authentication/Listeners/RemoteWipeActivityListenerTest.php2
-rw-r--r--tests/lib/Authentication/Listeners/RemoteWipeNotificationsListenerTest.php2
-rw-r--r--tests/lib/Encryption/DecryptAllTest.php13
-rw-r--r--tests/lib/Files/Config/UserMountCacheTest.php13
-rw-r--r--tests/lib/Files/Node/FolderTest.php6
-rw-r--r--tests/lib/Http/Client/ResponseTest.php4
-rw-r--r--tests/lib/InitialStateServiceTest.php2
-rw-r--r--tests/lib/TempManagerTest.php4
-rw-r--r--tests/lib/User/ManagerTest.php14
72 files changed, 200 insertions, 129 deletions
diff --git a/apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php b/apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php
index a71725af121..6c3600fa5eb 100644
--- a/apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/AnonymousOptionsPlugin.php
@@ -62,7 +62,7 @@ class AnonymousOptionsPlugin extends ServerPlugin {
* @return bool
*/
public function handleAnonymousOptions(RequestInterface $request, ResponseInterface $response) {
- $isOffice = preg_match('/Microsoft Office/i', $request->getHeader('User-Agent'));
+ $isOffice = preg_match('/Microsoft Office/i', $request->getHeader('User-Agent') ?? '');
$emptyAuth = $request->getHeader('Authorization') === null
|| $request->getHeader('Authorization') === ''
|| trim($request->getHeader('Authorization')) === 'Bearer';
diff --git a/apps/dav/lib/Connector/Sabre/Auth.php b/apps/dav/lib/Connector/Sabre/Auth.php
index 30a27f672dd..71e833809ac 100644
--- a/apps/dav/lib/Connector/Sabre/Auth.php
+++ b/apps/dav/lib/Connector/Sabre/Auth.php
@@ -242,7 +242,7 @@ class Auth extends AbstractBasic {
}
}
- if (!$this->userSession->isLoggedIn() && in_array('XMLHttpRequest', explode(',', $request->getHeader('X-Requested-With')))) {
+ if (!$this->userSession->isLoggedIn() && in_array('XMLHttpRequest', explode(',', $request->getHeader('X-Requested-With') ?? ''))) {
// do not re-authenticate over ajax, use dummy auth name to prevent browser popup
$response->addHeader('WWW-Authenticate','DummyBasic realm="' . $this->realm . '"');
$response->setStatus(401);
diff --git a/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php b/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php
index 9524fe59746..4876e9ad8f3 100644
--- a/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php
@@ -241,7 +241,7 @@ class FilesReportPlugin extends ServerPlugin {
*
* @return string files base uri
*/
- private function getFilesBaseUri($uri, $subPath) {
+ private function getFilesBaseUri(string $uri, string $subPath): string {
$uri = trim($uri, '/');
$subPath = trim($subPath, '/');
if (empty($subPath)) {
diff --git a/apps/dav/lib/Upload/AssemblyStream.php b/apps/dav/lib/Upload/AssemblyStream.php
index 4d8f98a4332..ef6d39974c0 100644
--- a/apps/dav/lib/Upload/AssemblyStream.php
+++ b/apps/dav/lib/Upload/AssemblyStream.php
@@ -277,7 +277,7 @@ class AssemblyStream implements \Icewind\Streams\File {
]);
stream_wrapper_register('assembly', self::class);
try {
- $wrapped = fopen('assembly://', 'r', null, $context);
+ $wrapped = fopen('assembly://', 'r', false, $context);
} catch (\BadMethodCallException $e) {
stream_wrapper_unregister('assembly');
throw $e;
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
index 1d1329bbb3c..f73434b33b6 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
@@ -229,6 +229,9 @@ class FilesReportPluginTest extends \Test\TestCase {
$reportTargetNode = $this->getMockBuilder(Directory::class)
->disableOriginalConstructor()
->getMock();
+ $reportTargetNode->expects($this->any())
+ ->method('getPath')
+ ->willReturn('');
$response = $this->getMockBuilder(ResponseInterface::class)
->disableOriginalConstructor()
diff --git a/apps/files/tests/Controller/ApiControllerTest.php b/apps/files/tests/Controller/ApiControllerTest.php
index af2d16699c1..73728bd6a4a 100644
--- a/apps/files/tests/Controller/ApiControllerTest.php
+++ b/apps/files/tests/Controller/ApiControllerTest.php
@@ -165,7 +165,7 @@ class ApiControllerTest extends TestCase {
$this->assertEquals($expected, $this->apiController->getThumbnail(0, 0, ''));
}
- public function testGetThumbnailInvaidImage() {
+ public function testGetThumbnailInvalidImage() {
$file = $this->createMock(File::class);
$this->userFolder->method('get')
->with($this->equalTo('unknown.jpg'))
@@ -184,6 +184,8 @@ class ApiControllerTest extends TestCase {
->with($this->equalTo('known.jpg'))
->willReturn($file);
$preview = $this->createMock(ISimpleFile::class);
+ $preview->method('getName')->willReturn('my name');
+ $preview->method('getMTime')->willReturn(42);
$this->preview->expects($this->once())
->method('getPreview')
->with($this->equalTo($file), 10, 10, true)
diff --git a/apps/files_external/lib/Lib/Auth/AuthMechanism.php b/apps/files_external/lib/Lib/Auth/AuthMechanism.php
index f676957794d..210dd705723 100644
--- a/apps/files_external/lib/Lib/Auth/AuthMechanism.php
+++ b/apps/files_external/lib/Lib/Auth/AuthMechanism.php
@@ -90,10 +90,8 @@ class AuthMechanism implements \JsonSerializable {
/**
* Serialize into JSON for client-side JS
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
$data = $this->jsonSerializeDefinition();
$data += $this->jsonSerializeIdentifier();
diff --git a/apps/files_external/lib/Lib/Backend/Backend.php b/apps/files_external/lib/Lib/Backend/Backend.php
index a6e63eb30d1..021d208aed3 100644
--- a/apps/files_external/lib/Lib/Backend/Backend.php
+++ b/apps/files_external/lib/Lib/Backend/Backend.php
@@ -137,10 +137,8 @@ class Backend implements \JsonSerializable {
/**
* Serialize into JSON for client-side JS
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
$data = $this->jsonSerializeDefinition();
$data += $this->jsonSerializeIdentifier();
diff --git a/apps/files_external/lib/Lib/DefinitionParameter.php b/apps/files_external/lib/Lib/DefinitionParameter.php
index fbfbbfd4686..6b081d5a089 100644
--- a/apps/files_external/lib/Lib/DefinitionParameter.php
+++ b/apps/files_external/lib/Lib/DefinitionParameter.php
@@ -167,10 +167,8 @@ class DefinitionParameter implements \JsonSerializable {
/**
* Serialize into JSON for client-side JS
- *
- * @return string
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'value' => $this->getText(),
'flags' => $this->getFlags(),
diff --git a/apps/files_external/lib/Lib/StorageConfig.php b/apps/files_external/lib/Lib/StorageConfig.php
index 97b72005018..26ba483b00e 100644
--- a/apps/files_external/lib/Lib/StorageConfig.php
+++ b/apps/files_external/lib/Lib/StorageConfig.php
@@ -396,10 +396,8 @@ class StorageConfig implements \JsonSerializable {
/**
* Serialize config to JSON
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
$result = [];
if (!is_null($this->id)) {
$result['id'] = $this->id;
diff --git a/apps/theming/lib/Service/JSDataService.php b/apps/theming/lib/Service/JSDataService.php
index a6e5d6f8e36..1c4d138a764 100644
--- a/apps/theming/lib/Service/JSDataService.php
+++ b/apps/theming/lib/Service/JSDataService.php
@@ -50,7 +50,7 @@ class JSDataService implements \JsonSerializable {
$this->appConfig = $appConfig;
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'name' => $this->themingDefaults->getName(),
'url' => $this->themingDefaults->getBaseUrl(),
diff --git a/apps/user_status/lib/Service/JSDataService.php b/apps/user_status/lib/Service/JSDataService.php
index 6d83591ab2f..c08643ec64f 100644
--- a/apps/user_status/lib/Service/JSDataService.php
+++ b/apps/user_status/lib/Service/JSDataService.php
@@ -49,7 +49,7 @@ class JSDataService implements \JsonSerializable {
$this->statusService = $statusService;
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
$user = $this->userSession->getUser();
if ($user === null) {
diff --git a/core/Command/Broadcast/Test.php b/core/Command/Broadcast/Test.php
index 91050725e17..86cd30e4b4c 100644
--- a/core/Command/Broadcast/Test.php
+++ b/core/Command/Broadcast/Test.php
@@ -87,7 +87,7 @@ class Test extends Command {
];
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'description' => 'this is a test event',
];
diff --git a/core/Controller/AvatarController.php b/core/Controller/AvatarController.php
index 3b87bf15b2f..5acfe9cd404 100644
--- a/core/Controller/AvatarController.php
+++ b/core/Controller/AvatarController.php
@@ -283,11 +283,12 @@ class AvatarController extends Controller {
$image = new \OC_Image();
$image->loadFromData($tmpAvatar);
- $resp = new DataDisplayResponse($image->data(),
+ $resp = new DataDisplayResponse(
+ $image->data() ?? '',
Http::STATUS_OK,
['Content-Type' => $image->mimeType()]);
- $resp->setETag((string)crc32($image->data()));
+ $resp->setETag((string)crc32($image->data() ?? ''));
$resp->cacheFor(0);
$resp->setLastModified(new \DateTime('now', new \DateTimeZone('GMT')));
return $resp;
diff --git a/lib/private/Accounts/Account.php b/lib/private/Accounts/Account.php
index 1e4189f2b35..540d15cd4b9 100644
--- a/lib/private/Accounts/Account.php
+++ b/lib/private/Accounts/Account.php
@@ -104,7 +104,8 @@ class Account implements IAccount {
return $result;
}
- public function jsonSerialize() {
+ /** @return IAccountPropertyCollection[]|IAccountProperty[] */
+ public function jsonSerialize(): array {
return $this->properties;
}
diff --git a/lib/private/Accounts/AccountProperty.php b/lib/private/Accounts/AccountProperty.php
index 0e6356e9e92..4b7f2b0c04c 100644
--- a/lib/private/Accounts/AccountProperty.php
+++ b/lib/private/Accounts/AccountProperty.php
@@ -54,7 +54,7 @@ class AccountProperty implements IAccountProperty {
$this->verificationData = $verificationData;
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'name' => $this->getName(),
'value' => $this->getValue(),
diff --git a/lib/private/Accounts/AccountPropertyCollection.php b/lib/private/Accounts/AccountPropertyCollection.php
index 3aed76d8746..091c5734218 100644
--- a/lib/private/Accounts/AccountPropertyCollection.php
+++ b/lib/private/Accounts/AccountPropertyCollection.php
@@ -102,7 +102,7 @@ class AccountPropertyCollection implements IAccountPropertyCollection {
return $this;
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [$this->collectionName => $this->properties];
}
diff --git a/lib/private/AppFramework/Http/Request.php b/lib/private/AppFramework/Http/Request.php
index a95fd208155..c67500bcaa4 100644
--- a/lib/private/AppFramework/Http/Request.php
+++ b/lib/private/AppFramework/Http/Request.php
@@ -199,6 +199,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* @param string $offset
* @return mixed
*/
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
return isset($this->items['parameters'][$offset])
? $this->items['parameters'][$offset]
@@ -210,7 +211,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* @param string $offset
* @param mixed $value
*/
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
throw new \RuntimeException('You cannot change the contents of the request object');
}
@@ -218,7 +219,7 @@ class Request implements \ArrayAccess, \Countable, IRequest {
* @see offsetExists
* @param string $offset
*/
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
throw new \RuntimeException('You cannot change the contents of the request object');
}
diff --git a/lib/private/AppFramework/Utility/SimpleContainer.php b/lib/private/AppFramework/Utility/SimpleContainer.php
index c38dbadf0a9..598c66b6aba 100644
--- a/lib/private/AppFramework/Utility/SimpleContainer.php
+++ b/lib/private/AppFramework/Utility/SimpleContainer.php
@@ -197,13 +197,15 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
/**
* @deprecated 20.0.0 use \Psr\Container\ContainerInterface::has
*/
- public function offsetExists($id) {
+ public function offsetExists($id): bool {
return $this->container->offsetExists($id);
}
/**
* @deprecated 20.0.0 use \Psr\Container\ContainerInterface::get
+ * @return mixed
*/
+ #[\ReturnTypeWillChange]
public function offsetGet($id) {
return $this->container->offsetGet($id);
}
@@ -211,14 +213,14 @@ class SimpleContainer implements ArrayAccess, ContainerInterface, IContainer {
/**
* @deprecated 20.0.0 use \OCP\IContainer::registerService
*/
- public function offsetSet($id, $service) {
+ public function offsetSet($id, $service): void {
$this->container->offsetSet($id, $service);
}
/**
* @deprecated 20.0.0
*/
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
$this->container->offsetUnset($offset);
}
}
diff --git a/lib/private/Authentication/Token/DefaultToken.php b/lib/private/Authentication/Token/DefaultToken.php
index 5a008586a90..b649fdbb6af 100644
--- a/lib/private/Authentication/Token/DefaultToken.php
+++ b/lib/private/Authentication/Token/DefaultToken.php
@@ -121,7 +121,7 @@ class DefaultToken extends Entity implements INamedToken {
return parent::getPassword();
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'id' => $this->id,
'name' => $this->name,
diff --git a/lib/private/Authentication/Token/PublicKeyToken.php b/lib/private/Authentication/Token/PublicKeyToken.php
index 3351c767ce3..d060fe14103 100644
--- a/lib/private/Authentication/Token/PublicKeyToken.php
+++ b/lib/private/Authentication/Token/PublicKeyToken.php
@@ -138,7 +138,7 @@ class PublicKeyToken extends Entity implements INamedToken, IWipeableToken {
return parent::getPassword();
}
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'id' => $this->id,
'name' => $this->name,
diff --git a/lib/private/Cache/CappedMemoryCache.php b/lib/private/Cache/CappedMemoryCache.php
index 408c3935ffb..584a53f0ff2 100644
--- a/lib/private/Cache/CappedMemoryCache.php
+++ b/lib/private/Cache/CappedMemoryCache.php
@@ -63,19 +63,23 @@ class CappedMemoryCache implements ICache, \ArrayAccess {
return true;
}
- public function offsetExists($offset) {
+ public function offsetExists($offset): bool {
return $this->hasKey($offset);
}
+ /**
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
public function &offsetGet($offset) {
return $this->cache[$offset];
}
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->set($offset, $value);
}
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
$this->remove($offset);
}
diff --git a/lib/private/Collaboration/Collaborators/UserPlugin.php b/lib/private/Collaboration/Collaborators/UserPlugin.php
index 9ed94082f0d..1c00bb26c94 100644
--- a/lib/private/Collaboration/Collaborators/UserPlugin.php
+++ b/lib/private/Collaboration/Collaborators/UserPlugin.php
@@ -178,7 +178,7 @@ class UserPlugin implements ISearchPlugin {
$this->shareeEnumerationFullMatch &&
$lowerSearch !== '' && (strtolower($uid) === $lowerSearch ||
strtolower($userDisplayName) === $lowerSearch ||
- strtolower($userEmail) === $lowerSearch)
+ strtolower($userEmail ?? '') === $lowerSearch)
) {
if (strtolower($uid) === $lowerSearch) {
$foundUserById = true;
diff --git a/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php b/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
index 5acafed2fda..3f917854aac 100644
--- a/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
+++ b/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
@@ -106,10 +106,7 @@ class LinkAction implements ILinkAction {
return $this->appId;
}
- /**
- * @return array
- */
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'title' => $this->name,
'icon' => $this->icon,
diff --git a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php
index c35afd0870b..77a4a02128a 100644
--- a/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php
+++ b/lib/private/DB/QueryBuilder/ExpressionBuilder/ExpressionBuilder.php
@@ -414,11 +414,11 @@ class ExpressionBuilder implements IExpressionBuilder {
* Quotes a given input parameter.
*
* @param mixed $input The parameter to be quoted.
- * @param mixed|null $type One of the IQueryBuilder::PARAM_* constants
+ * @param int $type One of the IQueryBuilder::PARAM_* constants
*
* @return ILiteral
*/
- public function literal($input, $type = null): ILiteral {
+ public function literal($input, $type = IQueryBuilder::PARAM_STR): ILiteral {
return new Literal($this->expressionBuilder->literal($input, $type));
}
diff --git a/lib/private/EventDispatcher/GenericEventWrapper.php b/lib/private/EventDispatcher/GenericEventWrapper.php
index 55e23d2ff7f..3574bc8bb83 100644
--- a/lib/private/EventDispatcher/GenericEventWrapper.php
+++ b/lib/private/EventDispatcher/GenericEventWrapper.php
@@ -100,19 +100,23 @@ class GenericEventWrapper extends GenericEvent {
return $this->event->hasArgument($key);
}
+ /**
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
public function offsetGet($key) {
return $this->event->offsetGet($key);
}
- public function offsetSet($key, $value) {
- return $this->event->offsetSet($key, $value);
+ public function offsetSet($key, $value): void {
+ $this->event->offsetSet($key, $value);
}
- public function offsetUnset($key) {
- return $this->event->offsetUnset($key);
+ public function offsetUnset($key): void {
+ $this->event->offsetUnset($key);
}
- public function offsetExists($key) {
+ public function offsetExists($key): bool {
return $this->event->offsetExists($key);
}
diff --git a/lib/private/Files/Cache/CacheEntry.php b/lib/private/Files/Cache/CacheEntry.php
index 156f075c2d0..12f0273fb6e 100644
--- a/lib/private/Files/Cache/CacheEntry.php
+++ b/lib/private/Files/Cache/CacheEntry.php
@@ -37,18 +37,22 @@ class CacheEntry implements ICacheEntry {
$this->data = $data;
}
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->data[$offset] = $value;
}
- public function offsetExists($offset) {
+ public function offsetExists($offset): bool {
return isset($this->data[$offset]);
}
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
unset($this->data[$offset]);
}
+ /**
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
if (isset($this->data[$offset])) {
return $this->data[$offset];
diff --git a/lib/private/Files/FileInfo.php b/lib/private/Files/FileInfo.php
index 8a8de6e4c19..2f361fc051d 100644
--- a/lib/private/Files/FileInfo.php
+++ b/lib/private/Files/FileInfo.php
@@ -104,18 +104,22 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
$this->rawSize = $this->data['size'] ?? 0;
}
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->data[$offset] = $value;
}
- public function offsetExists($offset) {
+ public function offsetExists($offset): bool {
return isset($this->data[$offset]);
}
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
unset($this->data[$offset]);
}
+ /**
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
if ($offset === 'type') {
return $this->getType();
diff --git a/lib/private/Files/ObjectStore/S3Signature.php b/lib/private/Files/ObjectStore/S3Signature.php
index 1e5ef697835..64b994bac22 100644
--- a/lib/private/Files/ObjectStore/S3Signature.php
+++ b/lib/private/Files/ObjectStore/S3Signature.php
@@ -137,7 +137,7 @@ class S3Signature implements SignatureInterface {
$modify['set_headers']['X-Amz-Security-Token'] = $token;
}
- return Psr7\modify_request($request, $modify);
+ return Psr7\Utils::modifyRequest($request, $modify);
}
private function signString($string, CredentialsInterface $credentials) {
@@ -201,7 +201,7 @@ class S3Signature implements SignatureInterface {
$query = $request->getUri()->getQuery();
if ($query) {
- $params = Psr7\parse_query($query);
+ $params = Psr7\Query::parse($query);
$first = true;
foreach ($this->signableQueryString as $key) {
if (array_key_exists($key, $params)) {
diff --git a/lib/private/Files/ObjectStore/Swift.php b/lib/private/Files/ObjectStore/Swift.php
index 3607eff5b29..a3c8d92f3d2 100644
--- a/lib/private/Files/ObjectStore/Swift.php
+++ b/lib/private/Files/ObjectStore/Swift.php
@@ -27,7 +27,7 @@ namespace OC\Files\ObjectStore;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\BadResponseException;
-use function GuzzleHttp\Psr7\stream_for;
+use GuzzleHttp\Psr7\Utils;
use Icewind\Streams\RetryWrapper;
use OCP\Files\NotFoundException;
use OCP\Files\ObjectStore\IObjectStore;
@@ -81,13 +81,13 @@ class Swift implements IObjectStore {
if (filesize($tmpFile) < SWIFT_SEGMENT_SIZE) {
$this->getContainer()->createObject([
'name' => $urn,
- 'stream' => stream_for($handle),
+ 'stream' => Utils::streamFor($handle),
'contentType' => $mimetype,
]);
} else {
$this->getContainer()->createLargeObject([
'name' => $urn,
- 'stream' => stream_for($handle),
+ 'stream' => Utils::streamFor($handle),
'segmentSize' => SWIFT_SEGMENT_SIZE,
'contentType' => $mimetype,
]);
diff --git a/lib/private/FullTextSearch/Model/IndexDocument.php b/lib/private/FullTextSearch/Model/IndexDocument.php
index a1648ab6e2a..3078f12c465 100644
--- a/lib/private/FullTextSearch/Model/IndexDocument.php
+++ b/lib/private/FullTextSearch/Model/IndexDocument.php
@@ -963,10 +963,8 @@ class IndexDocument implements IIndexDocument, JsonSerializable {
/**
* @since 15.0.0
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'id' => $this->getId(),
'providerId' => $this->getProviderId(),
diff --git a/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php b/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
index 9c9ac71efa9..d6bfe6d9102 100644
--- a/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
+++ b/lib/private/FullTextSearch/Model/SearchRequestSimpleQuery.php
@@ -168,10 +168,9 @@ final class SearchRequestSimpleQuery implements ISearchRequestSimpleQuery, JsonS
/**
- * @return array|mixed
* @since 17.0.0
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'type' => $this->getType(),
'field' => $this->getField(),
diff --git a/lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php b/lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php
index aea1ad6c3e9..6d26a40aef4 100644
--- a/lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php
+++ b/lib/private/IntegrityCheck/Iterator/ExcludeFileByNameFilterIterator.php
@@ -59,10 +59,7 @@ class ExcludeFileByNameFilterIterator extends \RecursiveFilterIterator {
'/^\.webapp-nextcloud-(\d+\.){2}(\d+)(-r\d+)?$/', // Gentoo/Funtoo & derivatives use a tool known as webapp-config to manage wep-apps.
];
- /**
- * @return bool
- */
- public function accept() {
+ public function accept(): bool {
/** @var \SplFileInfo $current */
$current = $this->current();
diff --git a/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php b/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php
index fcdd3e3067c..120791f5b03 100644
--- a/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php
+++ b/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php
@@ -59,10 +59,7 @@ class ExcludeFoldersByPathFilterIterator extends \RecursiveFilterIterator {
$this->excludedFolders = array_merge($excludedFolders, $appFolders);
}
- /**
- * @return bool
- */
- public function accept() {
+ public function accept(): bool {
return !\in_array(
$this->current()->getPathName(),
$this->excludedFolders,
diff --git a/lib/private/L10N/L10NString.php b/lib/private/L10N/L10NString.php
index 33ccc4b1409..de4bc38d744 100644
--- a/lib/private/L10N/L10NString.php
+++ b/lib/private/L10N/L10NString.php
@@ -82,11 +82,7 @@ class L10NString implements \JsonSerializable {
return vsprintf($text, $this->parameters);
}
-
- /**
- * @return string
- */
- public function jsonSerialize() {
+ public function jsonSerialize(): string {
return $this->__toString();
}
}
diff --git a/lib/private/L10N/LanguageIterator.php b/lib/private/L10N/LanguageIterator.php
index c48a27fb6ce..4a76667caf2 100644
--- a/lib/private/L10N/LanguageIterator.php
+++ b/lib/private/L10N/LanguageIterator.php
@@ -45,7 +45,7 @@ class LanguageIterator implements ILanguageIterator {
/**
* Rewind the Iterator to the first element
*/
- public function rewind() {
+ public function rewind(): void {
$this->i = 0;
}
@@ -112,7 +112,7 @@ class LanguageIterator implements ILanguageIterator {
*
* @since 14.0.0
*/
- public function next() {
+ public function next(): void {
++$this->i;
}
diff --git a/lib/private/Log/LogDetails.php b/lib/private/Log/LogDetails.php
index 87ce0396594..3353ea3f4cc 100644
--- a/lib/private/Log/LogDetails.php
+++ b/lib/private/Log/LogDetails.php
@@ -46,7 +46,7 @@ abstract class LogDetails {
}
$time = \DateTime::createFromFormat("U.u", number_format(microtime(true), 4, ".", ""));
if ($time === false) {
- $time = new \DateTime(null, $timezone);
+ $time = new \DateTime('now', $timezone);
} else {
// apply timezone if $time is created from UNIX timestamp
$time->setTimezone($timezone);
diff --git a/lib/private/Memcache/Cache.php b/lib/private/Memcache/Cache.php
index 95213c16849..1d54a705098 100644
--- a/lib/private/Memcache/Cache.php
+++ b/lib/private/Memcache/Cache.php
@@ -78,19 +78,23 @@ abstract class Cache implements \ArrayAccess, \OCP\ICache {
//implement the ArrayAccess interface
- public function offsetExists($offset) {
+ public function offsetExists($offset): bool {
return $this->hasKey($offset);
}
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->set($offset, $value);
}
+ /**
+ * @return mixed
+ */
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
return $this->get($offset);
}
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
$this->remove($offset);
}
}
diff --git a/lib/private/Session/CryptoSessionData.php b/lib/private/Session/CryptoSessionData.php
index 94ad8f90dcf..2e3bd46da5b 100644
--- a/lib/private/Session/CryptoSessionData.php
+++ b/lib/private/Session/CryptoSessionData.php
@@ -195,6 +195,7 @@ class CryptoSessionData implements \ArrayAccess, ISession {
* @param mixed $offset
* @return mixed
*/
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
return $this->get($offset);
}
@@ -203,14 +204,14 @@ class CryptoSessionData implements \ArrayAccess, ISession {
* @param mixed $offset
* @param mixed $value
*/
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->set($offset, $value);
}
/**
* @param mixed $offset
*/
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
$this->remove($offset);
}
}
diff --git a/lib/private/Session/Session.php b/lib/private/Session/Session.php
index b9497983fbb..affba322bec 100644
--- a/lib/private/Session/Session.php
+++ b/lib/private/Session/Session.php
@@ -55,6 +55,7 @@ abstract class Session implements \ArrayAccess, ISession {
* @param mixed $offset
* @return mixed
*/
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
return $this->get($offset);
}
@@ -63,14 +64,14 @@ abstract class Session implements \ArrayAccess, ISession {
* @param mixed $offset
* @param mixed $value
*/
- public function offsetSet($offset, $value) {
+ public function offsetSet($offset, $value): void {
$this->set($offset, $value);
}
/**
* @param mixed $offset
*/
- public function offsetUnset($offset) {
+ public function offsetUnset($offset): void {
$this->remove($offset);
}
diff --git a/lib/private/Setup.php b/lib/private/Setup.php
index f1ad04671f9..589bbb273c0 100644
--- a/lib/private/Setup.php
+++ b/lib/private/Setup.php
@@ -480,7 +480,7 @@ class Setup {
if (!filter_var($webRoot, FILTER_VALIDATE_URL)) {
throw new InvalidArgumentException('invalid value for overwrite.cli.url');
}
- $webRoot = rtrim(parse_url($webRoot, PHP_URL_PATH), '/');
+ $webRoot = rtrim((parse_url($webRoot, PHP_URL_PATH) ?? ''), '/');
} else {
$webRoot = !empty(\OC::$WEBROOT) ? \OC::$WEBROOT : '/';
}
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 85655c4e379..a6a8bdb9698 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -1363,7 +1363,7 @@ class DefaultShareProvider implements IShareProvider {
$best = [];
$bestDepth = 0;
foreach ($shares as $id => $share) {
- $depth = substr_count($share['file_target'], '/');
+ $depth = substr_count(($share['file_target'] ?? ''), '/');
if (empty($best) || $depth < $bestDepth) {
$bestDepth = $depth;
$best = [
diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php
index 5dfc74163a7..81094d4d8af 100644
--- a/lib/private/User/Database.php
+++ b/lib/private/User/Database.php
@@ -386,13 +386,14 @@ class Database extends ABackend implements
$row = $result->fetch();
$result->closeCursor();
- $this->cache[$uid] = false;
-
// "uid" is primary key, so there can only be a single result
if ($row !== false) {
- $this->cache[$uid]['uid'] = (string)$row['uid'];
- $this->cache[$uid]['displayname'] = (string)$row['displayname'];
+ $this->cache[$uid] = [
+ 'uid' => (string)$row['uid'],
+ 'displayname' => (string)$row['displayname'],
+ ];
} else {
+ $this->cache[$uid] = false;
return false;
}
}
diff --git a/lib/public/AppFramework/Services/InitialStateProvider.php b/lib/public/AppFramework/Services/InitialStateProvider.php
index c317fad3f5d..dbc48653792 100644
--- a/lib/public/AppFramework/Services/InitialStateProvider.php
+++ b/lib/public/AppFramework/Services/InitialStateProvider.php
@@ -42,7 +42,9 @@ abstract class InitialStateProvider implements \JsonSerializable {
/**
* @since 21.0.0
+ * @return mixed
*/
+ #[\ReturnTypeWillChange]
final public function jsonSerialize() {
return $this->getData();
}
diff --git a/lib/public/DB/QueryBuilder/IExpressionBuilder.php b/lib/public/DB/QueryBuilder/IExpressionBuilder.php
index 77701240d51..4758fd06208 100644
--- a/lib/public/DB/QueryBuilder/IExpressionBuilder.php
+++ b/lib/public/DB/QueryBuilder/IExpressionBuilder.php
@@ -418,7 +418,7 @@ interface IExpressionBuilder {
* Quotes a given input parameter.
*
* @param mixed $input The parameter to be quoted.
- * @param mixed|null $type One of the IQueryBuilder::PARAM_* constants
+ * @param int $type One of the IQueryBuilder::PARAM_* constants
*
* @return ILiteral
* @since 8.2.0
@@ -426,7 +426,7 @@ interface IExpressionBuilder {
* @psalm-taint-sink sql $input
* @psalm-taint-sink sql $type
*/
- public function literal($input, $type = null): ILiteral;
+ public function literal($input, $type = IQueryBuilder::PARAM_STR): ILiteral;
/**
* Returns a IQueryFunction that casts the column to the given type
diff --git a/lib/public/Dashboard/Model/WidgetSetting.php b/lib/public/Dashboard/Model/WidgetSetting.php
index c456c63f4f5..fce59a4350b 100644
--- a/lib/public/Dashboard/Model/WidgetSetting.php
+++ b/lib/public/Dashboard/Model/WidgetSetting.php
@@ -230,10 +230,8 @@ final class WidgetSetting implements JsonSerializable {
/**
* @since 15.0.0
* @deprecated 20.0.0
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'name' => $this->getName(),
'title' => $this->getTitle(),
diff --git a/lib/public/Dashboard/Model/WidgetSetup.php b/lib/public/Dashboard/Model/WidgetSetup.php
index 1cc8d9ff561..f3e09dcc71b 100644
--- a/lib/public/Dashboard/Model/WidgetSetup.php
+++ b/lib/public/Dashboard/Model/WidgetSetup.php
@@ -261,10 +261,8 @@ final class WidgetSetup implements JsonSerializable {
/**
* @since 15.0.0
* @deprecated 20.0.0
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'size' => $this->getSizes(),
'menu' => $this->getMenuEntries(),
diff --git a/lib/public/Dashboard/Model/WidgetTemplate.php b/lib/public/Dashboard/Model/WidgetTemplate.php
index e6f9742fed7..3521960c303 100644
--- a/lib/public/Dashboard/Model/WidgetTemplate.php
+++ b/lib/public/Dashboard/Model/WidgetTemplate.php
@@ -312,10 +312,8 @@ final class WidgetTemplate implements JsonSerializable {
/**
* @since 15.0.0
* @deprecated 20.0.0
- *
- * @return array
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'icon' => $this->getIcon(),
'css' => $this->getCss(),
diff --git a/lib/public/DirectEditing/ATemplate.php b/lib/public/DirectEditing/ATemplate.php
index c38fc898dab..53aff0d40ff 100644
--- a/lib/public/DirectEditing/ATemplate.php
+++ b/lib/public/DirectEditing/ATemplate.php
@@ -57,9 +57,8 @@ abstract class ATemplate implements JsonSerializable {
/**
* @since 18.0.0
- * @return array|mixed
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'id' => $this->getId(),
'title' => $this->getTitle(),
diff --git a/lib/public/EventDispatcher/GenericEvent.php b/lib/public/EventDispatcher/GenericEvent.php
index e78ae1827a1..1ba1cc6da14 100644
--- a/lib/public/EventDispatcher/GenericEvent.php
+++ b/lib/public/EventDispatcher/GenericEvent.php
@@ -156,7 +156,9 @@ class GenericEvent extends Event implements ArrayAccess, IteratorAggregate {
* @link https://php.net/manual/en/arrayaccess.offsetget.php
* @since 18.0.0
* @deprecated 22.0.0
+ * @return mixed
*/
+ #[\ReturnTypeWillChange]
public function offsetGet($offset) {
return $this->arguments[$offset];
}
diff --git a/lib/public/Files/Template/Template.php b/lib/public/Files/Template/Template.php
index 50d8b406be9..d71ef3b3655 100644
--- a/lib/public/Files/Template/Template.php
+++ b/lib/public/Files/Template/Template.php
@@ -69,7 +69,7 @@ final class Template implements \JsonSerializable {
/**
* @since 21.0.0
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'templateType' => $this->templateType,
'templateId' => $this->templateId,
diff --git a/lib/public/Files/Template/TemplateFileCreator.php b/lib/public/Files/Template/TemplateFileCreator.php
index 7be45e68ef9..26edf585869 100644
--- a/lib/public/Files/Template/TemplateFileCreator.php
+++ b/lib/public/Files/Template/TemplateFileCreator.php
@@ -106,7 +106,7 @@ final class TemplateFileCreator implements \JsonSerializable {
/**
* @since 21.0.0
*/
- public function jsonSerialize() {
+ public function jsonSerialize(): array {
return [
'app' => $this->appId,
'label' => $this->actionName,
diff --git a/lib/public/L10N/ILanguageIterator.php b/lib/public/L10N/ILanguageIterator.php
index 882c8bc6f9e..534d4229b1c 100644
--- a/lib/public/L10N/ILanguageIterator.php
+++ b/lib/public/L10N/ILanguageIterator.php
@@ -53,7 +53,9 @@ interface ILanguageIterator extends \Iterator {
* Move forward to next element
*
* @since 14.0.0
+ * @return void
*/
+ #[\ReturnTypeWillChange]
public function next();
/**
diff --git a/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php b/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
index 02cc824ee0c..fc916ad4099 100644
--- a/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
+++ b/tests/Core/Command/Encryption/ChangeKeyStorageRootTest.php
@@ -74,9 +74,12 @@ class ChangeKeyStorageRootTest extends TestCase {
$this->outputInterface = $this->getMockBuilder(OutputInterface::class)->getMock();
$this->userInterface = $this->getMockBuilder(UserInterface::class)->getMock();
- $outputFormatterInterface = $this->getMockBuilder(OutputFormatterInterface::class)->getMock();
+ /* We need format method to return a string */
+ $outputFormatter = $this->createMock(OutputFormatterInterface::class);
+ $outputFormatter->method('format')->willReturnArgument(0);
+
$this->outputInterface->expects($this->any())->method('getFormatter')
- ->willReturn($outputFormatterInterface);
+ ->willReturn($outputFormatter);
$this->changeKeyStorageRoot = new ChangeKeyStorageRoot(
$this->view,
diff --git a/tests/Core/Command/Log/FileTest.php b/tests/Core/Command/Log/FileTest.php
index 1a8a86759f5..103888de287 100644
--- a/tests/Core/Command/Log/FileTest.php
+++ b/tests/Core/Command/Log/FileTest.php
@@ -51,6 +51,7 @@ class FileTest extends TestCase {
}
public function testEnable() {
+ $this->config->method('getSystemValue')->willReturnArgument(1);
$this->consoleInput->method('getOption')
->willReturnMap([
['enable', 'true']
@@ -63,6 +64,7 @@ class FileTest extends TestCase {
}
public function testChangeFile() {
+ $this->config->method('getSystemValue')->willReturnArgument(1);
$this->consoleInput->method('getOption')
->willReturnMap([
['file', '/foo/bar/file.log']
@@ -87,6 +89,7 @@ class FileTest extends TestCase {
* @dataProvider changeRotateSizeProvider
*/
public function testChangeRotateSize($optionValue, $configValue) {
+ $this->config->method('getSystemValue')->willReturnArgument(1);
$this->consoleInput->method('getOption')
->willReturnMap([
['rotate-size', $optionValue]
diff --git a/tests/Core/Command/Preview/RepairTest.php b/tests/Core/Command/Preview/RepairTest.php
index c37e57f848c..a6591745817 100644
--- a/tests/Core/Command/Preview/RepairTest.php
+++ b/tests/Core/Command/Preview/RepairTest.php
@@ -68,9 +68,14 @@ class RepairTest extends TestCase {
$this->output->expects($this->any())
->method('section')
->willReturn($this->output);
+
+ /* We need format method to return a string */
+ $outputFormatter = $this->createMock(OutputFormatterInterface::class);
+ $outputFormatter->method('format')->willReturnArgument(0);
+
$this->output->expects($this->any())
->method('getFormatter')
- ->willReturn($this->getMockBuilder(OutputFormatterInterface::class)->getMock());
+ ->willReturn($outputFormatter);
$this->output->expects($this->any())
->method('writeln')
->willReturnCallback(function ($line) use ($self) {
diff --git a/tests/Core/Controller/AvatarControllerTest.php b/tests/Core/Controller/AvatarControllerTest.php
index d6c4ea6217c..35d89c24a45 100644
--- a/tests/Core/Controller/AvatarControllerTest.php
+++ b/tests/Core/Controller/AvatarControllerTest.php
@@ -119,6 +119,8 @@ class AvatarControllerTest extends \Test\TestCase {
$this->avatarFile->method('getContent')->willReturn('image data');
$this->avatarFile->method('getMimeType')->willReturn('image type');
$this->avatarFile->method('getEtag')->willReturn('my etag');
+ $this->avatarFile->method('getName')->willReturn('my name');
+ $this->avatarFile->method('getMTime')->willReturn(42);
}
protected function tearDown(): void {
@@ -290,7 +292,7 @@ class AvatarControllerTest extends \Test\TestCase {
*/
public function testPostAvatarFile() {
//Create temp file
- $fileName = tempnam(null, "avatarTest");
+ $fileName = tempnam('', "avatarTest");
$copyRes = copy(\OC::$SERVERROOT.'/tests/data/testimage.jpg', $fileName);
$this->assertTrue($copyRes);
@@ -328,7 +330,7 @@ class AvatarControllerTest extends \Test\TestCase {
*/
public function testPostAvatarFileGif() {
//Create temp file
- $fileName = tempnam(null, "avatarTest");
+ $fileName = tempnam('', "avatarTest");
$copyRes = copy(\OC::$SERVERROOT.'/tests/data/testimage.gif', $fileName);
$this->assertTrue($copyRes);
diff --git a/tests/Core/Controller/CssControllerTest.php b/tests/Core/Controller/CssControllerTest.php
index 1179bc0c070..d2a791ec1b0 100644
--- a/tests/Core/Controller/CssControllerTest.php
+++ b/tests/Core/Controller/CssControllerTest.php
@@ -102,6 +102,8 @@ class CssControllerTest extends TestCase {
public function testGetFile() {
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
+ $file->method('getName')->willReturn('my name');
+ $file->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
@@ -125,6 +127,8 @@ class CssControllerTest extends TestCase {
public function testGetGzipFile() {
$folder = $this->createMock(ISimpleFolder::class);
$gzipFile = $this->createMock(ISimpleFile::class);
+ $gzipFile->method('getName')->willReturn('my name');
+ $gzipFile->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
@@ -153,6 +157,8 @@ class CssControllerTest extends TestCase {
public function testGetGzipFileNotFound() {
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
+ $file->method('getName')->willReturn('my name');
+ $file->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
diff --git a/tests/Core/Controller/GuestAvatarControllerTest.php b/tests/Core/Controller/GuestAvatarControllerTest.php
index 8870faac4c7..e14a5416c49 100644
--- a/tests/Core/Controller/GuestAvatarControllerTest.php
+++ b/tests/Core/Controller/GuestAvatarControllerTest.php
@@ -56,6 +56,8 @@ class GuestAvatarControllerTest extends \Test\TestCase {
$this->avatar = $this->getMockBuilder(IAvatar::class)->getMock();
$this->avatarManager = $this->getMockBuilder(IAvatarManager::class)->getMock();
$this->file = $this->getMockBuilder(ISimpleFile::class)->getMock();
+ $this->file->method('getName')->willReturn('my name');
+ $this->file->method('getMTime')->willReturn(42);
$this->guestAvatarController = new GuestAvatarController(
'core',
$this->request,
diff --git a/tests/Core/Controller/JsControllerTest.php b/tests/Core/Controller/JsControllerTest.php
index 01228a6a93e..3f76e19efc9 100644
--- a/tests/Core/Controller/JsControllerTest.php
+++ b/tests/Core/Controller/JsControllerTest.php
@@ -102,6 +102,8 @@ class JsControllerTest extends TestCase {
public function testGetFile() {
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
+ $file->method('getName')->willReturn('my name');
+ $file->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
@@ -125,6 +127,8 @@ class JsControllerTest extends TestCase {
public function testGetGzipFile() {
$folder = $this->createMock(ISimpleFolder::class);
$gzipFile = $this->createMock(ISimpleFile::class);
+ $gzipFile->method('getName')->willReturn('my name');
+ $gzipFile->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
@@ -153,6 +157,8 @@ class JsControllerTest extends TestCase {
public function testGetGzipFileNotFound() {
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
+ $file->method('getName')->willReturn('my name');
+ $file->method('getMTime')->willReturn(42);
$this->appData->method('getFolder')
->with('myapp')
->willReturn($folder);
diff --git a/tests/Core/Controller/PreviewControllerTest.php b/tests/Core/Controller/PreviewControllerTest.php
index e1d1529c655..704ddade7a4 100644
--- a/tests/Core/Controller/PreviewControllerTest.php
+++ b/tests/Core/Controller/PreviewControllerTest.php
@@ -212,6 +212,8 @@ class PreviewControllerTest extends \Test\TestCase {
->willReturn(true);
$preview = $this->createMock(ISimpleFile::class);
+ $preview->method('getName')->willReturn('my name');
+ $preview->method('getMTime')->willReturn(42);
$this->previewManager->method('getPreview')
->with($this->equalTo($file), 10, 10, false, $this->equalTo('myMode'))
->willReturn($preview);
diff --git a/tests/lib/AppFramework/Http/DispatcherTest.php b/tests/lib/AppFramework/Http/DispatcherTest.php
index 966e49effcb..92b772dbe31 100644
--- a/tests/lib/AppFramework/Http/DispatcherTest.php
+++ b/tests/lib/AppFramework/Http/DispatcherTest.php
@@ -148,7 +148,7 @@ class DispatcherTest extends \Test\TestCase {
$this->response = $this->createMock(Response::class);
- $this->lastModified = new \DateTime(null, new \DateTimeZone('GMT'));
+ $this->lastModified = new \DateTime('now', new \DateTimeZone('GMT'));
$this->etag = 'hi';
}
diff --git a/tests/lib/AppFramework/Http/ResponseTest.php b/tests/lib/AppFramework/Http/ResponseTest.php
index 0ef128433cd..97a1ee25588 100644
--- a/tests/lib/AppFramework/Http/ResponseTest.php
+++ b/tests/lib/AppFramework/Http/ResponseTest.php
@@ -216,7 +216,7 @@ class ResponseTest extends \Test\TestCase {
public function testGetLastModified() {
- $lastModified = new \DateTime(null, new \DateTimeZone('GMT'));
+ $lastModified = new \DateTime('now', new \DateTimeZone('GMT'));
$lastModified->setTimestamp(1);
$this->childResponse->setLastModified($lastModified);
$this->assertEquals($lastModified, $this->childResponse->getLastModified());
@@ -252,7 +252,7 @@ class ResponseTest extends \Test\TestCase {
public function testEtagLastModifiedHeaders() {
- $lastModified = new \DateTime(null, new \DateTimeZone('GMT'));
+ $lastModified = new \DateTime('now', new \DateTimeZone('GMT'));
$lastModified->setTimestamp(1);
$this->childResponse->setLastModified($lastModified);
$headers = $this->childResponse->getHeaders();
@@ -260,7 +260,7 @@ class ResponseTest extends \Test\TestCase {
}
public function testChainability() {
- $lastModified = new \DateTime(null, new \DateTimeZone('GMT'));
+ $lastModified = new \DateTime('now', new \DateTimeZone('GMT'));
$lastModified->setTimestamp(1);
$this->childResponse->setEtag('hi')
diff --git a/tests/lib/Authentication/Listeners/RemoteWipeActivityListenerTest.php b/tests/lib/Authentication/Listeners/RemoteWipeActivityListenerTest.php
index 6409ff2dc35..a5038dd23b2 100644
--- a/tests/lib/Authentication/Listeners/RemoteWipeActivityListenerTest.php
+++ b/tests/lib/Authentication/Listeners/RemoteWipeActivityListenerTest.php
@@ -37,7 +37,7 @@ use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
-class RemoteWipeActivityListenerTests extends TestCase {
+class RemoteWipeActivityListenerTest extends TestCase {
/** @var IActivityManager|MockObject */
private $activityManager;
diff --git a/tests/lib/Authentication/Listeners/RemoteWipeNotificationsListenerTest.php b/tests/lib/Authentication/Listeners/RemoteWipeNotificationsListenerTest.php
index 1e03a344404..ef5545438c2 100644
--- a/tests/lib/Authentication/Listeners/RemoteWipeNotificationsListenerTest.php
+++ b/tests/lib/Authentication/Listeners/RemoteWipeNotificationsListenerTest.php
@@ -38,7 +38,7 @@ use OCP\Notification\INotification;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
-class RemoteWipeNotificationListenerTests extends TestCase {
+class RemoteWipeNotificationsListenerTest extends TestCase {
/** @var INotificationManager|MockObject */
private $notificationManager;
diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php
index dc7c40f0fe2..90ff045a9b9 100644
--- a/tests/lib/Encryption/DecryptAllTest.php
+++ b/tests/lib/Encryption/DecryptAllTest.php
@@ -81,8 +81,12 @@ class DecryptAllTest extends TestCase {
$this->userInterface = $this->getMockBuilder(UserInterface::class)
->disableOriginalConstructor()->getMock();
+ /* We need format method to return a string */
+ $outputFormatter = $this->createMock(OutputFormatterInterface::class);
+ $outputFormatter->method('format')->willReturn('foo');
+
$this->outputInterface->expects($this->any())->method('getFormatter')
- ->willReturn($this->createMock(OutputFormatterInterface::class));
+ ->willReturn($outputFormatter);
$this->instance = new DecryptAll($this->encryptionManager, $this->userManager, $this->view);
@@ -298,10 +302,15 @@ class DecryptAllTest extends TestCase {
->method('decryptFile')
->with('/user1/files/foo/subfile');
+
+ /* We need format method to return a string */
+ $outputFormatter = $this->createMock(OutputFormatterInterface::class);
+ $outputFormatter->method('format')->willReturn('foo');
+
$output = $this->createMock(OutputInterface::class);
$output->expects($this->any())
->method('getFormatter')
- ->willReturn($this->createMock(OutputFormatterInterface::class));
+ ->willReturn($outputFormatter);
$progressBar = new ProgressBar($output);
$this->invokePrivate($instance, 'decryptUsersFiles', ['user1', $progressBar, '']);
diff --git a/tests/lib/Files/Config/UserMountCacheTest.php b/tests/lib/Files/Config/UserMountCacheTest.php
index 4ee0f730440..321ed2196fd 100644
--- a/tests/lib/Files/Config/UserMountCacheTest.php
+++ b/tests/lib/Files/Config/UserMountCacheTest.php
@@ -47,7 +47,18 @@ class UserMountCacheTest extends TestCase {
protected function setUp(): void {
$this->fileIds = [];
$this->connection = \OC::$server->getDatabaseConnection();
- $this->userManager = new Manager($this->createMock(IConfig::class), $this->createMock(EventDispatcherInterface::class), $this->createMock(ICacheFactory::class), $this->createMock(IEventDispatcher::class));
+ $config = $this->getMockBuilder(IConfig::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $config
+ ->expects($this->any())
+ ->method('getUserValue')
+ ->willReturnArgument(3);
+ $config
+ ->expects($this->any())
+ ->method('getAppValue')
+ ->willReturnArgument(2);
+ $this->userManager = new Manager($config, $this->createMock(EventDispatcherInterface::class), $this->createMock(ICacheFactory::class), $this->createMock(IEventDispatcher::class));
$userBackend = new Dummy();
$userBackend->createUser('u1', '');
$userBackend->createUser('u2', '');
diff --git a/tests/lib/Files/Node/FolderTest.php b/tests/lib/Files/Node/FolderTest.php
index 94bcac4aa00..067f7288544 100644
--- a/tests/lib/Files/Node/FolderTest.php
+++ b/tests/lib/Files/Node/FolderTest.php
@@ -418,7 +418,7 @@ class FolderTest extends NodeTest {
$subStorage = $this->createMock(Storage::class);
$subStorage->method('getId')->willReturn('test::2');
$subCache = new Cache($subStorage);
- $subMount = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([null, ''])->getMock();
+ $subMount = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([Temporary::class, ''])->getMock();
$mount = $this->createMock(IMountPoint::class);
$mount->method('getStorage')
@@ -954,11 +954,11 @@ class FolderTest extends NodeTest {
$subStorage1 = $this->createMock(Storage::class);
$subStorage1->method('getId')->willReturn('test::2');
$subCache1 = new Cache($subStorage1);
- $subMount1 = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([null, ''])->getMock();
+ $subMount1 = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([Temporary::class, ''])->getMock();
$subStorage2 = $this->createMock(Storage::class);
$subStorage2->method('getId')->willReturn('test::3');
$subCache2 = new Cache($subStorage2);
- $subMount2 = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([null, ''])->getMock();
+ $subMount2 = $this->getMockBuilder(MountPoint::class)->setConstructorArgs([Temporary::class, ''])->getMock();
$mount = $this->createMock(IMountPoint::class);
$mount->method('getStorage')
diff --git a/tests/lib/Http/Client/ResponseTest.php b/tests/lib/Http/Client/ResponseTest.php
index f8f520d6a73..1384e4e732c 100644
--- a/tests/lib/Http/Client/ResponseTest.php
+++ b/tests/lib/Http/Client/ResponseTest.php
@@ -9,7 +9,7 @@
namespace Test\Http\Client;
use GuzzleHttp\Psr7\Response as GuzzleResponse;
-use function GuzzleHttp\Psr7\stream_for;
+use GuzzleHttp\Psr7\Utils;
use OC\Http\Client\Response;
/**
@@ -25,7 +25,7 @@ class ResponseTest extends \Test\TestCase {
}
public function testGetBody() {
- $response = new Response($this->guzzleResponse->withBody(stream_for('MyResponse')));
+ $response = new Response($this->guzzleResponse->withBody(Utils::streamFor('MyResponse')));
$this->assertSame('MyResponse', $response->getBody());
}
diff --git a/tests/lib/InitialStateServiceTest.php b/tests/lib/InitialStateServiceTest.php
index 2a23774baf1..db4c98b20cf 100644
--- a/tests/lib/InitialStateServiceTest.php
+++ b/tests/lib/InitialStateServiceTest.php
@@ -54,7 +54,7 @@ class InitialStateServiceTest extends TestCase {
[23],
[2.3],
[new class implements JsonSerializable {
- public function jsonSerialize() {
+ public function jsonSerialize(): int {
return 3;
}
}],
diff --git a/tests/lib/TempManagerTest.php b/tests/lib/TempManagerTest.php
index 5df0e68d4fa..fd4ef8e2324 100644
--- a/tests/lib/TempManagerTest.php
+++ b/tests/lib/TempManagerTest.php
@@ -26,7 +26,9 @@ class TempManagerTest extends \Test\TestCase {
}
protected function tearDown(): void {
- \OC_Helper::rmdirr($this->baseDir);
+ if ($this->baseDir !== null) {
+ \OC_Helper::rmdirr($this->baseDir);
+ }
$this->baseDir = null;
parent::tearDown();
}
diff --git a/tests/lib/User/ManagerTest.php b/tests/lib/User/ManagerTest.php
index cfdecba9803..51a739994a6 100644
--- a/tests/lib/User/ManagerTest.php
+++ b/tests/lib/User/ManagerTest.php
@@ -667,7 +667,19 @@ class ManagerTest extends TestCase {
}
public function testDeleteUser() {
- $manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher);
+ $config = $this->getMockBuilder(AllConfig::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $config
+ ->expects($this->any())
+ ->method('getUserValue')
+ ->willReturnArgument(3);
+ $config
+ ->expects($this->any())
+ ->method('getAppValue')
+ ->willReturnArgument(2);
+
+ $manager = new \OC\User\Manager($config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher);
$backend = new \Test\Util\User\Dummy();
$manager->registerBackend($backend);