From 210e8ff41584e06c98cc0295af2453d32034da82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christophe=20Z=C3=BCrn?=
<36889251+christophe-zurn-sonarsource@users.noreply.github.com>
Date: Mon, 5 Dec 2022 15:37:54 +0100
Subject: [PATCH] Update parent pom and pre-release cleanup (#234)
---
pom.xml | 2 +-
.../java/org/sonar/plugins/html/HtmlPlugin.java | 4 +---
.../comments/AvoidCommentedOutCodeCheck.java | 9 ++++-----
.../sonar/DeprecatedAttributesInHtml5Check.java | 4 +---
.../IndistinguishableSimilarElementsCheck.java | 3 +--
.../html/checks/sonar/InputWithoutLabelCheck.java | 2 +-
.../html/checks/sonar/LinkToImageCheck.java | 4 +---
.../checks/sonar/UnsupportedTagsInHtml5Check.java | 6 ++----
.../plugins/html/checks/sonar/VideoTrackCheck.java | 6 ++----
.../sonar/plugins/html/lex/ElementTokenizer.java | 6 ++----
.../org/sonar/plugins/html/rules/CheckClasses.java | 3 +--
.../org/sonar/plugins/html/checks/TestHelper.java | 4 ++--
.../scripting/UnifiedExpressionCheckTest.java | 8 ++++----
.../html/lex/NormalElementTokenizerTest.java | 14 ++++++++------
.../org/sonar/plugins/html/node/TagNodeTest.java | 1 +
.../org/sonar/plugins/html/node/TextNodeTest.java | 1 +
.../resources/checks/UnifiedExpressionCheck.jsp | 1 +
17 files changed, 34 insertions(+), 44 deletions(-)
diff --git a/pom.xml b/pom.xml
index 92a861b92..4fb9aee3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.sonarsource.parent
parent
- 60.0.52
+ 64.0.211
org.sonarsource.html
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/HtmlPlugin.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/HtmlPlugin.java
index 2ad07bc3f..1973fe340 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/HtmlPlugin.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/HtmlPlugin.java
@@ -17,7 +17,6 @@
*/
package org.sonar.plugins.html;
-import java.util.Arrays;
import java.util.List;
import org.sonar.api.Plugin;
import org.sonar.api.config.PropertyDefinition;
@@ -62,8 +61,7 @@ public void define(Context context) {
}
private static List pluginProperties() {
- return Arrays.asList(
-
+ return List.of(
PropertyDefinition.builder(HtmlConstants.FILE_EXTENSIONS_PROP_KEY)
.name("HTML File suffixes")
.description("List of file suffixes that will be scanned.")
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/comments/AvoidCommentedOutCodeCheck.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/comments/AvoidCommentedOutCodeCheck.java
index bc17548b9..a356578cf 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/comments/AvoidCommentedOutCodeCheck.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/comments/AvoidCommentedOutCodeCheck.java
@@ -17,9 +17,8 @@
*/
package org.sonar.plugins.html.checks.comments;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.regex.Pattern;
import org.sonar.check.Rule;
import org.sonar.plugins.html.checks.AbstractPageCheck;
@@ -35,14 +34,14 @@ public class AvoidCommentedOutCodeCheck extends AbstractPageCheck {
private static final Pattern COPYRIGHT_CASE_INSENSITIVE = Pattern.compile("copyright", Pattern.CASE_INSENSITIVE);
private static final double THRESHOLD = 0.9;
- private static final LanguageFootprint LANGUAGE_FOOTPRINT = () -> new HashSet<>(Arrays.asList(
+ private static final LanguageFootprint LANGUAGE_FOOTPRINT = () -> Set.of(
new ContainsDetector(0.7, "=\"", "='"),
new ContainsDetector(0.8, "/>", "", "<%", "%>"),
- new EndWithDetector(0.9, '>')));
+ new EndWithDetector(0.9, '>'));
private static final CodeRecognizer CODE_RECOGNIZER = new CodeRecognizer(THRESHOLD, LANGUAGE_FOOTPRINT);
- private static final List IGNORED_COMMENT_ANNOTATIONS = Arrays.asList("@thymesVar", "@elvariable");
+ private static final List IGNORED_COMMENT_ANNOTATIONS = List.of("@thymesVar", "@elvariable");
@Override
public void comment(CommentNode node) {
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/DeprecatedAttributesInHtml5Check.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/DeprecatedAttributesInHtml5Check.java
index f034d1e80..245ec7157 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/DeprecatedAttributesInHtml5Check.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/DeprecatedAttributesInHtml5Check.java
@@ -17,9 +17,7 @@
*/
package org.sonar.plugins.html.checks.sonar;
-import java.util.Arrays;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -111,7 +109,7 @@ public class DeprecatedAttributesInHtml5Check extends AbstractPageCheck {
}
private static void put(String key, String... values) {
- DEPRECATED.put(key, new HashSet<>(Arrays.asList(values)));
+ DEPRECATED.put(key, Set.of(values));
}
@Override
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/IndistinguishableSimilarElementsCheck.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/IndistinguishableSimilarElementsCheck.java
index 2de5e835e..7c2b3fcd3 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/IndistinguishableSimilarElementsCheck.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/IndistinguishableSimilarElementsCheck.java
@@ -17,7 +17,6 @@
*/
package org.sonar.plugins.html.checks.sonar;
-import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -32,7 +31,7 @@
@Rule(key = "S5255")
public class IndistinguishableSimilarElementsCheck extends AbstractPageCheck {
- private static final List LANDMARK_ROLES = Arrays.asList(
+ private static final List LANDMARK_ROLES = List.of(
"BANNER", "COMPLEMENTARY", "CONTENTINFO", "FORM", "MAIN", "NAVIGATION", "SEARCH", "APPLICATION"
);
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/InputWithoutLabelCheck.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/InputWithoutLabelCheck.java
index 80f8e3a07..a29d82c0b 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/InputWithoutLabelCheck.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/InputWithoutLabelCheck.java
@@ -36,7 +36,7 @@
@Rule(key = "InputWithoutLabelCheck")
public class InputWithoutLabelCheck extends AbstractPageCheck {
- private static final Set EXCLUDED_TYPES = new HashSet<>(Arrays.asList("SUBMIT", "BUTTON", "IMAGE", "HIDDEN"));
+ private static final Set EXCLUDED_TYPES = Set.of("SUBMIT", "BUTTON", "IMAGE", "HIDDEN");
private final Set labelFor = new HashSet<>();
private final Map inputIdToNode = new HashMap<>();
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/LinkToImageCheck.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/LinkToImageCheck.java
index 1bf927e5e..7757ca08c 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/LinkToImageCheck.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/LinkToImageCheck.java
@@ -17,8 +17,6 @@
*/
package org.sonar.plugins.html.checks.sonar;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
import org.sonar.check.Rule;
@@ -28,7 +26,7 @@
@Rule(key = "LinkToImageCheck")
public class LinkToImageCheck extends AbstractPageCheck {
- private static final Set IMG_SUFFIXES = new HashSet<>(Arrays.asList(".GIF", ".JPG", ".JPEG", ".PNG", ".BMP"));
+ private static final Set IMG_SUFFIXES = Set.of(".GIF", ".JPG", ".JPEG", ".PNG", ".BMP");
@Override
public void startElement(TagNode node) {
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/UnsupportedTagsInHtml5Check.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/UnsupportedTagsInHtml5Check.java
index a9c48d56f..0e7f45fee 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/UnsupportedTagsInHtml5Check.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/UnsupportedTagsInHtml5Check.java
@@ -17,8 +17,6 @@
*/
package org.sonar.plugins.html.checks.sonar;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
import org.sonar.check.Rule;
@@ -29,7 +27,7 @@
@Rule(key = "UnsupportedTagsInHtml5Check")
public class UnsupportedTagsInHtml5Check extends AbstractPageCheck {
- private static final Set UNSUPPORTED_TAGS = new HashSet<>(Arrays.asList(
+ private static final Set UNSUPPORTED_TAGS = Set.of(
"ACRONYM",
"APPLET",
"BASEFONT",
@@ -54,7 +52,7 @@ public class UnsupportedTagsInHtml5Check extends AbstractPageCheck {
"SPACER",
"STRIKE",
"TT",
- "XMP"));
+ "XMP");
@Override
public void startElement(TagNode node) {
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/VideoTrackCheck.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/VideoTrackCheck.java
index fe89632df..5b7d00250 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/VideoTrackCheck.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/checks/sonar/VideoTrackCheck.java
@@ -17,8 +17,6 @@
*/
package org.sonar.plugins.html.checks.sonar;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.Set;
import org.sonar.check.Rule;
import org.sonar.plugins.html.checks.AbstractPageCheck;
@@ -27,11 +25,11 @@
@Rule(key = "S4084")
public class VideoTrackCheck extends AbstractPageCheck {
- private static final Set ACCESSIBILITY_TRACK_KINDS = new HashSet<>(Arrays.asList(
+ private static final Set ACCESSIBILITY_TRACK_KINDS = Set.of(
"captions",
"descriptions",
"subtitles"
- ));
+ );
@Override
public void startElement(TagNode node) {
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/lex/ElementTokenizer.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/lex/ElementTokenizer.java
index b815546f5..f9fc820b1 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/lex/ElementTokenizer.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/lex/ElementTokenizer.java
@@ -18,9 +18,7 @@
package org.sonar.plugins.html.lex;
import java.util.ArrayDeque;
-import java.util.Arrays;
import java.util.Deque;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.sonar.plugins.html.node.Attribute;
@@ -198,14 +196,14 @@ public boolean match(int character) {
}
private static final class EndUnquotedAttributeMatcher implements EndMatcher {
- private static final Set FORBIDDEN = new HashSet<>(Arrays.asList(
+ private static final Set FORBIDDEN = Set.of(
'"',
'\'',
'=',
'<',
'>',
'`'
- ));
+ );
@Override
public boolean match(int character) {
diff --git a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/rules/CheckClasses.java b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/rules/CheckClasses.java
index a6a702e9e..cef198cbc 100644
--- a/sonar-html-plugin/src/main/java/org/sonar/plugins/html/rules/CheckClasses.java
+++ b/sonar-html-plugin/src/main/java/org/sonar/plugins/html/rules/CheckClasses.java
@@ -17,7 +17,6 @@
*/
package org.sonar.plugins.html.rules;
-import java.util.Arrays;
import java.util.List;
import org.sonar.plugins.html.checks.attributes.IllegalAttributeCheck;
import org.sonar.plugins.html.checks.attributes.RequiredAttributeCheck;
@@ -87,7 +86,7 @@
public final class CheckClasses {
- private static final List> CLASSES = Arrays.asList(
+ private static final List> CLASSES = List.of(
AbsoluteURICheck.class,
AvoidHtmlCommentCheck.class,
ChildElementRequiredCheck.class,
diff --git a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/TestHelper.java b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/TestHelper.java
index 3ee1b9589..97159f022 100644
--- a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/TestHelper.java
+++ b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/TestHelper.java
@@ -21,7 +21,7 @@
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
+import java.util.List;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
import org.sonar.plugins.html.analyzers.ComplexityVisitor;
@@ -55,7 +55,7 @@ public static HtmlSourceCode scan(File file, DefaultNodeVisitor visitor) {
.build()
);
- HtmlAstScanner walker = new HtmlAstScanner(Arrays.asList(new PageCountLines(), new ComplexityVisitor()));
+ HtmlAstScanner walker = new HtmlAstScanner(List.of(new PageCountLines(), new ComplexityVisitor()));
PageLexer lexer = file.getName().endsWith(".vue") ? new VueLexer() : new PageLexer();
walker.addVisitor(visitor);
walker.scan(
diff --git a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/scripting/UnifiedExpressionCheckTest.java b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/scripting/UnifiedExpressionCheckTest.java
index c0480086a..aa897acfb 100644
--- a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/scripting/UnifiedExpressionCheckTest.java
+++ b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/checks/scripting/UnifiedExpressionCheckTest.java
@@ -46,8 +46,8 @@ public void custom() {
checkMessagesVerifier.verify(sourceCode.getIssues())
.next().atLine(2).withMessage("Fix this expression: Unknown function \"myMethod1\".")
- .next().atLine(5).withMessage("Fix this expression: Error Parsing: ${}")
- .next().atLine(9).withMessage("Fix this expression: Error Parsing: ${{'one':1,}");
+ .next().atLine(6).withMessage("Fix this expression: Error Parsing: ${}")
+ .next().atLine(10).withMessage("Fix this expression: Error Parsing: ${{'one':1,}");
}
@Test
@@ -58,8 +58,8 @@ public void should_not_detect_unknown_functions_with_empty_list() {
HtmlSourceCode sourceCode = TestHelper.scan(new File("src/test/resources/checks/UnifiedExpressionCheck.jsp"), check);
checkMessagesVerifier.verify(sourceCode.getIssues())
- .next().atLine(5)
- .next().atLine(9);
+ .next().atLine(6)
+ .next().atLine(10);
}
}
diff --git a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/lex/NormalElementTokenizerTest.java b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/lex/NormalElementTokenizerTest.java
index 956541065..b47cbac85 100644
--- a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/lex/NormalElementTokenizerTest.java
+++ b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/lex/NormalElementTokenizerTest.java
@@ -99,22 +99,24 @@ public void is_valid_surrogate_pair_name_start_char() {
* Helper test method: returns true if all invocations to {@link NormalElementTokenizer#isValidSingleCharCodeNameStartChar} returns true for the given character range.
*/
private static boolean isValidRangeForFirstCharacter(char startInclusive, char endInclusive) {
- boolean allValid = true;
for (int i = startInclusive; i <= endInclusive; i++) {
- allValid = allValid && isValidSingleCharCodeNameStartChar((char) i);
+ if (!isValidSingleCharCodeNameStartChar((char) i)) {
+ return false;
+ }
}
- return allValid;
+ return true;
}
/**
* Helper test method: returns true if all invocations to {@link NormalElementTokenizer#isValidSingleCharCodeNameStartChar} returns false for the given character range.
*/
private static boolean isInvalidRangeForFirstCharacter(char startInclusive, char endInclusive) {
- boolean allInvalid = true;
for (int i = startInclusive; i <= endInclusive; i++) {
- allInvalid = allInvalid && !isValidSingleCharCodeNameStartChar((char) i);
+ if (isValidSingleCharCodeNameStartChar((char) i)) {
+ return false;
+ }
}
- return allInvalid;
+ return true;
}
}
diff --git a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TagNodeTest.java b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TagNodeTest.java
index 78c0d6f79..8871b2d4d 100644
--- a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TagNodeTest.java
+++ b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TagNodeTest.java
@@ -49,6 +49,7 @@ public void property() {
assertThat(node.getAttribute("attr.name4")).isEqualTo("value4");
assertThat(node.getPropertyValue("attr.name4")).isEqualTo("value4");
assertThat(node.hasProperty("attr.name4")).isTrue();
+ assertThat(node.hasProperty("name4")).isTrue();
assertThat(node.getAttribute("name3")).isNull();
assertThat(node.getPropertyValue("name3")).isEqualTo("value3");
diff --git a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TextNodeTest.java b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TextNodeTest.java
index 93d47d26f..ab823520b 100644
--- a/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TextNodeTest.java
+++ b/sonar-html-plugin/src/test/java/org/sonar/plugins/html/node/TextNodeTest.java
@@ -28,6 +28,7 @@ public void emptyTextNode() {
TextNode textNode = new TextNode();
assertThat(textNode.isBlank()).isTrue();
assertThat(textNode.getCode()).isEmpty();
+ assertThat(textNode.toString()).isEmpty();
}
}
diff --git a/sonar-html-plugin/src/test/resources/checks/UnifiedExpressionCheck.jsp b/sonar-html-plugin/src/test/resources/checks/UnifiedExpressionCheck.jsp
index 547989b67..340900a06 100644
--- a/sonar-html-plugin/src/test/resources/checks/UnifiedExpressionCheck.jsp
+++ b/sonar-html-plugin/src/test/resources/checks/UnifiedExpressionCheck.jsp
@@ -1,6 +1,7 @@
+