Skip to content

Commit 5f905e4

Browse files
authored
Update 42 tests to stop using the "LegacyBundle_DoNotUseInNewTests" fixtures (#1319)
* Avoid using legacy test fixture in some tests * Avoid using legacy test fixture in more tests
1 parent 37d2f51 commit 5f905e4

14 files changed

+194
-146
lines changed

Tests/SwiftDocCTests/Model/RenderContentMetadataTests.swift

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ class RenderContentMetadataTests: XCTestCase {
6767
}
6868

6969
func testRenderingTables() async throws {
70-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
71-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
70+
let (_, context) = try await testBundleAndContext()
71+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
7272

7373
let source = """
7474
| Column 1 | Column 2 |
@@ -108,8 +108,8 @@ class RenderContentMetadataTests: XCTestCase {
108108
}
109109

110110
func testRenderingTableSpans() async throws {
111-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
112-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
111+
let (_, context) = try await testBundleAndContext()
112+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
113113

114114
let source = """
115115
| one | two | three |
@@ -161,8 +161,8 @@ class RenderContentMetadataTests: XCTestCase {
161161
}
162162

163163
func testRenderingTableColumnAlignments() async throws {
164-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
165-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
164+
let (_, context) = try await testBundleAndContext()
165+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
166166

167167
let source = """
168168
| one | two | three | four |
@@ -203,8 +203,8 @@ class RenderContentMetadataTests: XCTestCase {
203203

204204
/// Verifies that a table with `nil` alignments and a table with all-unset alignments still compare as equal.
205205
func testRenderedTableEquality() async throws {
206-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
207-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
206+
let (_, context) = try await testBundleAndContext()
207+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
208208

209209
let source = """
210210
| Column 1 | Column 2 |
@@ -229,8 +229,8 @@ class RenderContentMetadataTests: XCTestCase {
229229

230230
/// Verifies that two tables with otherwise-identical contents but different column alignments compare as unequal.
231231
func testRenderedTableInequality() async throws {
232-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
233-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
232+
let (_, context) = try await testBundleAndContext()
233+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
234234

235235
let decodedTableWithUnsetColumns: RenderBlockContent.Table
236236
do {
@@ -276,8 +276,8 @@ class RenderContentMetadataTests: XCTestCase {
276276
}
277277

278278
func testStrikethrough() async throws {
279-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
280-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
279+
let (_, context) = try await testBundleAndContext()
280+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
281281

282282
let source = """
283283
~~Striken~~ text.
@@ -299,8 +299,8 @@ class RenderContentMetadataTests: XCTestCase {
299299
}
300300

301301
func testHeadingAnchorShouldBeEncoded() async throws {
302-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
303-
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
302+
let (_, context) = try await testBundleAndContext()
303+
var renderContentCompiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
304304

305305
let source = """
306306
## テスト

Tests/SwiftDocCTests/Rendering/ExternalLinkTitleTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class ExternalLinkTitleTests: XCTestCase {
2424
semantic: Semantic())
2525

2626

27-
let (_, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
27+
let (_, context) = try await testBundleAndContext()
2828
var translator = RenderNodeTranslator(context: context, identifier: node.reference)
2929
let result = translator.visit(MarkupContainer(document.children)) as! [RenderBlockContent]
3030

Tests/SwiftDocCTests/Rendering/RenderContentCompilerTests.swift

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,29 @@
1111
import Foundation
1212
import Markdown
1313
@testable import SwiftDocC
14+
import SwiftDocCTestUtilities
1415
import XCTest
1516

1617
typealias Position = RenderBlockContent.CodeBlockOptions.Position
1718

1819
class RenderContentCompilerTests: XCTestCase {
1920
func testLinkOverrideTitle() async throws {
20-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
21-
var compiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
21+
let catalog = Folder(name: "unit-test.docc", content: [
22+
TextFile(name: "article.md", utf8Content: """
23+
# First
24+
"""),
25+
TextFile(name: "article2.md", utf8Content: """
26+
# Second
27+
"""),
28+
TextFile(name: "article3.md", utf8Content: """
29+
# Third
30+
"""),
31+
32+
InfoPlist(identifier: "org.swift.docc.example")
33+
])
34+
35+
let (_, context) = try await loadBundle(catalog: catalog)
36+
var compiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
2237

2338
let source = """
2439
[Example](http://example.com)
@@ -89,7 +104,7 @@ class RenderContentCompilerTests: XCTestCase {
89104
return
90105
}
91106
let link = RenderInlineContent.reference(
92-
identifier: .init("doc://org.swift.docc.example/documentation/Test-Bundle/article"),
107+
identifier: .init("doc://org.swift.docc.example/documentation/unit-test/article"),
93108
isActive: true,
94109
overridingTitle: "Custom Title",
95110
overridingTitleInlineContent: [.text("Custom Title")])
@@ -101,7 +116,7 @@ class RenderContentCompilerTests: XCTestCase {
101116
return
102117
}
103118
let link = RenderInlineContent.reference(
104-
identifier: .init("doc://org.swift.docc.example/documentation/Test-Bundle/article2"),
119+
identifier: .init("doc://org.swift.docc.example/documentation/unit-test/article2"),
105120
isActive: true,
106121
overridingTitle: "Custom Image Content ",
107122
overridingTitleInlineContent: [
@@ -125,7 +140,7 @@ class RenderContentCompilerTests: XCTestCase {
125140
return
126141
}
127142
let link = RenderInlineContent.reference(
128-
identifier: .init("doc://org.swift.docc.example/documentation/Test-Bundle/article3"),
143+
identifier: .init("doc://org.swift.docc.example/documentation/unit-test/article3"),
129144
isActive: true,
130145
overridingTitle: nil,
131146
overridingTitleInlineContent: nil
@@ -135,8 +150,8 @@ class RenderContentCompilerTests: XCTestCase {
135150
}
136151

137152
func testLineBreak() async throws {
138-
let (bundle, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
139-
var compiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: bundle.id, path: "/path", fragment: nil, sourceLanguage: .swift))
153+
let (_, context) = try await testBundleAndContext()
154+
var compiler = RenderContentCompiler(context: context, identifier: ResolvedTopicReference(bundleID: context.inputs.id, path: "/path", fragment: nil, sourceLanguage: .swift))
140155

141156
let source = #"""
142157
Backslash before new line\

Tests/SwiftDocCTests/Semantics/ImageMediaTests.swift

Lines changed: 49 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -96,45 +96,39 @@ class ImageMediaTests: XCTestCase {
9696

9797
func testRenderImageDirectiveInReferenceMarkup() async throws {
9898
do {
99-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
99+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["figure1.jpg"]) {
100100
"""
101101
@Image(source: "figure1")
102102
"""
103103
}
104104

105105
XCTAssertNotNil(image)
106-
107106
XCTAssertEqual(problems, [])
108-
109-
XCTAssertEqual(
110-
renderedContent,
111-
[
112-
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
113-
inlineContent: [.image(
114-
identifier: RenderReferenceIdentifier("figure1"),
115-
metadata: nil
116-
)]
117-
))
118-
]
119-
)
107+
XCTAssertEqual(renderedContent, [
108+
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
109+
inlineContent: [.image(
110+
identifier: RenderReferenceIdentifier("figure1"),
111+
metadata: nil
112+
)]
113+
))
114+
])
120115
}
121116

122117
do {
123-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
118+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: []) {
124119
"""
125120
@Image(source: "unknown-image")
126121
"""
127122
}
128123

129124
XCTAssertNotNil(image)
130-
131125
XCTAssertEqual(problems, ["1: warning – org.swift.docc.unresolvedResource.Image"])
132126
XCTAssertEqual(renderedContent, [])
133127
}
134128
}
135129

136130
func testRenderImageDirectiveWithCaption() async throws {
137-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
131+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["figure1.jpg"]) {
138132
"""
139133
@Image(source: "figure1") {
140134
This is my caption.
@@ -143,76 +137,61 @@ class ImageMediaTests: XCTestCase {
143137
}
144138

145139
XCTAssertNotNil(image)
146-
147140
XCTAssertEqual(problems, [])
148-
149-
XCTAssertEqual(
150-
renderedContent,
151-
[
152-
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
153-
inlineContent: [.image(
154-
identifier: RenderReferenceIdentifier("figure1"),
155-
metadata: RenderContentMetadata(abstract: [.text("This is my caption.")])
156-
)]
157-
))
158-
]
159-
)
141+
XCTAssertEqual(renderedContent, [
142+
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
143+
inlineContent: [.image(
144+
identifier: RenderReferenceIdentifier("figure1"),
145+
metadata: RenderContentMetadata(abstract: [.text("This is my caption.")])
146+
)]
147+
))
148+
])
160149
}
161150

162151
func testImageDirectiveDiagnosesDeviceFrameByDefault() async throws {
163-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
152+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["figure1.jpg"]) {
164153
"""
165154
@Image(source: "figure1", deviceFrame: phone)
166155
"""
167156
}
168157

169158
XCTAssertNotNil(image)
170-
171159
XCTAssertEqual(problems, ["1: warning – org.swift.docc.UnknownArgument"])
172-
173-
XCTAssertEqual(
174-
renderedContent,
175-
[
176-
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
177-
inlineContent: [.image(
178-
identifier: RenderReferenceIdentifier("figure1"),
179-
metadata: nil
180-
)]
181-
))
182-
]
183-
)
160+
XCTAssertEqual(renderedContent, [
161+
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
162+
inlineContent: [.image(
163+
identifier: RenderReferenceIdentifier("figure1"),
164+
metadata: nil
165+
)]
166+
))
167+
])
184168
}
185169

186170
func testRenderImageDirectiveWithDeviceFrame() async throws {
187171
enableFeatureFlag(\.isExperimentalDeviceFrameSupportEnabled)
188172

189-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
173+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["figure1.jpg"]) {
190174
"""
191175
@Image(source: "figure1", deviceFrame: phone)
192176
"""
193177
}
194178

195179
XCTAssertNotNil(image)
196-
197180
XCTAssertEqual(problems, [])
198-
199-
XCTAssertEqual(
200-
renderedContent,
201-
[
202-
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
203-
inlineContent: [.image(
204-
identifier: RenderReferenceIdentifier("figure1"),
205-
metadata: RenderContentMetadata(deviceFrame: "phone")
206-
)]
207-
))
208-
]
209-
)
181+
XCTAssertEqual(renderedContent, [
182+
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
183+
inlineContent: [.image(
184+
identifier: RenderReferenceIdentifier("figure1"),
185+
metadata: RenderContentMetadata(deviceFrame: "phone")
186+
)]
187+
))
188+
])
210189
}
211190

212191
func testRenderImageDirectiveWithDeviceFrameAndCaption() async throws {
213192
enableFeatureFlag(\.isExperimentalDeviceFrameSupportEnabled)
214193

215-
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, in: "BookLikeContent") {
194+
let (renderedContent, problems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["figure1.jpg"]) {
216195
"""
217196
@Image(source: "figure1", deviceFrame: laptop) {
218197
This is my caption.
@@ -221,43 +200,35 @@ class ImageMediaTests: XCTestCase {
221200
}
222201

223202
XCTAssertNotNil(image)
224-
225203
XCTAssertEqual(problems, [])
226-
227-
XCTAssertEqual(
228-
renderedContent,
229-
[
230-
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
231-
inlineContent: [.image(
232-
identifier: RenderReferenceIdentifier("figure1"),
233-
metadata: RenderContentMetadata(abstract: [.text("This is my caption.")], deviceFrame: "laptop")
234-
)]
235-
))
236-
]
237-
)
204+
XCTAssertEqual(renderedContent, [
205+
RenderBlockContent.paragraph(RenderBlockContent.Paragraph(
206+
inlineContent: [.image(
207+
identifier: RenderReferenceIdentifier("figure1"),
208+
metadata: RenderContentMetadata(abstract: [.text("This is my caption.")], deviceFrame: "laptop")
209+
)]
210+
))
211+
])
238212
}
239213

240214
func testImageDirectiveDoesNotResolveVideoReference() async throws {
241215
// First check that the Video exists
242-
let (_, videoProblems, _) = try await parseDirective(VideoMedia.self, in: "LegacyBundle_DoNotUseInNewTests") {
216+
let (_, videoProblems, _) = try await parseDirective(VideoMedia.self, withAvailableAssetNames: ["introvideo.mp4"]) {
243217
"""
244218
@Video(source: "introvideo")
245219
"""
246220
}
247-
248221
XCTAssertEqual(videoProblems, [])
249222

250223
// Then check that it doesn't resolve as an image
251-
let (renderedContent, imageProblems, image) = try await parseDirective(ImageMedia.self, in: "LegacyBundle_DoNotUseInNewTests") {
224+
let (renderedContent, imageProblems, image) = try await parseDirective(ImageMedia.self, withAvailableAssetNames: ["introvideo.mp4"]) {
252225
"""
253226
@Image(source: "introvideo")
254227
"""
255228
}
256-
257229
XCTAssertNotNil(image)
258-
259230
XCTAssertEqual(imageProblems, ["1: warning – org.swift.docc.unresolvedResource.Image"])
260-
261231
XCTAssertEqual(renderedContent, [])
262232
}
263233
}
234+

Tests/SwiftDocCTests/Semantics/MarkupReferenceResolverTests.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@
1111
import XCTest
1212
@testable import SwiftDocC
1313
import Markdown
14+
import SwiftDocCTestUtilities
1415

1516
class MarkupReferenceResolverTests: XCTestCase {
1617
func testArbitraryReferenceInComment() async throws {
17-
let (_, context) = try await testBundleAndContext(named: "LegacyBundle_DoNotUseInNewTests")
18+
let catalog = Folder(name: "unit-test.docc", content: [
19+
JSONFile(name: "ModuleName.symbols.json", content: makeSymbolGraph(moduleName: "ModuleName"))
20+
])
21+
22+
let (_, context) = try await loadBundle(catalog: catalog)
1823
let source = """
1924
@Comment {
2025
``hello`` and ``world`` are 2 arbitrary symbol links.

0 commit comments

Comments
 (0)