| // RUN: %target-run-simple-swift |
| // REQUIRES: executable_test |
| // REQUIRES: objc_interop |
| |
| import Foundation |
| import StdlibUnittest |
| |
| var BundleTests = TestSuite("BundleTests") |
| |
| BundleTests.test("Bundle.bundleForNilClass") { |
| // Ensure that bundleForClass: tolerates a nil parameter. The |
| // Foundation implementation does. The patched version from |
| // ObjCRuntimeGetImageNameFromClass did not. |
| // |
| // SR-9188 |
| typealias BundleForClassFunc = |
| @convention(c) (AnyObject, Selector, AnyObject?) -> Bundle |
| |
| let sel = #selector(Bundle.init(for:)) |
| let imp = unsafeBitCast(Bundle.method(for: sel), to: BundleForClassFunc.self) |
| let bundleForNil = imp(Bundle.self, sel, nil); |
| expectEqual(Bundle.main, bundleForNil) |
| } |
| |
| runAllTests() |