Merge pull request #1267 from spevans/pr_nsstring_test_fix_4_0
diff --git a/Foundation/NSString.swift b/Foundation/NSString.swift
index 54fe91f..09c1243 100644
--- a/Foundation/NSString.swift
+++ b/Foundation/NSString.swift
@@ -271,7 +271,10 @@
}
public convenience init?(cString nullTerminatedCString: UnsafePointer<Int8>, encoding: UInt) {
- self.init(string: CFStringCreateWithCString(kCFAllocatorSystemDefault, nullTerminatedCString, CFStringConvertNSStringEncodingToEncoding(encoding))._swiftObject)
+ guard let str = CFStringCreateWithCString(kCFAllocatorSystemDefault, nullTerminatedCString, CFStringConvertNSStringEncodingToEncoding(encoding)) else {
+ return nil
+ }
+ self.init(string: str._swiftObject)
}
internal func _fastCStringContents(_ nullTerminated: Bool) -> UnsafePointer<Int8>? {
diff --git a/TestFoundation/TestNSString.swift b/TestFoundation/TestNSString.swift
index b3787bf..16fd07c 100644
--- a/TestFoundation/TestNSString.swift
+++ b/TestFoundation/TestNSString.swift
@@ -49,16 +49,13 @@
("test_isNotEqualToObjectWithNSNumber", test_isNotEqualToObjectWithNSNumber ),
("test_FromASCIIData", test_FromASCIIData ),
("test_FromUTF8Data", test_FromUTF8Data ),
- // Swift3 updates broke the expectations of this test. disabling for now
- // ("test_FromMalformedUTF8Data", test_FromMalformedUTF8Data ),
+ ("test_FromMalformedUTF8Data", test_FromMalformedUTF8Data ),
("test_FromASCIINSData", test_FromASCIINSData ),
("test_FromUTF8NSData", test_FromUTF8NSData ),
- // Swift3 updates broke the expectations of this test. disabling for now
- // ("test_FromMalformedUTF8NSData", test_FromMalformedUTF8NSData ),
+ ("test_FromMalformedUTF8NSData", test_FromMalformedUTF8NSData ),
("test_FromNullTerminatedCStringInASCII", test_FromNullTerminatedCStringInASCII ),
("test_FromNullTerminatedCStringInUTF8", test_FromNullTerminatedCStringInUTF8 ),
- // Swift3 updates broke the expectations of this test. disabling for now
- // ("test_FromMalformedNullTerminatedCStringInUTF8", test_FromMalformedNullTerminatedCStringInUTF8 ),
+ ("test_FromMalformedNullTerminatedCStringInUTF8", test_FromMalformedNullTerminatedCStringInUTF8 ),
("test_uppercaseString", test_uppercaseString ),
("test_lowercaseString", test_lowercaseString ),
("test_capitalizedString", test_capitalizedString ),