From 9a52b30d39b162a684b67ab0b970c4497478ee1b Mon Sep 17 00:00:00 2001 From: T Gergely <8715996+t-gergely@users.noreply.github.com> Date: Sat, 5 Oct 2024 00:57:40 +0200 Subject: [PATCH] Fix parsing of JDK 17+ Javadoc of methods without HTML a tags. --- .../netbeans/api/java/source/ui/HTMLJavadocParser.java | 2 +- .../api/java/source/ui/HTMLJavadocParserTest.java | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/java/java.sourceui/src/org/netbeans/api/java/source/ui/HTMLJavadocParser.java b/java/java.sourceui/src/org/netbeans/api/java/source/ui/HTMLJavadocParser.java index dd408f335dc3..7a9738e7a21e 100644 --- a/java/java.sourceui/src/org/netbeans/api/java/source/ui/HTMLJavadocParser.java +++ b/java/java.sourceui/src/org/netbeans/api/java/source/ui/HTMLJavadocParser.java @@ -401,7 +401,7 @@ public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos) { String attrId = (String) a.getAttribute(HTML.Attribute.ID); if (names.contains(attrId)) { // we have found desired javadoc member info anchor - state[0] = A_OPEN; + state[0] = A_CLOSE; } } else { section_counter++; diff --git a/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/HTMLJavadocParserTest.java b/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/HTMLJavadocParserTest.java index 4fec095b557a..b20eff9c2a65 100644 --- a/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/HTMLJavadocParserTest.java +++ b/java/java.sourceui/test/unit/src/org/netbeans/api/java/source/ui/HTMLJavadocParserTest.java @@ -18,7 +18,6 @@ */ package org.netbeans.api.java.source.ui; -import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import java.net.URLEncoder; @@ -83,7 +82,12 @@ public void testJavadoc17Class() throws Exception { assertTrue(result.contains("This is an example class.")); assertFalse(result.contains("")); - URL url = appendFragment(root, "(java.lang.String)"); + URL url = appendFragment(root, "()"); + result = HTMLJavadocParser.getJavadocText(url, false); + assertTrue(result.contains("This is the default constructor.")); + assertFalse(result.contains("")); + + url = appendFragment(root, "(java.lang.String)"); result = HTMLJavadocParser.getJavadocText(url, false); assertTrue(result.contains("This is a constructor taking a single String parameter.")); assertFalse(result.contains(""));