Skip to content

Commit d7c16ae

Browse files
committed
Refactor
Signed-off-by: Milen Pivchev <milen.pivchev@gmail.com>
1 parent 24e19e7 commit d7c16ae

4 files changed

Lines changed: 22 additions & 24 deletions

File tree

Sources/NextcloudKit/Utils/FileAutoRenamer.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
import Foundation
66

77
public final class FileAutoRenamer: Sendable {
8-
private let capabilities: NKCapabilities.Capabilities
98
private let forbiddenFileNameCharacters: [String]
109
private let forbiddenFileNameExtensions: [String]
10+
private let capabilities: NKCapabilities.Capabilities
1111

1212
private let replacement = "_"
1313

14-
public init(capabilities: NKCapabilities.Capabilities, forbiddenFileNameCharacters: [String] = [], forbiddenFileNameExtensions: [String] = []) {
14+
public init(capabilities: NKCapabilities.Capabilities) {
15+
self.forbiddenFileNameCharacters = capabilities.forbiddenFileNameCharacters
16+
self.forbiddenFileNameExtensions = capabilities.forbiddenFileNameExtensions.map { $0.lowercased() }
1517
self.capabilities = capabilities
16-
self.forbiddenFileNameCharacters = forbiddenFileNameCharacters
17-
self.forbiddenFileNameExtensions = forbiddenFileNameExtensions.map { $0.lowercased() }
1818
}
1919

2020
public func rename(filename: String, isFolderPath: Bool = false) -> String {

Sources/NextcloudKit/Utils/FileNameValidator.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ public final class FileNameValidator: Sendable {
3737
return NKError(errorCode: NSURLErrorCannotCreateFile, errorDescription: errorMessage)
3838
}
3939

40-
public init(forbiddenFileNames: [String], forbiddenFileNameBasenames: [String], forbiddenFileNameCharacters: [String], forbiddenFileNameExtensions: [String], capabilities: NKCapabilities.Capabilities) {
41-
self.forbiddenFileNames = forbiddenFileNames.map { $0.uppercased() }
42-
self.forbiddenFileNameBasenames = forbiddenFileNameBasenames.map { $0.uppercased() }
43-
self.forbiddenFileNameCharacters = forbiddenFileNameCharacters
44-
self.forbiddenFileNameExtensions = forbiddenFileNameExtensions.map { $0.uppercased() }
40+
public init(capabilities: NKCapabilities.Capabilities) {
41+
self.forbiddenFileNames = capabilities.forbiddenFileNames.map { $0.uppercased() }
42+
self.forbiddenFileNameBasenames = capabilities.forbiddenFileNameBasenames.map { $0.uppercased() }
43+
self.forbiddenFileNameCharacters = capabilities.forbiddenFileNameCharacters
44+
self.forbiddenFileNameExtensions = capabilities.forbiddenFileNameExtensions.map { $0.uppercased() }
4545
self.capabilities = capabilities
4646
}
4747

Tests/NextcloudKitUnitTests/FileAutoRenamerUnitTests.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ struct FileAutoRenamerUnitTests {
3737
capabilities.windowsCompatibleFilenamesEnabled = wcfEnabled
3838
capabilities.serverVersionMajor = serverMajor
3939

40-
return FileAutoRenamer(
41-
capabilities: capabilities,
42-
forbiddenFileNameCharacters: chars,
43-
forbiddenFileNameExtensions: exts
44-
)
40+
capabilities.forbiddenFileNameCharacters = chars
41+
capabilities.forbiddenFileNameExtensions = exts
42+
43+
return FileAutoRenamer(capabilities: capabilities)
4544
}
4645

4746
@Test func testInvalidChar() {

Tests/NextcloudKitUnitTests/FileNameValidatorUnitTests.swift

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,15 @@ struct FileNameValidatorUnitTests {
1212
capabilities.windowsCompatibleFilenamesEnabled = wcfEnabled
1313
capabilities.serverVersionMajor = serverMajor
1414

15-
return FileNameValidator(
16-
forbiddenFileNames: [".htaccess",".htaccess"],
17-
forbiddenFileNameBasenames: ["con", "prn", "aux", "nul", "com0", "com1", "com2", "com3", "com4",
18-
"com5", "com6", "com7", "com8", "com9", "com¹", "com²", "com³",
19-
"lpt0", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7",
20-
"lpt8", "lpt9", "lpt¹", "lpt²", "lpt³"],
21-
forbiddenFileNameCharacters: ["<", ">", ":", "\\\\", "/", "|", "?", "*", "&"],
22-
forbiddenFileNameExtensions: [".filepart",".part", ".", ",", " "],
23-
capabilities: capabilities
24-
)
15+
capabilities.forbiddenFileNames = [".htaccess",".htaccess"]
16+
capabilities.forbiddenFileNameBasenames = ["con", "prn", "aux", "nul", "com0", "com1", "com2", "com3", "com4",
17+
"com5", "com6", "com7", "com8", "com9", "com¹", "com²", "com³",
18+
"lpt0", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7",
19+
"lpt8", "lpt9", "lpt¹", "lpt²", "lpt³"]
20+
capabilities.forbiddenFileNameCharacters = ["<", ">", ":", "\\\\", "/", "|", "?", "*", "&"]
21+
capabilities.forbiddenFileNameExtensions = [".filepart",".part", ".", ",", " "]
22+
23+
return FileNameValidator(capabilities: capabilities)
2524
}
2625

2726
@Test("Invalid character is rejected")

0 commit comments

Comments
 (0)