diff --git a/Foundation/NSSwiftRuntime.swift b/Foundation/NSSwiftRuntime.swift index 58a7174095..358901475f 100644 --- a/Foundation/NSSwiftRuntime.swift +++ b/Foundation/NSSwiftRuntime.swift @@ -26,6 +26,12 @@ import CoreFoundation public typealias ObjCBool = Bool +public extension ObjCBool { + public var boolValue: Bool { + return self + } +} + internal class __NSCFType : NSObject { private var _cfinfo : Int32 diff --git a/TestFoundation/TestObjCRuntime.swift b/TestFoundation/TestObjCRuntime.swift index 21c0042431..a0d469323a 100644 --- a/TestFoundation/TestObjCRuntime.swift +++ b/TestFoundation/TestObjCRuntime.swift @@ -28,9 +28,23 @@ class TestObjCRuntime: XCTestCase { return [ ("testStringFromClass", testStringFromClass), ("testClassFromString", testClassFromString), + ("testObjCBoolIsCompatible", testObjCBoolIsCompatible), ] } + func testObjCBoolIsCompatible() { + let isTrue: ObjCBool = ObjCBool(booleanLiteral: true) + let isTrueToo: ObjCBool = ObjCBool(true) + let isFalse: ObjCBool = ObjCBool(booleanLiteral: false) + let isFalseToo: ObjCBool = ObjCBool(false) + + XCTAssertTrue(isTrue.boolValue) + XCTAssertTrue(isTrueToo.boolValue) + + XCTAssertFalse(isFalse.boolValue) + XCTAssertFalse(isFalseToo.boolValue) + } + func testStringFromClass() { XCTAssertEqual(NSStringFromClass(NSObject.self), "NSObject") XCTAssertEqual(NSStringFromClass(SwiftClass.self), "TestFoundation.SwiftClass")