/* * Copyright (c) 2018-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the LICENSE * file in the root directory of this source tree. * */ #import #if FB_SONARKIT_ENABLED #import #import using facebook::sonar::SonarCppWrapperPlugin; @interface DummyPlugin : NSObject @end @implementation DummyPlugin - (NSString *)identifier { return @"Dummy"; } - (void)didConnect:(id)connection {} - (void)didDisconnect {} @end @interface SonarCppBridgingTests : XCTestCase @end @implementation SonarCppBridgingTests - (void)testCppWrapperRetainsObjCPlugin { NSObject *dummyPlugin = [DummyPlugin new]; auto retainCountBefore = CFGetRetainCount((void *)dummyPlugin); SonarCppWrapperPlugin wrapperPlugin(dummyPlugin); auto retainCountAfter = CFGetRetainCount((void *)dummyPlugin); XCTAssertTrue(retainCountAfter > retainCountBefore); } @end #endif