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") } diff --git a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocClasslikeTemplateMapTest.kt b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocClasslikeTemplateMapTest.kt index 19ef6ae7c0..10240a3f3b 100644 --- a/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocClasslikeTemplateMapTest.kt +++ b/plugins/javadoc/src/test/kotlin/org/jetbrains/dokka/javadoc/JavadocClasslikeTemplateMapTest.kt @@ -149,13 +149,13 @@ internal class JavadocClasslikeTemplateMapTest : AbstractJavadocTemplateMapTest( val map = allPagesOfType().first { it.name == "TestClass" }.templateMap assertEquals("TestClass", map["name"]) val signature = assertIsInstance>(map["signature"]) - assertEquals("@Author(name = \"Benjamin Franklin\")", signature["annotations"]) + assertEquals("@Author(name = "Benjamin Franklin")", signature["annotations"]) val methods = assertIsInstance>(map["methods"]) val ownMethods = assertIsInstance>(methods["own"]) val method = assertIsInstance>(ownMethods.single()) val methodSignature = assertIsInstance>(method["signature"]) - assertEquals("@Author(name = \"Franklin D. Roosevelt\")", methodSignature["annotations"]) + assertEquals("@Author(name = "Franklin D. Roosevelt")", methodSignature["annotations"]) } }