Skip to content

Commit 3b99793

Browse files
xushuangqingmegCanicalKb
xushuangqing
authored andcommitted
Test NSMapTable with opaque memory option
1 parent 8f45a82 commit 3b99793

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

FBRetainCycleDetectorTests/FBRCDCollectionTests.m

+12
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,18 @@ - (void)testThatRetainCycleDetectorSkipsWhenCollectionIsMutatedWhileEnumeration
9191
XCTAssertFalse([retainCycles containsObject:[[FBObjectiveCObject alloc] initWithObject:testCollection]]);
9292
}
9393

94+
- (void)testNSMapTableWithOpaqueMemoryOption {
95+
NSMapTable *mapTableWithOpaqueMemory = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsOpaqueMemory | NSPointerFunctionsIntegerPersonality valueOptions:NSPointerFunctionsOpaqueMemory | NSPointerFunctionsIntegerPersonality capacity:0];
96+
NSInteger sample = 1;
97+
[mapTableWithOpaqueMemory setObject:(__bridge id)((void *)sample) forKey:(__bridge id)((void *)sample)];
98+
99+
FBRetainCycleDetector *detector = [FBRetainCycleDetector new];
100+
[detector addCandidate:mapTableWithOpaqueMemory];
101+
NSSet *retainCycles = [detector findRetainCycles];
102+
103+
XCTAssertFalse([retainCycles containsObject:[[FBObjectiveCObject alloc] initWithObject:mapTableWithOpaqueMemory]]);
104+
}
105+
94106
#endif //_INTERNAL_RCD_ENABLED
95107

96108
@end

0 commit comments

Comments
 (0)