/* * Copyright (c) Facebook, Inc. and its affiliates. * * 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 #import #import #import #import #import #import #import #import #import "FlipperPlugin.h" @interface FlipperUtilTests : XCTestCase @end @implementation FlipperUtilTests { FlipperResponderMock *responder; } - (void)setUp { responder = [FlipperResponderMock new]; } - (void)testPerformOnMainThreadSuccess { FlipperPerformBlockOnMainThread(^{}, responder); NSAssert([responder.successes count] == 0, @"No successes are output"); NSAssert([responder.errors count] == 0, @"No errors are output"); } - (void)testPerformOnMainThreadStdException { FlipperPerformBlockOnMainThread(^{ throw new std::exception(); }, responder); NSAssert([responder.successes count] == 0, @"No successes are output"); NSAssert([responder.errors count] == 1, @"1 error is output"); } - (void)testPerformOnMainThreadNSException { FlipperPerformBlockOnMainThread(^{ NSArray *a = [NSArray init]; [a objectAtIndex:1]; }, responder); NSAssert([responder.successes count] == 0, @"No successes are output"); NSAssert([responder.errors count] == 1, @"1 error is output"); } @end #endif