Skip to content

Commit

Permalink
Port diff from specta#213
Browse files Browse the repository at this point in the history
  • Loading branch information
owjsub committed Feb 2, 2022
1 parent a6895b4 commit 0fd2fe0
Show file tree
Hide file tree
Showing 15 changed files with 33 additions and 22 deletions.
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
language: objective-c
osx_image: xcode7
osx_image: xcode13
before_install:
- gem i slather --no-rdoc
- gem i slather --no-rdoc
script:
- bundle exec rake specs:ios
- bundle exec rake specs:osx
- bundle exec rake specs:ios
- bundle exec rake specs:osx
after_success: slather
2 changes: 1 addition & 1 deletion Specta/SpectaTests/FailingSpecTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ @implementation FailingSpecTest
- (void)testFailingSpec {
foo = @"not foo";
bar = @"not bar";
XCTestSuiteRun *result = RunSpec(_FailingSpecTestSpec);
XCTestRun *result = RunSpec(_FailingSpecTestSpec);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 2);
assertFalse([result hasSucceeded]);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/FocusedSpecTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ - (void)test_compiled_examples_are_focused {

- (void)test_focused_specs_are_run_exclusively {
[_FocusedSpecTestSpec spt_setDisabled:NO];
XCTestSuiteRun *result = RunSpec(_FocusedSpecTestSpec);
XCTestRun *result = RunSpec(_FocusedSpecTestSpec);
[_FocusedSpecTestSpec spt_setDisabled:YES];

assertEqual([result testCaseCount], 3);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/PendingSpecTest1.m
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ @interface PendingSpecTest1 : XCTestCase; @end
@implementation PendingSpecTest1

- (void)testPendingSpec {
XCTestSuiteRun *result = RunSpec(_PendingSpecTest1Spec);
XCTestRun *result = RunSpec(_PendingSpecTest1Spec);
assertEqual([result testCaseCount], 5);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/PendingSpecTest2.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ @interface PendingSpecTest2 : XCTestCase; @end
@implementation PendingSpecTest2

- (void)testPendingSpec {
XCTestSuiteRun *result = RunSpec(_PendingSpecTest2Spec);
XCTestRun *result = RunSpec(_PendingSpecTest2Spec);
assertEqual([result testCaseCount], 12);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/PendingSpecTest3.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ @interface PendingSpecTest3 : XCTestCase; @end
@implementation PendingSpecTest3

- (void)testPendingSpec {
XCTestSuiteRun *result = RunSpec(_PendingSpecTest3Spec);
XCTestRun *result = RunSpec(_PendingSpecTest3Spec);
assertEqual([result testCaseCount], 2);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/PendingSpecTest4.m
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ @interface PendingSpecTest4 : XCTestCase; @end
@implementation PendingSpecTest4

- (void)testPendingSpec {
XCTestSuiteRun *result = RunSpec(_PendingSpecTest4Spec);
XCTestRun *result = RunSpec(_PendingSpecTest4Spec);
assertEqual([result testCaseCount], 1);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/SharedExamplesTest1.m
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ @implementation SharedExamplesTest1

- (void)testSharedExamples {
items = [[NSMutableArray alloc] init];
XCTestSuiteRun *result = RunSpec(_SharedExamplesTest1Spec);
XCTestRun *result = RunSpec(_SharedExamplesTest1Spec);
assertEqual([result testCaseCount], 4);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/SharedExamplesTest2.m
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ @implementation SharedExamplesTest2
- (void)testSharedExamples {
foo = @"Not Foo";
items = [[NSMutableArray alloc] init];
XCTestSuiteRun *result = RunSpec(_SharedExamplesTest2Spec);
XCTestRun *result = RunSpec(_SharedExamplesTest2Spec);
assertEqual([result testCaseCount], 4);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 1);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/SharedExamplesTest4.m
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ @interface SharedExamplesTest4 : XCTestCase; @end
@implementation SharedExamplesTest4

- (void)testSharedExamples {
XCTestSuiteRun *result = RunSpec(_SharedExamplesTest4Spec);
XCTestRun *result = RunSpec(_SharedExamplesTest4Spec);
assertEqual([result testCaseCount], 2);
assertEqual([result unexpectedExceptionCount], 0);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/SharedExamplesTest5.m
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ @implementation SharedExamplesTest5

- (void)testSharedExamplesFailingIfCalledInsideAnItBlock {
shouldInvokeItShouldBehaveLike = YES;
XCTestSuiteRun *result = RunSpec(_SharedExamplesTest5Spec);
XCTestRun *result = RunSpec(_SharedExamplesTest5Spec);
assertEqual([result testCaseCount], 1);
assertEqual([result unexpectedExceptionCount], 1);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/SharedExamplesTest6.m
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ @implementation SharedExamplesTest6

- (void)testSharedExamplesFailingIfNonexistent {
shouldInvokeItBehavesLike = YES;
XCTestSuiteRun *result = RunSpec(_SharedExamplesTest6Spec);
XCTestRun *result = RunSpec(_SharedExamplesTest6Spec);
assertEqual([result testCaseCount], 1);
assertEqual([result unexpectedExceptionCount], 1);
assertEqual([result failureCount], 0);
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/TestHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

#define RunSpec(TestClass) RunSpecClass([TestClass class])

XCTestSuiteRun *RunSpecClass(Class testClass);
XCTestRun *RunSpecClass(Class testClass);

#define assertTrue(expression) XCTAssertTrue((expression), @"")
#define assertFalse(expression) XCTAssertFalse((expression), @"")
Expand Down
21 changes: 16 additions & 5 deletions Specta/SpectaTests/TestHelper.m
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
#import "TestHelper.h"

XCTestSuiteRun *RunSpecClass(Class testClass) {
__block XCTestSuiteRun *result;
@interface TestSuitable : NSObject
- (XCTestRun *)run;
@end

XCTestRun *RunSpecClass(Class testClass) {
__block XCTestRun *result;

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100
XCTestObservationCenter *observationCenter = [XCTestObservationCenter sharedTestObservationCenter];
#else
XCTestObservationCenter *observationCenter = [XCTestObservationCenter sharedObservationCenter];
#endif
[observationCenter _suspendObservationForBlock:^{
XCTestSuite *testSuite = [XCTestSuite testSuiteForTestCaseClass:testClass];
[testSuite runTest];
result = (XCTestSuiteRun *)testSuite.testRun;
id suite = [XCTestSuite testSuiteForTestCaseClass:testClass];
// Xcode 8 support
// ref: https://github.com/specta/specta/pull/213/files
if ([suite respondsToSelector:@selector(runTest)]) {
[suite runTest];
result = [suite testRun];
// Xcode 7 support
} else if ([suite respondsToSelector:@selector(run)]) {
result = [(TestSuitable *)suite run];
}
}];

return result;
Expand Down
2 changes: 1 addition & 1 deletion Specta/SpectaTests/UnexpectedExceptionTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ - (void)setUp {
- (void)testUnexpectedExceptionHandling {
shouldRaiseException = YES;

XCTestSuiteRun *result = RunSpec(_UnexpectedExceptionTestSpec);
XCTestRun *result = RunSpec(_UnexpectedExceptionTestSpec);
assertEqual([result failureCount], 0);
assertEqual([result unexpectedExceptionCount], 1);
assertFalse([result hasSucceeded]);
Expand Down

0 comments on commit 0fd2fe0

Please sign in to comment.