Skip to content

Commit 715530e

Browse files
committed
test
1 parent ccc75ae commit 715530e

File tree

3 files changed

+53
-7
lines changed

3 files changed

+53
-7
lines changed

Examples/Examples.xcodeproj/project.pbxproj

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
CA1972D72DB1836900351823 /* TraitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1972D62DB1836900351823 /* TraitTests.swift */; };
11+
CA1972D92DB1847200351823 /* ExampleTrait.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1972D82DB1847200351823 /* ExampleTrait.swift */; };
1012
CADE79AE2C4A9D2C005A85F7 /* ExamplesApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADE79AD2C4A9D2C005A85F7 /* ExamplesApp.swift */; };
1113
CADE79B22C4A9D2D005A85F7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CADE79B12C4A9D2D005A85F7 /* Assets.xcassets */; };
1214
CADE79DA2C4A9D3A005A85F7 /* IssueReporting in Frameworks */ = {isa = PBXBuildFile; productRef = CADE79D92C4A9D3A005A85F7 /* IssueReporting */; };
1315
CADE79DD2C4A9E59005A85F7 /* SwiftTestingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADE79DB2C4A9E59005A85F7 /* SwiftTestingTests.swift */; };
1416
CADE79DE2C4A9E59005A85F7 /* XCTestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADE79DC2C4A9E59005A85F7 /* XCTestTests.swift */; };
1517
CADE79E02C4ABD94005A85F7 /* Examples.xctestplan in Resources */ = {isa = PBXBuildFile; fileRef = CADE79DF2C4ABD94005A85F7 /* Examples.xctestplan */; };
16-
CADE79E22C4ABE90005A85F7 /* IssueReporting in Frameworks */ = {isa = PBXBuildFile; productRef = CADE79E12C4ABE90005A85F7 /* IssueReporting */; };
1718
/* End PBXBuildFile section */
1819

1920
/* Begin PBXContainerItemProxy section */
@@ -26,7 +27,22 @@
2627
};
2728
/* End PBXContainerItemProxy section */
2829

30+
/* Begin PBXCopyFilesBuildPhase section */
31+
CA1972DD2DB1854600351823 /* Embed Frameworks */ = {
32+
isa = PBXCopyFilesBuildPhase;
33+
buildActionMask = 2147483647;
34+
dstPath = "";
35+
dstSubfolderSpec = 10;
36+
files = (
37+
);
38+
name = "Embed Frameworks";
39+
runOnlyForDeploymentPostprocessing = 0;
40+
};
41+
/* End PBXCopyFilesBuildPhase section */
42+
2943
/* Begin PBXFileReference section */
44+
CA1972D62DB1836900351823 /* TraitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TraitTests.swift; sourceTree = "<group>"; };
45+
CA1972D82DB1847200351823 /* ExampleTrait.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleTrait.swift; sourceTree = "<group>"; };
3046
CADE79AA2C4A9D2C005A85F7 /* Examples.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Examples.app; sourceTree = BUILT_PRODUCTS_DIR; };
3147
CADE79AD2C4A9D2C005A85F7 /* ExamplesApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExamplesApp.swift; sourceTree = "<group>"; };
3248
CADE79B12C4A9D2D005A85F7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
@@ -50,7 +66,6 @@
5066
isa = PBXFrameworksBuildPhase;
5167
buildActionMask = 2147483647;
5268
files = (
53-
CADE79E22C4ABE90005A85F7 /* IssueReporting in Frameworks */,
5469
);
5570
runOnlyForDeploymentPostprocessing = 0;
5671
};
@@ -80,6 +95,7 @@
8095
isa = PBXGroup;
8196
children = (
8297
CADE79AD2C4A9D2C005A85F7 /* ExamplesApp.swift */,
98+
CA1972D82DB1847200351823 /* ExampleTrait.swift */,
8399
CADE79B12C4A9D2D005A85F7 /* Assets.xcassets */,
84100
CADE79B32C4A9D2D005A85F7 /* Examples.entitlements */,
85101
);
@@ -92,6 +108,7 @@
92108
CADE79DF2C4ABD94005A85F7 /* Examples.xctestplan */,
93109
CADE79DB2C4A9E59005A85F7 /* SwiftTestingTests.swift */,
94110
CADE79DC2C4A9E59005A85F7 /* XCTestTests.swift */,
111+
CA1972D62DB1836900351823 /* TraitTests.swift */,
95112
);
96113
path = ExamplesTests;
97114
sourceTree = "<group>";
@@ -133,6 +150,7 @@
133150
CADE79B72C4A9D2D005A85F7 /* Sources */,
134151
CADE79B82C4A9D2D005A85F7 /* Frameworks */,
135152
CADE79B92C4A9D2D005A85F7 /* Resources */,
153+
CA1972DD2DB1854600351823 /* Embed Frameworks */,
136154
);
137155
buildRules = (
138156
);
@@ -141,7 +159,6 @@
141159
);
142160
name = ExamplesTests;
143161
packageProductDependencies = (
144-
CADE79E12C4ABE90005A85F7 /* IssueReporting */,
145162
);
146163
productName = ExamplesTests;
147164
productReference = CADE79BB2C4A9D2D005A85F7 /* ExamplesTests.xctest */;
@@ -210,6 +227,7 @@
210227
buildActionMask = 2147483647;
211228
files = (
212229
CADE79AE2C4A9D2C005A85F7 /* ExamplesApp.swift in Sources */,
230+
CA1972D92DB1847200351823 /* ExampleTrait.swift in Sources */,
213231
);
214232
runOnlyForDeploymentPostprocessing = 0;
215233
};
@@ -219,6 +237,7 @@
219237
files = (
220238
CADE79DD2C4A9E59005A85F7 /* SwiftTestingTests.swift in Sources */,
221239
CADE79DE2C4A9E59005A85F7 /* XCTestTests.swift in Sources */,
240+
CA1972D72DB1836900351823 /* TraitTests.swift in Sources */,
222241
);
223242
runOnlyForDeploymentPostprocessing = 0;
224243
};
@@ -504,10 +523,6 @@
504523
isa = XCSwiftPackageProductDependency;
505524
productName = IssueReporting;
506525
};
507-
CADE79E12C4ABE90005A85F7 /* IssueReporting */ = {
508-
isa = XCSwiftPackageProductDependency;
509-
productName = IssueReporting;
510-
};
511526
/* End XCSwiftPackageProductDependency section */
512527
};
513528
rootObject = CADE79A22C4A9D2C005A85F7 /* Project object */;

Examples/Examples/ExampleTrait.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import IssueReporting
2+
3+
public struct ExampleTrait: Sendable {
4+
public init() {}
5+
6+
public static func hasTrait() -> Bool {
7+
switch TestContext.current {
8+
case .none, .some(.xcTest):
9+
return false
10+
case .some(.swiftTesting(let testing)):
11+
return testing?.test.traits.contains { $0 is Self } ?? false
12+
}
13+
}
14+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import IssueReporting
2+
import Testing
3+
import Examples
4+
5+
extension ExampleTrait: @retroactive SuiteTrait, @retroactive TestTrait {
6+
}
7+
8+
@Suite
9+
struct TraitTests {
10+
@Test(ExampleTrait()) func hasTrait() {
11+
#expect(ExampleTrait.hasTrait())
12+
}
13+
14+
@Test func doesNotHaveTrait() {
15+
#expect(ExampleTrait.hasTrait() == false)
16+
}
17+
}

0 commit comments

Comments
 (0)