@@ -1360,6 +1360,69 @@ final class StringTests : XCTestCase {
1360
1360
" abcd🎺efgh "
1361
1361
] )
1362
1362
}
1363
+
1364
+ func test_Encoding_names( ) {
1365
+ // Encoding to Name
1366
+ XCTAssertEqual ( String . _Encoding. ascii. ianaName, " US-ASCII " )
1367
+ XCTAssertEqual ( String . _Encoding. nextstep. ianaName, nil )
1368
+ XCTAssertEqual ( String . _Encoding. japaneseEUC. ianaName, " EUC-JP " )
1369
+ XCTAssertEqual ( String . _Encoding. utf8. ianaName, " UTF-8 " )
1370
+ XCTAssertEqual ( String . _Encoding. isoLatin1. ianaName, " ISO-8859-1 " )
1371
+ XCTAssertEqual ( String . _Encoding. symbol. ianaName, nil )
1372
+ XCTAssertEqual ( String . _Encoding. nonLossyASCII. ianaName, nil )
1373
+ XCTAssertEqual ( String . _Encoding. shiftJIS. ianaName, " Shift_JIS " )
1374
+ XCTAssertEqual ( String . _Encoding. isoLatin2. ianaName, " ISO-8859-2 " )
1375
+ XCTAssertEqual ( String . _Encoding. unicode. ianaName, " UTF-16 " )
1376
+ XCTAssertEqual ( String . _Encoding. windowsCP1251. ianaName, " windows-1251 " )
1377
+ XCTAssertEqual ( String . _Encoding. windowsCP1252. ianaName, " windows-1252 " )
1378
+ XCTAssertEqual ( String . _Encoding. windowsCP1253. ianaName, " windows-1253 " )
1379
+ XCTAssertEqual ( String . _Encoding. windowsCP1254. ianaName, " windows-1254 " )
1380
+ XCTAssertEqual ( String . _Encoding. windowsCP1250. ianaName, " windows-1250 " )
1381
+ XCTAssertEqual ( String . _Encoding. iso2022JP. ianaName, " ISO-2022-JP " )
1382
+ XCTAssertEqual ( String . _Encoding. macOSRoman. ianaName, " macintosh " )
1383
+ XCTAssertEqual ( String . _Encoding. utf16BigEndian. ianaName, " UTF-16BE " )
1384
+ XCTAssertEqual ( String . _Encoding. utf16LittleEndian. ianaName, " UTF-16LE " )
1385
+ XCTAssertEqual ( String . _Encoding. utf32. ianaName, " UTF-32 " )
1386
+ XCTAssertEqual ( String . _Encoding. utf32BigEndian. ianaName, " UTF-32BE " )
1387
+ XCTAssertEqual ( String . _Encoding. utf32LittleEndian. ianaName, " UTF-32LE " )
1388
+ XCTAssertEqual ( String . _Encoding ( rawValue: . max) . ianaName, nil )
1389
+
1390
+ // Name to Encoding
1391
+ XCTAssertEqual ( String . _Encoding ( ianaName: " us-ascii " ) , . ascii)
1392
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-ir-2 " ) , nil )
1393
+ XCTAssertEqual ( String . _Encoding ( ianaName: " x-nextstep " ) , nil )
1394
+ XCTAssertEqual ( String . _Encoding ( ianaName: " euc-jp " ) , . japaneseEUC)
1395
+ XCTAssertEqual ( String . _Encoding ( ianaName: " CP51932 " ) , nil )
1396
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-8 " ) , . utf8)
1397
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso_8859-1 " ) , . isoLatin1)
1398
+ XCTAssertEqual ( String . _Encoding ( ianaName: " x-mac-symbol " ) , nil )
1399
+ XCTAssertEqual ( String . _Encoding ( ianaName: " Adobe-symbol-encoding " ) , nil )
1400
+ XCTAssertEqual ( String . _Encoding ( ianaName: " cp932 " ) , nil )
1401
+ XCTAssertEqual ( String . _Encoding ( ianaName: " shift_jis " ) , . shiftJIS)
1402
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-31j " ) , nil )
1403
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso_8859-2 " ) , . isoLatin2)
1404
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-16 " ) , . utf16)
1405
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-10646-ucs-2 " ) , nil )
1406
+ XCTAssertEqual ( String . _Encoding ( ianaName: " unicode-1-1 " ) , nil )
1407
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-1251 " ) , . windowsCP1251)
1408
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-1252 " ) , . windowsCP1252)
1409
+ XCTAssertEqual ( String . _Encoding ( ianaName: " ISO-8859-1-Windows-3.0-Latin-1 " ) , nil )
1410
+ XCTAssertEqual ( String . _Encoding ( ianaName: " ISO-8859-1-Windows-3.1-Latin-1 " ) , nil )
1411
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-1253 " ) , . windowsCP1253)
1412
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-1254 " ) , . windowsCP1254)
1413
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-8859-9-windows-Latin-5 " ) , nil )
1414
+ XCTAssertEqual ( String . _Encoding ( ianaName: " windows-1250 " ) , . windowsCP1250)
1415
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-8859-2-windows-Latin-2 " ) , nil )
1416
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-2022-jp " ) , . iso2022JP)
1417
+ XCTAssertEqual ( String . _Encoding ( ianaName: " macintosh " ) , . macOSRoman)
1418
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-16be " ) , . utf16BigEndian)
1419
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-16le " ) , . utf16LittleEndian)
1420
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-32 " ) , . utf32)
1421
+ XCTAssertEqual ( String . _Encoding ( ianaName: " iso-10646-ucs-4 " ) , nil )
1422
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-32be " ) , . utf32BigEndian)
1423
+ XCTAssertEqual ( String . _Encoding ( ianaName: " utf-32le " ) , . utf32LittleEndian)
1424
+ XCTAssertEqual ( String . _Encoding ( ianaName: " foo-bar-baz " ) , nil )
1425
+ }
1363
1426
}
1364
1427
1365
1428
// MARK: - Helper functions
0 commit comments