From 5090bfb7aec163b39202ef921555ed907b741b29 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Tue, 30 Jun 2020 11:29:23 +0200 Subject: Implement first JavadocClasslikeTemplateMapTest.kt --- .../javadoc/JavadocClasslikeTemplateMapTest.kt | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 plugins/javadoc/src/test/kotlin/javadoc/JavadocClasslikeTemplateMapTest.kt (limited to 'plugins/javadoc/src/test') diff --git a/plugins/javadoc/src/test/kotlin/javadoc/JavadocClasslikeTemplateMapTest.kt b/plugins/javadoc/src/test/kotlin/javadoc/JavadocClasslikeTemplateMapTest.kt new file mode 100644 index 00000000..4c6e17f0 --- /dev/null +++ b/plugins/javadoc/src/test/kotlin/javadoc/JavadocClasslikeTemplateMapTest.kt @@ -0,0 +1,102 @@ +package javadoc + +import javadoc.pages.JavadocClasslikePageNode +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Disabled +import org.junit.jupiter.api.Test +import testApi.utils.assertIsInstance + +@Disabled("To be fixed") +internal class JavadocClasslikeTemplateMapTest : AbstractJavadocTemplateMapTest() { + + @Test + fun `empty class`() { + dualTestTemplateMapInline( + kotlin = + """ + /src/source0.kt + package com.test.package + /** + * Documentation for TestClass + */ + class TestClass + """, + java = + """ + /src/com/test/package/TestClass.java + package com.test.package; + /** + * Documentation for TestClass + */ + public class TestClass {} + """ + ) { + val map = singlePageOfType().templateMap + assertEquals("TestClass", map["name"]) + assertEquals("TestClass", map["title"]) + assertEquals("com.test.package", map["packageName"]) + assertEquals("Documentation for TestClass", map["classlikeDocumentation"]) + assertEquals("Documentation for TestClass", map["subtitle"]) + assertEquals("public final class TestClass", map["signature"]) + } + } + + @Test + fun `single function`() { + dualTestTemplateMapInline( + kotlin = + """ + /src/source0.kt + package com.test.package0 + /** + * Documentation for TestClass + */ + class TestClass { + /** + * Documentation for testFunction + */ + fun testFunction(): String = "" + } + """, + java = + """ + /src/com/test/package0/TestClass.java + package com.test.package0 + /** + * Documentation for TestClass + */ + public class TestClass { + /** + * Documentation for testFunction + */ + public String testFunction() { + return ""; + } + } + """ + ) { + val map = singlePageOfType().templateMap + + assertEquals("TestClass", map["name"]) + assertEquals("TestClass", map["title"]) + assertEquals("com.test.package0", map["packageName"]) + assertEquals("Documentation for TestClass", map["classlikeDocumentation"]) + assertEquals("Documentation for TestClass", map["subtitle"]) + assertEquals("public final class TestClass", map["signature"]) + + val methods = assertIsInstance>(map["methods"]) + val ownMethods = assertIsInstance>(methods["own"]) + assertEquals(1, ownMethods.size, "Expected only one method") + val method = assertIsInstance>(ownMethods.single()) + assertEquals("Documentation for testFunction", method["brief"]) + assertEquals("testFunction", method["name"]) + assertEquals( + 0, assertIsInstance>(method["parameters"]).size, + "Expected no parameters" + ) + assertEquals( + "final String testFunction()", method["signature"] + ) + } + } +} -- cgit