From adcd8b0b8b0b36d04fca2115678cb3e86f12ab76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Wei=C3=9F?= Date: Tue, 19 Sep 2017 11:50:44 +0100 Subject: [PATCH] compatibility with ObjCBool --- Foundation/NSSwiftRuntime.swift | 6 ++++++ TestFoundation/TestObjCRuntime.swift | 14 ++++++++++++++ 2 files changed, 20 insertions(+) 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")