diff --git a/Sources/SwiftMailCore/Extensions/StringExtensions.swift b/Sources/SwiftMailCore/Extensions/String+Redacting.swift similarity index 98% rename from Sources/SwiftMailCore/Extensions/StringExtensions.swift rename to Sources/SwiftMailCore/Extensions/String+Redacting.swift index 4e0d24a..6ed0862 100644 --- a/Sources/SwiftMailCore/Extensions/StringExtensions.swift +++ b/Sources/SwiftMailCore/Extensions/String+Redacting.swift @@ -1,4 +1,4 @@ -// StringExtensions.swift +// String+Redacting.swift // String extensions for the SwiftMailCore library import Foundation diff --git a/Tests/SwiftIMAPTests/StringUtilitiesTests.swift b/Tests/SwiftIMAPTests/StringUtilitiesTests.swift deleted file mode 100644 index b8476d0..0000000 --- a/Tests/SwiftIMAPTests/StringUtilitiesTests.swift +++ /dev/null @@ -1,86 +0,0 @@ -import Foundation -import Testing -import NIOIMAP -@testable import SwiftIMAP - -struct StringUtilitiesTests { - - // MARK: - Sanitized Filename Tests - - @Test - func testSanitizedFileName() { - // Test basic valid filename - let validName = "document.txt" - #expect(validName.sanitizedFileName() == "document.txt") - - // Test filename with invalid characters - let invalidChars = "file:with*invalid/characters?.txt" - #expect(invalidChars.sanitizedFileName() == "file_with_invalid_characters_.txt") - - // Test filename with spaces - let spacesName = "my document.pdf" - #expect(spacesName.sanitizedFileName() == "my_document.pdf") - - // Test filename with special characters - let specialChars = "résumé (2023).pdf" - #expect(specialChars.sanitizedFileName() == "résumé_(2023).pdf") - - // Test empty string - let emptyString = "" - #expect(emptyString.sanitizedFileName() == "") - } - - // MARK: - File Extension Tests - - @Test - func testFileExtension() { - // Test common MIME types - #expect(String.fileExtension(for: "text/plain") == "txt") - #expect(String.fileExtension(for:"text/html") == "html") - #expect(String.fileExtension(for:"image/jpeg") == "jpeg") - #expect(String.fileExtension(for:"image/png") == "png") - #expect(String.fileExtension(for:"application/pdf") == "pdf") - - // Test less common MIME types - #expect(String.fileExtension(for:"audio/mp3") == "mp3") - #expect(String.fileExtension(for:"video/mp4") == "mp4") - #expect(String.fileExtension(for:"application/zip") == "zip") - - // Test unknown MIME types - #expect(String.fileExtension(for:"application/x-custom") == nil) - #expect(String.fileExtension(for:"unknown/type") == nil) - } - - // MARK: - Sequence Set Tests - - @Test - func testToSequenceSet() throws { - // Test single number - let singleNumber = "42" - _ = try singleNumber.toSequenceSet() - // We can't directly test the contents, so we'll just verify it doesn't throw - - // Test simple range - let simpleRange = "1:10" - _ = try simpleRange.toSequenceSet() - // We can't directly test the contents, so we'll just verify it doesn't throw - - // Test invalid input - let invalidRange = "abc" - do { - _ = try invalidRange.toSequenceSet() - throw TestFailure("Expected toSequenceSet to throw for invalid input") - } catch { - // Expected to throw - } - - // Test empty string - let emptyString = "" - do { - _ = try emptyString.toSequenceSet() - throw TestFailure("Expected toSequenceSet to throw for empty string") - } catch { - // Expected to throw - } - } -} diff --git a/Tests/SwiftMailCoreTests/StringExtensionsTests.swift b/Tests/SwiftMailCoreTests/String+RedactingTests.swift similarity index 98% rename from Tests/SwiftMailCoreTests/StringExtensionsTests.swift rename to Tests/SwiftMailCoreTests/String+RedactingTests.swift index 09e38e1..60356c1 100644 --- a/Tests/SwiftMailCoreTests/StringExtensionsTests.swift +++ b/Tests/SwiftMailCoreTests/String+RedactingTests.swift @@ -1,4 +1,4 @@ -// StringExtensionsTests.swift +// String+RedactingTests.swift // Tests for string extensions in the SwiftMailCore library import Testing @@ -68,4 +68,4 @@ struct StringExtensionsTests { let result = loginAtEnd.redactAfter("LOGIN") #expect(result == loginAtEnd, "Should not redact when LOGIN is at the end with no credentials") } -} \ No newline at end of file +}