diff --git a/core/src/main/kotlin/utilities/Html.kt b/core/src/main/kotlin/utilities/Html.kt
index 3226ca9daa..874c9fb1f2 100644
--- a/core/src/main/kotlin/utilities/Html.kt
+++ b/core/src/main/kotlin/utilities/Html.kt
@@ -7,9 +7,9 @@ import java.net.URLEncoder
* Replaces symbols reserved in HTML with their respective entities.
* Replaces & with &, < with < and > with >
*/
-fun String.htmlEscape(): String = replace("&", "&").replace("<", "<").replace(">", ">")
+fun String.htmlEscape(): String = replace("&", "&").replace("<", "<").replace(">", ">").replace("\"", """)
fun String.urlEncoded(): String = URLEncoder.encode(this, "UTF-8")
fun String.formatToEndWithHtml() =
- if (endsWith(".html") || contains(Regex("\\.html#"))) this else "$this.html"
\ No newline at end of file
+ if (endsWith(".html") || contains(Regex("\\.html#"))) this else "$this.html"
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
index 84fcd12db1..4fe9a636fb 100644
--- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
@@ -306,7 +306,7 @@ private class DokkaDescriptorVisitor(
val classlikes = async { descriptorsWithKind.classlikes.visitClasslikes(driWithPlatform) }
DEnumEntry(
- dri = driWithPlatform.dri.copy(extra = DRIExtraContainer().also { it[EnumEntryDRIExtra] = EnumEntryDRIExtra }.encode()),
+ dri = driWithPlatform.dri.copy(extra = DRIExtraContainer(driWithPlatform.dri.extra).also { it[EnumEntryDRIExtra] = EnumEntryDRIExtra }.encode()),
name = descriptor.name.asString(),
documentation = descriptor.resolveDescriptorData(),
functions = functions.await(),
diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
index de10b54e24..2e2c850aee 100644
--- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
@@ -269,7 +269,7 @@ class DefaultPsiToDocumentableTranslator(
name.orEmpty(),
fields.filterIsInstance().map { entry ->
DEnumEntry(
- dri.withClass(entry.name).copy(extra = DRIExtraContainer().also { it[EnumEntryDRIExtra] = EnumEntryDRIExtra }.encode()),
+ dri.withClass(entry.name).copy(extra = DRIExtraContainer(dri.extra).also { it[EnumEntryDRIExtra] = EnumEntryDRIExtra }.encode()),
entry.name,
javadocParser.parseDocumentation(entry).toSourceSetDependent(),
null,
diff --git a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt
index a501ae55ca..fd8a49c89b 100644
--- a/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt
+++ b/plugins/base/src/main/kotlin/translators/psi/parsers/JavadocParser.kt
@@ -326,7 +326,7 @@ class JavadocParser(
dri.toString()
} ?: UNRESOLVED_PSI_ELEMENT
- return """${label.ifBlank{ defaultLabel().text }}"""
+ return """${label.ifBlank{ defaultLabel().text }}"""
}
private fun convertInlineDocTag(
diff --git a/plugins/base/src/test/kotlin/linking/EnumValuesLinking.kt b/plugins/base/src/test/kotlin/linking/EnumValuesLinkingTest.kt
similarity index 92%
rename from plugins/base/src/test/kotlin/linking/EnumValuesLinking.kt
rename to plugins/base/src/test/kotlin/linking/EnumValuesLinkingTest.kt
index 0ca0b93358..29e705fdd6 100644
--- a/plugins/base/src/test/kotlin/linking/EnumValuesLinking.kt
+++ b/plugins/base/src/test/kotlin/linking/EnumValuesLinkingTest.kt
@@ -1,6 +1,8 @@
package linking
import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest
+import org.jetbrains.dokka.links.DRIExtraContainer
+import org.jetbrains.dokka.links.EnumEntryDRIExtra
import org.jetbrains.dokka.model.dfs
import org.jetbrains.dokka.model.doc.DocumentationLink
import org.jetbrains.dokka.pages.ContentDRILink
@@ -13,7 +15,7 @@ import java.nio.file.Paths
import utils.TestOutputWriterPlugin
import java.lang.AssertionError
-class EnumValuesLinking : BaseAbstractTest() {
+class EnumValuesLinkingTest : BaseAbstractTest() {
@Test
fun `check if enum values are correctly linked`() {
@@ -41,6 +43,7 @@ class EnumValuesLinking : BaseAbstractTest() {
is DocumentationLink -> kotlinLink.dri.run {
assertEquals("KotlinEnum.ON_CREATE", this.classNames)
assertEquals(null, this.callable)
+ assertNotNull(DRIExtraContainer(extra)[EnumEntryDRIExtra])
}
else -> throw AssertionError("Link node is not DocumentationLink type")
}
@@ -49,6 +52,7 @@ class EnumValuesLinking : BaseAbstractTest() {
is DocumentationLink -> javaLink.dri.run {
assertEquals("JavaEnum.ON_DECEIT", this.classNames)
assertEquals(null, this.callable)
+ assertNotNull(DRIExtraContainer(extra)[EnumEntryDRIExtra])
}
else -> throw AssertionError("Link node is not DocumentationLink type")
}
@@ -60,6 +64,7 @@ class EnumValuesLinking : BaseAbstractTest() {
is DocumentationLink -> kotlinLink.dri.run {
assertEquals("KotlinEnum.ON_CREATE", this.classNames)
assertEquals(null, this.callable)
+ assertNotNull(DRIExtraContainer(extra)[EnumEntryDRIExtra])
}
else -> throw AssertionError("Link node is not DocumentationLink type")
}
@@ -68,6 +73,7 @@ class EnumValuesLinking : BaseAbstractTest() {
is DocumentationLink -> javaLink.dri.run {
assertEquals("JavaEnum.ON_DECEIT", this.classNames)
assertEquals(null, this.callable)
+ assertNotNull(DRIExtraContainer(extra)[EnumEntryDRIExtra])
}
else -> throw AssertionError("Link node is not DocumentationLink type")
}