diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-03-18 16:22:44 +0100 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-03-18 17:02:06 +0100 |
commit | a697da30634a19d78a7410e0102c7c5ec7a875cd (patch) | |
tree | e87473d60a8c893ab32d59658c1ff6bf82533d9a /apps/files/tests | |
parent | 8035c8d6b80e81facea6fba362664014acbcf525 (diff) | |
download | nextcloud-server-a697da30634a19d78a7410e0102c7c5ec7a875cd.tar.gz nextcloud-server-a697da30634a19d78a7410e0102c7c5ec7a875cd.zip |
feat(files): Add capability for clients to check WCF statefeat/add-wcf-cap
This adds a non-initial-state capability for the
windows-compatibile-filemnames feature.
It is not required by the webui and it might have performance impacts
(always compares system config against windows presets), so it is not
included in every page load, but instead for querying from the clients.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'apps/files/tests')
-rw-r--r-- | apps/files/tests/AdvancedCapabilitiesTest.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/files/tests/AdvancedCapabilitiesTest.php b/apps/files/tests/AdvancedCapabilitiesTest.php new file mode 100644 index 00000000000..af38c51a4a2 --- /dev/null +++ b/apps/files/tests/AdvancedCapabilitiesTest.php @@ -0,0 +1,47 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\Files; + +use OCA\Files\Service\SettingsService; +use PHPUnit\Framework\MockObject\MockObject; +use Test\TestCase; + +class AdvancedCapabilitiesTest extends TestCase { + + protected SettingsService&MockObject $service; + protected AdvancedCapabilities $capabilities; + + protected function setUp(): void { + $this->service = $this->createMock(SettingsService::class); + $this->capabilities = new AdvancedCapabilities($this->service); + } + + /** + * @dataProvider dataGetCapabilities + */ + public function testGetCapabilities(bool $wcf): void { + $this->service + ->expects(self::once()) + ->method('hasFilesWindowsSupport') + ->willReturn($wcf); + + self::assertEqualsCanonicalizing(['files' => [ 'windows_compatible_filenames' => $wcf ]], $this->capabilities->getCapabilities()); + } + + public static function dataGetCapabilities(): array { + return [ + 'WCF enabled' => [ + true, + ], + 'WCF disabled' => [ + false, + ], + ]; + } +} |