Fixes problem with double registration of optimized observer for `BOOL` aka `char`.

This commit is contained in:
Krunoslav Zaher 2015-12-20 17:57:08 +01:00
parent b9018f69af
commit 646209ea09
3 changed files with 9 additions and 10 deletions

View File

@ -163,7 +163,7 @@ DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_id)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_closure)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_int)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_long)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_BOOL)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_char)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_id_id)
DECLARE_OBSERVING_CLASS_PAIR_FOR_TEST(dealloc)

View File

@ -547,7 +547,7 @@ IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_id)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_closure)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_int)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_long)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_BOOL)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_char)
IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(optimized_id_id)
_IMPLEMENT_OBSERVING_CLASS_PAIR_FOR_TEST(dealloc,,)

View File

@ -337,13 +337,13 @@ extension SentMessageTest {
}
}
func testBaseClass_subClass_dont_interact_for_optimized_version_BOOL() {
func testBaseClass_subClass_dont_interact_for_optimized_version_char() {
_baseClass_subClass_dont_interact_for_optimized_version(
SentMessageTestBase_optimized_BOOL.self,
SentMessageTest_optimized_BOOL.self,
"voidJustCalledToSayBool:") { target in
target.voidJustCalledToSayBool(true)
return [[[NSNumber(bool: true)]]]
SentMessageTestBase_optimized_char.self,
SentMessageTest_optimized_char.self,
"voidJustCalledToSayChar:") { target in
target.voidJustCalledToSayChar(3)
return [[[NSNumber(char: 3)]]]
}
}
@ -824,11 +824,10 @@ extension SentMessageTest {
_testMessageRecordedAndAllCallsAreMade("voidJustCalledToSayUnsignedLong:", sendMessage: { x in x.voidJustCalledToSayUnsignedLong(11); return 11 }, expectedResult: 11)
_testMessageRecordedAndAllCallsAreMade("voidJustCalledToSayFloat:", sendMessage: { x in x.voidJustCalledToSayFloat(13); return 13 }, expectedResult: 13)
_testMessageRecordedAndAllCallsAreMade("voidJustCalledToSayDouble:", sendMessage: { x in x.voidJustCalledToSayDouble(13); return 13 }, expectedResult: 13)
_testMessageRecordedAndAllCallsAreMade("voidJustCalledToSayBool:", sendMessage: { x in x.voidJustCalledToSayBool(true); return true }, expectedResult: true)
let endRuntimeState = RxObjCRuntimeState()
endRuntimeState.assertAfterThisMoment(middleRuntimeState, changed: RxObjCRuntimeChange.changes(methodsSwizzled: 13))
endRuntimeState.assertAfterThisMoment(middleRuntimeState, changed: RxObjCRuntimeChange.changes(methodsSwizzled: 12))
}