@@ -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