Skip to content

Commit e2dfbbb

Browse files
committed
1 parent 945282f commit e2dfbbb

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

Tests/FoundationEssentialsTests/StringTests.swift

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,6 +1397,69 @@ private struct StringTests {
13971397
"abcd🎺efgh"
13981398
])
13991399
}
1400+
1401+
func test_Encoding_names() {
1402+
// Encoding to Name
1403+
XCTAssertEqual(String._Encoding.ascii.ianaName, "US-ASCII")
1404+
XCTAssertEqual(String._Encoding.nextstep.ianaName, nil)
1405+
XCTAssertEqual(String._Encoding.japaneseEUC.ianaName, "EUC-JP")
1406+
XCTAssertEqual(String._Encoding.utf8.ianaName, "UTF-8")
1407+
XCTAssertEqual(String._Encoding.isoLatin1.ianaName, "ISO-8859-1")
1408+
XCTAssertEqual(String._Encoding.symbol.ianaName, nil)
1409+
XCTAssertEqual(String._Encoding.nonLossyASCII.ianaName, nil)
1410+
XCTAssertEqual(String._Encoding.shiftJIS.ianaName, "Shift_JIS")
1411+
XCTAssertEqual(String._Encoding.isoLatin2.ianaName, "ISO-8859-2")
1412+
XCTAssertEqual(String._Encoding.unicode.ianaName, "UTF-16")
1413+
XCTAssertEqual(String._Encoding.windowsCP1251.ianaName, "windows-1251")
1414+
XCTAssertEqual(String._Encoding.windowsCP1252.ianaName, "windows-1252")
1415+
XCTAssertEqual(String._Encoding.windowsCP1253.ianaName, "windows-1253")
1416+
XCTAssertEqual(String._Encoding.windowsCP1254.ianaName, "windows-1254")
1417+
XCTAssertEqual(String._Encoding.windowsCP1250.ianaName, "windows-1250")
1418+
XCTAssertEqual(String._Encoding.iso2022JP.ianaName, "ISO-2022-JP")
1419+
XCTAssertEqual(String._Encoding.macOSRoman.ianaName, "macintosh")
1420+
XCTAssertEqual(String._Encoding.utf16BigEndian.ianaName, "UTF-16BE")
1421+
XCTAssertEqual(String._Encoding.utf16LittleEndian.ianaName, "UTF-16LE")
1422+
XCTAssertEqual(String._Encoding.utf32.ianaName, "UTF-32")
1423+
XCTAssertEqual(String._Encoding.utf32BigEndian.ianaName, "UTF-32BE")
1424+
XCTAssertEqual(String._Encoding.utf32LittleEndian.ianaName, "UTF-32LE")
1425+
XCTAssertEqual(String._Encoding(rawValue: .max).ianaName, nil)
1426+
1427+
// Name to Encoding
1428+
XCTAssertEqual(String._Encoding(ianaName: "us-ascii"), .ascii)
1429+
XCTAssertEqual(String._Encoding(ianaName: "iso-ir-2"), nil)
1430+
XCTAssertEqual(String._Encoding(ianaName: "x-nextstep"), nil)
1431+
XCTAssertEqual(String._Encoding(ianaName: "euc-jp"), .japaneseEUC)
1432+
XCTAssertEqual(String._Encoding(ianaName: "CP51932"), nil)
1433+
XCTAssertEqual(String._Encoding(ianaName: "utf-8"), .utf8)
1434+
XCTAssertEqual(String._Encoding(ianaName: "iso_8859-1"), .isoLatin1)
1435+
XCTAssertEqual(String._Encoding(ianaName: "x-mac-symbol"), nil)
1436+
XCTAssertEqual(String._Encoding(ianaName: "Adobe-symbol-encoding"), nil)
1437+
XCTAssertEqual(String._Encoding(ianaName: "cp932"), nil)
1438+
XCTAssertEqual(String._Encoding(ianaName: "shift_jis"), .shiftJIS)
1439+
XCTAssertEqual(String._Encoding(ianaName: "windows-31j"), nil)
1440+
XCTAssertEqual(String._Encoding(ianaName: "iso_8859-2"), .isoLatin2)
1441+
XCTAssertEqual(String._Encoding(ianaName: "utf-16"), .utf16)
1442+
XCTAssertEqual(String._Encoding(ianaName: "iso-10646-ucs-2"), nil)
1443+
XCTAssertEqual(String._Encoding(ianaName: "unicode-1-1"), nil)
1444+
XCTAssertEqual(String._Encoding(ianaName: "windows-1251"), .windowsCP1251)
1445+
XCTAssertEqual(String._Encoding(ianaName: "windows-1252"), .windowsCP1252)
1446+
XCTAssertEqual(String._Encoding(ianaName: "ISO-8859-1-Windows-3.0-Latin-1"), nil)
1447+
XCTAssertEqual(String._Encoding(ianaName: "ISO-8859-1-Windows-3.1-Latin-1"), nil)
1448+
XCTAssertEqual(String._Encoding(ianaName: "windows-1253"), .windowsCP1253)
1449+
XCTAssertEqual(String._Encoding(ianaName: "windows-1254"), .windowsCP1254)
1450+
XCTAssertEqual(String._Encoding(ianaName: "iso-8859-9-windows-Latin-5"), nil)
1451+
XCTAssertEqual(String._Encoding(ianaName: "windows-1250"), .windowsCP1250)
1452+
XCTAssertEqual(String._Encoding(ianaName: "iso-8859-2-windows-Latin-2"), nil)
1453+
XCTAssertEqual(String._Encoding(ianaName: "iso-2022-jp"), .iso2022JP)
1454+
XCTAssertEqual(String._Encoding(ianaName: "macintosh"), .macOSRoman)
1455+
XCTAssertEqual(String._Encoding(ianaName: "utf-16be"), .utf16BigEndian)
1456+
XCTAssertEqual(String._Encoding(ianaName: "utf-16le"), .utf16LittleEndian)
1457+
XCTAssertEqual(String._Encoding(ianaName: "utf-32"), .utf32)
1458+
XCTAssertEqual(String._Encoding(ianaName: "iso-10646-ucs-4"), nil)
1459+
XCTAssertEqual(String._Encoding(ianaName: "utf-32be"), .utf32BigEndian)
1460+
XCTAssertEqual(String._Encoding(ianaName: "utf-32le"), .utf32LittleEndian)
1461+
XCTAssertEqual(String._Encoding(ianaName: "foo-bar-baz"), nil)
1462+
}
14001463
}
14011464

14021465
// MARK: - Helper functions

0 commit comments

Comments
 (0)