Skip to content
This repository was archived by the owner on Jun 4, 2025. It is now read-only.

Commit 346953e

Browse files
authored
Merge pull request #319 from wordpress-mobile/move-from-specta-to-quick
Rewrite one test to move away from Specta
2 parents b8058f6 + bea05fa commit 346953e

File tree

9 files changed

+187
-162
lines changed

9 files changed

+187
-162
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,4 @@ _None._
4848

4949
- Add this changelog entry about changelog itself [#317]
5050
- Remove FormatterKit [#320]
51+
- Move away from Specta, use Quick instead [#319]

Podfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,5 @@ target 'WordPressSharedTests' do
2626
pod 'OHHTTPStubs', '~> 9.0'
2727
pod 'OHHTTPStubs/Swift', '~> 9.0'
2828
pod 'OCMock', '~> 3.4'
29-
pod 'Specta', '1.0.7'
30-
pod 'Expecta', '1.0.6'
29+
pod 'Quick', '~> 6.0'
3130
end

Podfile.lock

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ PODS:
22
- CocoaLumberjack (3.7.0):
33
- CocoaLumberjack/Core (= 3.7.0)
44
- CocoaLumberjack/Core (3.7.0)
5-
- Expecta (1.0.6)
65
- FormatterKit/Resources (1.8.2)
76
- FormatterKit/TimeIntervalFormatter (1.8.2):
87
- FormatterKit/Resources
@@ -22,34 +21,31 @@ PODS:
2221
- OHHTTPStubs/OHPathHelpers (9.1.0)
2322
- OHHTTPStubs/Swift (9.1.0):
2423
- OHHTTPStubs/Default
25-
- Specta (1.0.7)
24+
- Quick (6.0.0)
2625

2726
DEPENDENCIES:
2827
- CocoaLumberjack (~> 3.4)
29-
- Expecta (= 1.0.6)
3028
- FormatterKit/TimeIntervalFormatter (= 1.8.2)
3129
- OCMock (~> 3.4)
3230
- OHHTTPStubs (~> 9.0)
3331
- OHHTTPStubs/Swift (~> 9.0)
34-
- Specta (= 1.0.7)
32+
- Quick (~> 6.0)
3533

3634
SPEC REPOS:
3735
trunk:
3836
- CocoaLumberjack
39-
- Expecta
4037
- FormatterKit
4138
- OCMock
4239
- OHHTTPStubs
43-
- Specta
40+
- Quick
4441

4542
SPEC CHECKSUMS:
4643
CocoaLumberjack: e8955b9d337ac307103b0a34fd141c32f27e53c5
47-
Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5
4844
FormatterKit: 4b8f29acc9b872d5d12a63efb560661e8f2e1b98
4945
OCMock: 29f6e52085b4e7d9b075cbf03ed7c3112f82f934
5046
OHHTTPStubs: 90eac6d8f2c18317baeca36698523dc67c513831
51-
Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66
47+
Quick: 4d5ab9e81f0a632cbf9bc4f3069b55e5eeb175df
5248

53-
PODFILE CHECKSUM: ace859cfebf0a7a9ce551e216483b641cd360251
49+
PODFILE CHECKSUM: 3fc995dfb0ac66f4b9354243efa5e70275914622
5450

5551
COCOAPODS: 1.11.3

WordPressShared.xcodeproj/project.pbxproj

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
2EB9C57E3BFEDA1676FE857C /* Pods_WordPressShared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE15A6EE80D7766A21B83BF5 /* Pods_WordPressShared.framework */; };
1414
32E1BFD524A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E1BFD424A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift */; };
1515
3F338B76289BE0F90014ADC5 /* BuildkiteTestCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 3F338B75289BE0F90014ADC5 /* BuildkiteTestCollector */; };
16+
4A2B7D132919E294007E5917 /* WPAnalyticsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */; };
1617
740B23CC1F17F1FF00067A2A /* DisplayableImageHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 740B23CA1F17F1FF00067A2A /* DisplayableImageHelper.h */; settings = {ATTRIBUTES = (Public, ); }; };
1718
740B23CD1F17F1FF00067A2A /* DisplayableImageHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 740B23CB1F17F1FF00067A2A /* DisplayableImageHelper.m */; };
1819
740B23CF1F17F28E00067A2A /* DisplayableImageHelperTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 740B23CE1F17F28E00067A2A /* DisplayableImageHelperTest.m */; };
@@ -87,7 +88,6 @@
8788
E157E126239527700051AE41 /* Secret.swift in Sources */ = {isa = PBXBuildFile; fileRef = E157E125239527700051AE41 /* Secret.swift */; };
8889
E157E128239527AD0051AE41 /* SecretTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E157E127239527AD0051AE41 /* SecretTests.swift */; };
8990
E18EABEA1F0E2C6800BFCB0B /* TestAnalyticsTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */; };
90-
E18EABEB1F0E2C6800BFCB0B /* WPAnalyticsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E18EABE91F0E2C6800BFCB0B /* WPAnalyticsTests.m */; };
9191
E1A444281F063CAB00F6AA8A /* WPAnalytics.h in Headers */ = {isa = PBXBuildFile; fileRef = E1A444261F063CAB00F6AA8A /* WPAnalytics.h */; settings = {ATTRIBUTES = (Public, ); }; };
9292
E1A444291F063CAB00F6AA8A /* WPAnalytics.m in Sources */ = {isa = PBXBuildFile; fileRef = E1A444271F063CAB00F6AA8A /* WPAnalytics.m */; };
9393
F106FA61226FA72E00706DE4 /* StringURLValidationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F19847DD226F92EA0004A8BC /* StringURLValidationTests.swift */; };
@@ -122,6 +122,7 @@
122122
32E1BFD424A63DE6007A08F0 /* WPStyleGuide+SerifFonts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WPStyleGuide+SerifFonts.swift"; sourceTree = "<group>"; };
123123
405129D7901B7D4AD3B46442 /* Pods-WordPressShared.release-internal.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release-internal.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release-internal.xcconfig"; sourceTree = "<group>"; };
124124
47629DF6D2C813279CBF93C4 /* Pods_WordPressSharedTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WordPressSharedTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
125+
4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WPAnalyticsTests.swift; sourceTree = "<group>"; };
125126
5AC1280B7CDCD44A2F3A20AC /* Pods-WordPressShared.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release-alpha.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release-alpha.xcconfig"; sourceTree = "<group>"; };
126127
5B7FC757233F785AA7F785E7 /* Pods-WordPressShared.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.release.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.release.xcconfig"; sourceTree = "<group>"; };
127128
716C92B0CD72E5CD8250C04E /* Pods-WordPressSharedTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressSharedTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests.debug.xcconfig"; sourceTree = "<group>"; };
@@ -211,7 +212,6 @@
211212
E157E127239527AD0051AE41 /* SecretTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecretTests.swift; sourceTree = "<group>"; };
212213
E18EABE71F0E2C6800BFCB0B /* TestAnalyticsTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestAnalyticsTracker.h; sourceTree = "<group>"; };
213214
E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TestAnalyticsTracker.m; sourceTree = "<group>"; };
214-
E18EABE91F0E2C6800BFCB0B /* WPAnalyticsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPAnalyticsTests.m; sourceTree = "<group>"; };
215215
E1A444261F063CAB00F6AA8A /* WPAnalytics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WPAnalytics.h; sourceTree = "<group>"; };
216216
E1A444271F063CAB00F6AA8A /* WPAnalytics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WPAnalytics.m; sourceTree = "<group>"; };
217217
E5A4545AEF641B125A2ABA89 /* Pods-WordPressShared.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressShared.debug.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressShared/Pods-WordPressShared.debug.xcconfig"; sourceTree = "<group>"; };
@@ -378,7 +378,7 @@
378378
F1C83C1123E20F7000A8CCF1 /* StringStripGutenbergContentForExcerptTests.swift */,
379379
E18EABE71F0E2C6800BFCB0B /* TestAnalyticsTracker.h */,
380380
E18EABE81F0E2C6800BFCB0B /* TestAnalyticsTracker.m */,
381-
E18EABE91F0E2C6800BFCB0B /* WPAnalyticsTests.m */,
381+
4A2B7D122919E294007E5917 /* WPAnalyticsTests.swift */,
382382
827070911ECA4E1D00155CBF /* WPImageSourceTest.m */,
383383
93A73ABE1EE9DDB000C0F2F9 /* WPMapFilterReduceTest.m */,
384384
8270708F1ECA4E1C00155CBF /* WordPressSharedTests-Bridging-Header.h */,
@@ -672,19 +672,17 @@
672672
"${PODS_ROOT}/Target Support Files/Pods-WordPressSharedTests/Pods-WordPressSharedTests-frameworks.sh",
673673
"${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework",
674674
"${BUILT_PRODUCTS_DIR}/FormatterKit/FormatterKit.framework",
675-
"${BUILT_PRODUCTS_DIR}/Expecta/Expecta.framework",
676675
"${BUILT_PRODUCTS_DIR}/OCMock/OCMock.framework",
677676
"${BUILT_PRODUCTS_DIR}/OHHTTPStubs/OHHTTPStubs.framework",
678-
"${BUILT_PRODUCTS_DIR}/Specta/Specta.framework",
677+
"${BUILT_PRODUCTS_DIR}/Quick/Quick.framework",
679678
);
680679
name = "[CP] Embed Pods Frameworks";
681680
outputPaths = (
682681
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework",
683682
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FormatterKit.framework",
684-
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Expecta.framework",
685683
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OCMock.framework",
686684
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OHHTTPStubs.framework",
687-
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Specta.framework",
685+
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework",
688686
);
689687
runOnlyForDeploymentPostprocessing = 0;
690688
shellPath = /bin/sh;
@@ -763,9 +761,9 @@
763761
E157E128239527AD0051AE41 /* SecretTests.swift in Sources */,
764762
740B23CF1F17F28E00067A2A /* DisplayableImageHelperTest.m in Sources */,
765763
F1C83C0C23E205D900A8CCF1 /* NSStringSummaryTests.swift in Sources */,
766-
E18EABEB1F0E2C6800BFCB0B /* WPAnalyticsTests.m in Sources */,
767764
7430C9DD1F1934190051B8E6 /* RichContentFormatterTests.swift in Sources */,
768765
B5393FDC206D6169007BF9D4 /* EmailFormatValidatorTests.swift in Sources */,
766+
4A2B7D132919E294007E5917 /* WPAnalyticsTests.swift in Sources */,
769767
748710AC1F06C465008095AB /* StringHelperTests.swift in Sources */,
770768
9A1329DF22170BE2009EE02A /* NSDateHelperTest.swift in Sources */,
771769
);

