Remove unreachable guard condition in String.asciified() (#4395)

This commit is contained in:
Copilot
2025-08-08 11:31:15 +01:00
committed by GitHub
parent a5d3b0ff77
commit 63aadefd64
2 changed files with 17 additions and 21 deletions
@@ -32,9 +32,6 @@ extension String {
guard !isASCII else { guard !isASCII else {
return self return self
} }
guard !canBeConverted(to: .ascii) else {
return nil
}
let mutableString = NSMutableString(string: self) let mutableString = NSMutableString(string: self)
guard CFStringTransform(mutableString, nil, "Any-Latin; Latin-ASCII; [:^ASCII:] Remove" as CFString, false) else { guard CFStringTransform(mutableString, nil, "Any-Latin; Latin-ASCII; [:^ASCII:] Remove" as CFString, false) else {
return nil return nil
+17 -18
View File
@@ -29,25 +29,24 @@ class StringTests: XCTestCase {
func testJ🅾️hnnyIsNotAscii() { func testJ🅾️hnnyIsNotAscii() {
XCTAssertFalse("j🅾️hnny".isASCII) XCTAssertFalse("j🅾️hnny".isASCII)
} }
func testAsciiStaysAscii() { func testAsciifiedMethod() {
// ASCII strings return themselves unchanged
XCTAssertEqual("johnny".asciified(), "johnny") XCTAssertEqual("johnny".asciified(), "johnny")
} XCTAssertEqual("hello".asciified(), "hello")
XCTAssertEqual("abc123".asciified(), "abc123")
func testÖBecomesO() { XCTAssertEqual("".asciified(), "")
XCTAssertEqual("jöhnny".asciified(), "johnny") XCTAssertEqual(" ".asciified(), " ")
}
// Non-ASCII strings get converted or stripped
func testÅBecomesA() { XCTAssertEqual("jöhnny".asciified(), "johnny", "ö should become o")
XCTAssertEqual("jåhnny".asciified(), "jahnny") XCTAssertEqual("jåhnny".asciified(), "jahnny", "å should become a")
} XCTAssertEqual("café".asciified(), "cafe")
XCTAssertEqual("naïve".asciified(), "naive")
func test1️⃣2️⃣3️⃣Becomes123() { XCTAssertEqual("résumé".asciified(), "resume")
XCTAssertEqual("1️⃣2️⃣3️⃣".asciified(), "123") XCTAssertEqual("🚀".asciified(), "")
} XCTAssertEqual("Heartbreak Hotel 🏩".asciified(), "Heartbreak Hotel", "The emoji should be stripped.")
XCTAssertEqual("1️⃣2️⃣3️⃣".asciified(), "123", "The emoji should be converted to ASCII.")
func testStripsTheHeartbreakHotel() {
XCTAssertEqual("Heartbreak Hotel 🏩".asciified(), "Heartbreak Hotel")
} }
func testGenerateBreakableWhitespaceEnd() { func testGenerateBreakableWhitespaceEnd() {