From 71db766f8a86e6c2c71748bb59ab7c5557bc2d05 Mon Sep 17 00:00:00 2001 From: Burton Johnsey Date: Wed, 21 Sep 2022 22:59:51 -0700 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E2=9C=A8=20convert=20Javadoc=20anc?= =?UTF-8?q?hor=20tags=20to=20TSdoc=20links?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../typescript/generator/parser/Javadoc.java | 14 ++++++++++++-- .../typescript/generator/JavadocTest.java | 16 ++++++++++++++++ .../src/test/javadoc/test-javadoc.xml | 16 ++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java index 840fd20f8..46deb6c1b 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java @@ -256,11 +256,11 @@ private List getComments(String dComments, List tags) { .replaceAll("\\s*
\\s*", nn) .replaceAll("\\s*

\\s*", nn) .replaceAll("\\s*

\\s*", nn); - result.addAll(Utils.splitMultiline(replacedHtmlLines, true)); + result.addAll(Utils.splitMultiline(convertAnchorToLink(replacedHtmlLines), true)); } if (tags != null) { for (TagInfo tag : tags) { - result.addAll(Utils.splitMultiline(tag.getName() + " " + tag.getText(), true)); + result.addAll(Utils.splitMultiline(tag.getName() + " " + convertAnchorToLink(tag.getText()), true)); } } return result; @@ -271,4 +271,14 @@ private static List combineComments(List firstComments, List([^<]+)", "{@link $1 $2}"); + } + } diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java index e7795ecba..5ef800a82 100644 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java +++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java @@ -105,6 +105,13 @@ public void testJavadoc() { Assertions.assertTrue(!generated.contains("

")); Assertions.assertTrue(generated.contains("Long\n * paragraph\n * \n * Second\n * paragraph")); } + { + final String generated = new TypeScriptGenerator(settings).generateTypeScript(Input.from(ClassWithExternalLinks.class)); + Assertions.assertFalse(generated.contains("")); + Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}")); + Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}")); + } } /** @@ -217,4 +224,13 @@ public static class ClassWithBrElements { public static class ClassWithPElements { } + /** + * Documentation for ClassWithExternalLinks + * + * This sentence has a link! + * @see the wiki + */ + public static class ClassWithExternalLinks { + } + } diff --git a/typescript-generator-core/src/test/javadoc/test-javadoc.xml b/typescript-generator-core/src/test/javadoc/test-javadoc.xml index b1c3175e5..c9323d81d 100644 --- a/typescript-generator-core/src/test/javadoc/test-javadoc.xml +++ b/typescript-generator-core/src/test/javadoc/test-javadoc.xml @@ -2547,6 +2547,14 @@ + + Documentation for ClassWithExternalLinks + + This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>! + + + + @@ -8213,6 +8221,14 @@ + + Documentation for ClassWithExternalLinks + + This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>! + + + + From c927a8cdb4cc7151e682d99e39a5c062c14b246e Mon Sep 17 00:00:00 2001 From: Burton Johnsey Date: Mon, 26 Sep 2022 13:35:30 -0700 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=F0=9F=90=9B=20mutli-line=20anchor?= =?UTF-8?q?=20tags=20not=20converted=20to=20TSdoc=20links?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../habarta/typescript/generator/parser/Javadoc.java | 2 +- .../cz/habarta/typescript/generator/JavadocTest.java | 12 +++++++----- .../src/test/javadoc/test-javadoc.xml | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java index 46deb6c1b..c16dd33b7 100644 --- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java +++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java @@ -278,7 +278,7 @@ private static List combineComments(List firstComments, List([^<]+)", "{@link $1 $2}"); + return comment.replaceAll("(?:\\s+)?(.*)", "{@link $1 $2}"); } } diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java index 5ef800a82..4732c03db 100644 --- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java +++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java @@ -107,10 +107,10 @@ public void testJavadoc() { } { final String generated = new TypeScriptGenerator(settings).generateTypeScript(Input.from(ClassWithExternalLinks.class)); - Assertions.assertFalse(generated.contains("")); - Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}")); - Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}")); + Assertions.assertFalse(generated.contains(""), "Anchor tags should be removed"); + Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}"), "Links should be converted to TSDoc"); + Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}"), "Links should be converted to TSDoc"); } } @@ -228,7 +228,9 @@ public static class ClassWithPElements { * Documentation for ClassWithExternalLinks * * This sentence has a link! - * @see the wiki + * @see + * the wiki */ public static class ClassWithExternalLinks { } diff --git a/typescript-generator-core/src/test/javadoc/test-javadoc.xml b/typescript-generator-core/src/test/javadoc/test-javadoc.xml index c9323d81d..a17642309 100644 --- a/typescript-generator-core/src/test/javadoc/test-javadoc.xml +++ b/typescript-generator-core/src/test/javadoc/test-javadoc.xml @@ -2551,7 +2551,7 @@ Documentation for ClassWithExternalLinks This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>! - + @@ -8225,7 +8225,7 @@ Documentation for ClassWithExternalLinks This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>! - +