Skip to content

Commit ffbd023

Browse files
committed
Refactor assertions for sourceLinks and externalDocumentationLinks to improve comparison consistency in tests
1 parent a81ace7 commit ffbd023

File tree

1 file changed

+33
-6
lines changed
  • dokka-subprojects/core-test-api/src/main/kotlin/org/jetbrains/dokka/testApi

1 file changed

+33
-6
lines changed

dokka-subprojects/core-test-api/src/main/kotlin/org/jetbrains/dokka/testApi/configuration.kt

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,9 @@ public fun assertDokkaSourceSetEquals(
6161
assertEquals(expected.skipEmptyPackages, actual.skipEmptyPackages, "DokkaSourceSet.skipEmptyPackages")
6262
assertEquals(expected.skipDeprecated, actual.skipDeprecated, "DokkaSourceSet.skipDeprecated")
6363
assertEquals(expected.jdkVersion, actual.jdkVersion, "DokkaSourceSet.jdkVersion")
64-
assertEquals(expected.sourceLinks, actual.sourceLinks, "DokkaSourceSet.sourceLinks")
64+
assertSourceLinksEquals(expected.sourceLinks, actual.sourceLinks)
6565
assertEquals(expected.perPackageOptions, actual.perPackageOptions, "DokkaSourceSet.perPackageOptions")
66-
assertEquals(
67-
expected.externalDocumentationLinks,
68-
actual.externalDocumentationLinks,
69-
"DokkaSourceSet.externalDocumentationLinks"
70-
)
66+
assertExternalDocumentationLinksEquals(expected.externalDocumentationLinks, actual.externalDocumentationLinks)
7167
assertEquals(expected.languageVersion, actual.languageVersion, "DokkaSourceSet.languageVersion")
7268
assertEquals(expected.apiVersion, actual.apiVersion, "DokkaSourceSet.apiVersion")
7369
assertEquals(expected.noStdlibLink, actual.noStdlibLink, "DokkaSourceSet.noStdlibLink")
@@ -80,3 +76,34 @@ public fun assertDokkaSourceSetEquals(
8076
"DokkaSourceSet.documentedVisibilities"
8177
)
8278
}
79+
80+
private fun assertSourceLinksEquals(
81+
expected: Set<DokkaConfiguration.SourceLinkDefinition>,
82+
actual: Set<DokkaConfiguration.SourceLinkDefinition>
83+
) {
84+
fun transform(link: DokkaConfiguration.SourceLinkDefinition) = Triple(
85+
link.localDirectory,
86+
link.remoteUrl.toURI(), // to avoid URL.equals calls
87+
link.remoteLineSuffix
88+
)
89+
assertEquals(
90+
expected.mapTo(mutableSetOf(), ::transform),
91+
actual.mapTo(mutableSetOf(), ::transform),
92+
"DokkaSourceSet.sourceLinks"
93+
)
94+
}
95+
96+
public fun assertExternalDocumentationLinksEquals(
97+
expected: Set<DokkaConfiguration.ExternalDocumentationLink>,
98+
actual: Set<DokkaConfiguration.ExternalDocumentationLink>
99+
) {
100+
fun transform(link: DokkaConfiguration.ExternalDocumentationLink) = Pair(
101+
link.url.toURI(), // to avoid URL.equals calls
102+
link.packageListUrl.toURI(), // to avoid URL.equals calls
103+
)
104+
assertEquals(
105+
expected.mapTo(mutableSetOf(), ::transform),
106+
actual.mapTo(mutableSetOf(), ::transform),
107+
"DokkaSourceSet.externalDocumentationLinks"
108+
)
109+
}

0 commit comments

Comments
 (0)