diff --git a/Tests/RxCocoaTests/RXObjCRuntime+Testing.h b/Tests/RxCocoaTests/RXObjCRuntime+Testing.h index 168becae..95381c0b 100644 --- a/Tests/RxCocoaTests/RXObjCRuntime+Testing.h +++ b/Tests/RxCocoaTests/RXObjCRuntime+Testing.h @@ -17,8 +17,7 @@ NSInteger RX_number_of_swizzled_methods(); #endif @protocol SentMessageTestClassCreationProtocol --(instancetype __nonnull)init; - ++(instancetype __nonnull)createInstance; @end @interface RXObjCTestRuntime : NSObject diff --git a/Tests/RxCocoaTests/RXObjCRuntime+Testing.m b/Tests/RxCocoaTests/RXObjCRuntime+Testing.m index ca7d3479..abba15ee 100644 --- a/Tests/RxCocoaTests/RXObjCRuntime+Testing.m +++ b/Tests/RxCocoaTests/RXObjCRuntime+Testing.m @@ -62,6 +62,10 @@ return self; \ } \ \ ++(instancetype)createInstance { \ + return [[self alloc] init]; \ +} \ + \ -(void)voidJustCalledVoidToSay { \ self.baseMessages = [self.baseMessages arrayByAddingObject:@[]]; \ } \ diff --git a/Tests/RxCocoaTests/SentMessageTest.swift b/Tests/RxCocoaTests/SentMessageTest.swift index e8b5743c..4afa0525 100644 --- a/Tests/RxCocoaTests/SentMessageTest.swift +++ b/Tests/RxCocoaTests/SentMessageTest.swift @@ -203,7 +203,7 @@ extension SentMessageTest { NSSelectorFromString("methodSignatureForSelector:"), NSSelectorFromString("forwardInvocation:"), #selector(SentMessageTestBase_shared.justCalledObject(toSay:)), - NSSelectorFromString("_RX_namespace_justCalledToSayObject:"), + NSSelectorFromString("_RX_namespace_justCalledObjectToSay:"), ]) ], runtimeChange: RxObjCRuntimeChange.changes(dynamicSubclasses:1, methodsForwarded: 1, swizzledForwardClasses: 1) @@ -228,7 +228,7 @@ extension SentMessageTest { NSSelectorFromString("methodSignatureForSelector:"), NSSelectorFromString("forwardInvocation:"), #selector(SentMessageTestBase_shared.justCalledObject(toSay:)), - NSSelectorFromString("_RX_namespace_justCalledToSayObject:"), + NSSelectorFromString("_RX_namespace_justCalledObjectToSay:"), ]) ], runtimeChange: RxObjCRuntimeChange.changes(dynamicSubclasses:1, methodsForwarded: 1, swizzledForwardClasses: 1) @@ -254,7 +254,7 @@ extension SentMessageTest { NSSelectorFromString("methodSignatureForSelector:"), NSSelectorFromString("forwardInvocation:"), #selector(SentMessageTestBase_shared.justCalledObject(toSay:)), - NSSelectorFromString("_RX_namespace_justCalledToSayObject:"), + NSSelectorFromString("_RX_namespace_justCalledObjectToSay:"), ]) ], runtimeChange: RxObjCRuntimeChange.changes() @@ -279,7 +279,7 @@ extension SentMessageTest { NSSelectorFromString("methodSignatureForSelector:"), NSSelectorFromString("forwardInvocation:"), #selector(SentMessageTestBase_shared.justCalledObject(toSay:)), - NSSelectorFromString("_RX_namespace_justCalledToSayObject:"), + NSSelectorFromString("_RX_namespace_justCalledObjectToSay:"), ]) ], runtimeChange: RxObjCRuntimeChange.changes() @@ -971,7 +971,7 @@ extension SentMessageTest { let originalRuntimeState = RxObjCRuntimeState() - var createdObject: T = T() + var createdObject: T! = nil var disposables = [Disposable]() var nCompleted = 0 @@ -979,7 +979,8 @@ extension SentMessageTest { var observables: [Observable] = [] autoreleasepool { - (createdObject, disposables) = createIt() + let (createdObjectTemp, disposables) = createIt() + createdObject = createdObjectTemp let afterCreateState = RxObjCRuntimeState() afterCreateState.assertAfterThisMoment(originalRuntimeState, changed: RxObjCRuntimeChange.changes()) } @@ -1032,7 +1033,7 @@ extension SentMessageTest { disposables = [] // tiny second test to make sure runtime stayed intact - createdObject = T() + createdObject = nil } // ensure all observables are completed on object dispose @@ -1060,7 +1061,7 @@ extension SentMessageTest { func createKVODynamicSubclassed>(_ type: T.Type = T.self) -> () -> (T, [Disposable]) { return { - let t = T() + let t = T.createInstance() //let disposable = (t as! NSObject).rx_observe(NSArray.self, "messages").publish().connect() (t as! NSObject).addObserver(self, forKeyPath: "messages", options: [], context: nil) return (t, [AnonymousDisposable { (t as! NSObject).removeObserver(self, forKeyPath: "messages") }]) @@ -1069,7 +1070,7 @@ extension SentMessageTest { func createNormalInstance>(_ type: T.Type = T.self) -> () -> (T, [Disposable]) { return { - return (T(), []) + return (T.createInstance(), []) } }