WordPressSharedTests/TestAnalyticsTracker.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#import <Foundation/Foundation.h>
22
#import "WPAnalytics.h"
33

4+
NS_ASSUME_NONNULL_BEGIN
5+
46
@interface TestAnalyticsTracker : NSObject<WPAnalyticsTracker>
57

68
- (void)track:(WPAnalyticsStat)stat;
@@ -11,3 +13,11 @@
1113
- (void)refreshMetadata;
1214

1315
@end
16+
17+
typedef void (^WPAnalyticsMethodBehaviorInvocation)(id<WPAnalyticsTracker>);
18+
19+
FOUNDATION_EXTERN void WPAnalyticsTestVerifyUnregistered(WPAnalyticsMethodBehaviorInvocation invocation);
20+
FOUNDATION_EXTERN void WPAnalyticsTestVerifyRegistered(WPAnalyticsMethodBehaviorInvocation invocation);
21+
FOUNDATION_EXTERN void WPAnalyticsTestVerifyMultipleTrackers(WPAnalyticsMethodBehaviorInvocation invocation);
22+
23+
NS_ASSUME_NONNULL_END

WordPressSharedTests/TestAnalyticsTracker.m

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#import "TestAnalyticsTracker.h"
22

3+
#import <OCMock/OCMock.h>
4+
35
@implementation TestAnalyticsTracker
46

