mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 23:34:52 +02:00
8241292: Interactive Search results are not highlighted as they used to be
Reviewed-by: prappo
This commit is contained in:
parent
81353a56f9
commit
7dc952ec20
2 changed files with 36 additions and 6 deletions
|
@ -29,7 +29,7 @@ var catPackages = "Packages";
|
||||||
var catTypes = "Types";
|
var catTypes = "Types";
|
||||||
var catMembers = "Members";
|
var catMembers = "Members";
|
||||||
var catSearchTags = "SearchTags";
|
var catSearchTags = "SearchTags";
|
||||||
var highlight = "<span class=\"resultHighlight\">$&</span>";
|
var highlight = "<span class=\"result-highlight\">$&</span>";
|
||||||
var searchPattern = "";
|
var searchPattern = "";
|
||||||
var RANKING_THRESHOLD = 2;
|
var RANKING_THRESHOLD = 2;
|
||||||
var NO_MATCH = 0xffff;
|
var NO_MATCH = 0xffff;
|
||||||
|
@ -128,10 +128,10 @@ $.widget("custom.catcomplete", $.ui.autocomplete, {
|
||||||
li = rMenu._renderItemData(ul, item);
|
li = rMenu._renderItemData(ul, item);
|
||||||
if (item.category) {
|
if (item.category) {
|
||||||
li.attr("aria-label", item.category + " : " + item.l);
|
li.attr("aria-label", item.category + " : " + item.l);
|
||||||
li.attr("class", "resultItem");
|
li.attr("class", "result-item");
|
||||||
} else {
|
} else {
|
||||||
li.attr("aria-label", item.l);
|
li.attr("aria-label", item.l);
|
||||||
li.attr("class", "resultItem");
|
li.attr("class", "result-item");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -159,10 +159,10 @@ $.widget("custom.catcomplete", $.ui.autocomplete, {
|
||||||
var div = $("<div/>").appendTo(li);
|
var div = $("<div/>").appendTo(li);
|
||||||
if (item.category === catSearchTags) {
|
if (item.category === catSearchTags) {
|
||||||
if (item.d) {
|
if (item.d) {
|
||||||
div.html(label + "<span class=\"searchTagHolderResult\"> (" + item.h + ")</span><br><span class=\"searchTagDescResult\">"
|
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
|
||||||
+ item.d + "</span><br>");
|
+ item.d + "</span><br>");
|
||||||
} else {
|
} else {
|
||||||
div.html(label + "<span class=\"searchTagHolderResult\"> (" + item.h + ")</span>");
|
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
div.html(label);
|
div.html(label);
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
* @test
|
* @test
|
||||||
* @bug 8141492 8071982 8141636 8147890 8166175 8168965 8176794 8175218 8147881
|
* @bug 8141492 8071982 8141636 8147890 8166175 8168965 8176794 8175218 8147881
|
||||||
* 8181622 8182263 8074407 8187521 8198522 8182765 8199278 8196201 8196202
|
* 8181622 8182263 8074407 8187521 8198522 8182765 8199278 8196201 8196202
|
||||||
* 8184205 8214468 8222548 8223378 8234746
|
* 8184205 8214468 8222548 8223378 8234746 8241219
|
||||||
* @summary Test the search feature of javadoc.
|
* @summary Test the search feature of javadoc.
|
||||||
* @library ../../lib
|
* @library ../../lib
|
||||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
||||||
|
@ -34,6 +34,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeSet;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import javadoc.tester.JavadocTester;
|
import javadoc.tester.JavadocTester;
|
||||||
|
|
||||||
|
@ -623,6 +627,32 @@ public class TestSearch extends JavadocTester {
|
||||||
+ " return urlPrefix;\n"
|
+ " return urlPrefix;\n"
|
||||||
+ "}",
|
+ "}",
|
||||||
"url += ui.item.l;");
|
"url += ui.item.l;");
|
||||||
|
|
||||||
|
checkCssClasses("search.js", "stylesheet.css");
|
||||||
|
}
|
||||||
|
|
||||||
|
void checkCssClasses(String jsFile, String cssFile) {
|
||||||
|
// Check that all CSS class names mentioned in the JavaScript file
|
||||||
|
// are also defined as class selectors somewhere in the stylesheet file.
|
||||||
|
String js = readOutputFile(jsFile);
|
||||||
|
Set<String> cssClasses = new TreeSet<>();
|
||||||
|
addMatches(js, Pattern.compile("class=\\\\*\"([^\\\\\"]+)\\\\*\""), cssClasses);
|
||||||
|
addMatches(js, Pattern.compile("attr\\(\"class\", \"([^\"]+)\"\\)"), cssClasses);
|
||||||
|
// verify that the regex did find use of CSS class names
|
||||||
|
checking("Checking CSS classes found");
|
||||||
|
if (cssClasses.isEmpty()) {
|
||||||
|
failed("no CSS classes found");
|
||||||
|
} else {
|
||||||
|
passed(cssClasses.size() + " found: " + cssClasses);
|
||||||
|
}
|
||||||
|
checkOutput(cssFile, true, cssClasses.toArray(new String[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
void addMatches(String js, Pattern p, Set<String> cssClasses) {
|
||||||
|
Matcher m = p.matcher(js);
|
||||||
|
while (m.find()) {
|
||||||
|
cssClasses.add("." + m.group(1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkSingleIndexSearchTagDuplication() {
|
void checkSingleIndexSearchTagDuplication() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue