/* * Nextcloud - Android Client * * SPDX-FileCopyrightText: 2024 Alper Ozturk * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.nextcloud.utils import com.nextcloud.utils.fileNameValidator.FileNameValidator import com.owncloud.android.AbstractOnServerIT import com.owncloud.android.R import com.owncloud.android.lib.resources.status.NextcloudVersion import com.owncloud.android.lib.resources.status.OCCapability import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test @Suppress("TooManyFunctions") class FileNameValidatorTests : AbstractOnServerIT() { private var capability: OCCapability = fileDataStorageManager.getCapability(account.name) @Before fun setup() { capability = capability.apply { forbiddenFilenamesJson = """[".htaccess",".htaccess"]""" forbiddenFilenameBaseNamesJson = """ ["con", "prn", "aux", "nul", "com0", "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", "com¹", "com²", "com³", "lpt0", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9", "lpt¹", "lpt²", "lpt³"] """ forbiddenFilenameExtensionJson = """[" ",".",".part",".part"]""" forbiddenFilenameCharactersJson = """["<", ">", ":", "\\\\", "/", "|", "?", "*", "&"]""" } } @Test fun testInvalidCharacter() { testOnlyOnServer(NextcloudVersion.nextcloud_30) val result = FileNameValidator.checkFileName("file