57
- (void)track:(WPAnalyticsStat)stat
@@ -38,3 +40,31 @@ - (void)trackString:(NSString *)event withProperties:(NSDictionary *)properties
3840

3941

4042
@end
43+
44+
void WPAnalyticsTestVerifyUnregistered(WPAnalyticsMethodBehaviorInvocation invocation) {
45+
id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]);
46+
id expectation = [trackerMock reject];
47+
invocation(expectation);
48+
[trackerMock verify];
49+
}
50+
51+
void WPAnalyticsTestVerifyRegistered(WPAnalyticsMethodBehaviorInvocation invocation) {
52+
id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]);
53+
id expectation = [trackerMock expect];
54+
invocation(expectation);
55+
invocation(trackerMock);
56+
[trackerMock verify];
57+
}
58+
59+
void WPAnalyticsTestVerifyMultipleTrackers(WPAnalyticsMethodBehaviorInvocation invocation) {
60+
id trackerMock = OCMStrictClassMock([TestAnalyticsTracker class]);
61+
id trackerMock2 = OCMStrictClassMock([TestAnalyticsTracker class]);
62+
id expectation = [trackerMock expect];
63+
id expectation2 = [trackerMock2 expect];
64+
invocation(expectation);
65+
invocation(expectation2);
66+
invocation(trackerMock);
67+
invocation(trackerMock2);
68+
[trackerMock verify];
69+
[trackerMock2 verify];
70+
}

WordPressSharedTests/WPAnalyticsTests.m

Lines changed: 0 additions & 143 deletions
This file was deleted.

0 commit comments

Comments
 (0)