]> source.dussan.org Git - vaadin-framework.git/commitdiff
Update to Jsoup 1.14.2 (#12381)
authorTatu Lund <tatu@vaadin.com>
Tue, 24 Aug 2021 10:53:34 +0000 (13:53 +0300)
committerGitHub <noreply@github.com>
Tue, 24 Aug 2021 10:53:34 +0000 (13:53 +0300)
pom.xml
server/src/main/java/com/vaadin/ui/declarative/Design.java
server/src/test/java/com/vaadin/tests/design/DeclarativeTestBaseBase.java
server/src/test/java/com/vaadin/tests/design/LocaleTest.java
server/src/test/java/com/vaadin/tests/server/component/ReadEmptyDesignTest.java
uitest/src/main/java/com/vaadin/tests/minitutorials/v7b1/BootstrapListenerCode.java

diff --git a/pom.xml b/pom.xml
index 4e985f020fedec9e2e22f43c230b09ee02b18d65..fda31bfc68600baac6c192708392f414cb71eaf0 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
 
         <!-- Used in OSGi manifests -->
         <javax.validation.version>2.0.1.Final</javax.validation.version>
-        <jsoup.version>1.11.2</jsoup.version>
+        <jsoup.version>1.14.2</jsoup.version>
         <javax.portlet.version>2.0</javax.portlet.version>
         <vaadin.sass.version>0.9.13</vaadin.sass.version>
         <!-- Note that this should be kept in sync with the class Constants -->
index 2e1e767f740a585d80d18ac2dc0a021a4d02b41c..daed874a98833d54971ed740a69e5ac6f566f3d2 100644 (file)
@@ -534,7 +534,7 @@ public class Design implements Serializable {
     private static Document createHtml(DesignContext designContext) {
         // Create the html tree skeleton.
         Document doc = new Document("");
-        DocumentType docType = new DocumentType("html", "", "", "");
+        DocumentType docType = new DocumentType("html", "", "");
         doc.appendChild(docType);
         Element html = doc.createElement("html");
         doc.appendChild(html);
index 04c04ed76a40b704f406d39d0381537fbf383174..927e6b291ce0f27294db71f6c9f943bf7611fac7 100644 (file)
@@ -6,6 +6,7 @@ import static org.junit.Assert.assertNull;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
@@ -16,7 +17,6 @@ import java.util.logging.Logger;
 
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Attribute;
-import org.jsoup.nodes.BooleanAttribute;
 import org.jsoup.nodes.Element;
 import org.jsoup.nodes.Node;
 import org.jsoup.nodes.TextNode;
@@ -29,6 +29,13 @@ import com.vaadin.ui.declarative.DesignContext;
 import com.vaadin.ui.declarative.ShouldWriteDataDelegate;
 
 public abstract class DeclarativeTestBaseBase<T extends Component> {
+    private static final String[] booleanAttributes = { "allowfullscreen",
+            "async", "autofocus", "checked", "compact", "declare", "default",
+            "defer", "disabled", "formnovalidate", "hidden", "inert", "ismap",
+            "itemscope", "multiple", "muted", "nohref", "noresize", "noshade",
+            "novalidate", "nowrap", "open", "readonly", "required", "reversed",
+            "seamless", "selected", "sortable", "truespeed", "typemustmatch" };
+
     private static final class AlwaysWriteDelegate
             implements ShouldWriteDataDelegate {
         private static final long serialVersionUID = -6345914431997793599L;
@@ -249,7 +256,7 @@ public abstract class DeclarativeTestBaseBase<T extends Component> {
         List<String> names = new ArrayList<>();
         for (Attribute a : producedElem.attributes().asList()) {
             names.add(a.getKey());
-            if (a instanceof BooleanAttribute) {
+            if (isBooleanAttribute(a.getKey())) {
                 booleanAttributes.add(a.getKey());
             }
         }
@@ -276,6 +283,13 @@ public abstract class DeclarativeTestBaseBase<T extends Component> {
         return sb.toString();
     }
 
+    /**
+     * Checks if this attribute name is defined as a boolean attribute in HTML5
+     */
+    protected static boolean isBooleanAttribute(final String key) {
+        return Arrays.binarySearch(booleanAttributes, key) >= 0;
+    }
+
     protected String stripOptionTags(String design) {
         return design.replaceAll("[ \n]*<option(.*)</option>[ \n]*", "");
 
index ab04cbc7271dd6caac42d9c2684224ab68711d62..98eeb342bfe9f0591653286b94986b0df9b5014b 100644 (file)
@@ -97,7 +97,7 @@ public class LocaleTest {
     private Document componentToDoc(DesignContext dc) {
         // Create the html tree skeleton.
         Document doc = new Document("");
-        DocumentType docType = new DocumentType("html", "", "", "");
+        DocumentType docType = new DocumentType("html", "", "");
         doc.appendChild(docType);
         Element html = doc.createElement("html");
         doc.appendChild(html);
@@ -124,7 +124,7 @@ public class LocaleTest {
     public void testParsing() {
         // create an html document
         Document doc = new Document("");
-        DocumentType docType = new DocumentType("html", "", "", "");
+        DocumentType docType = new DocumentType("html", "", "");
         doc.appendChild(docType);
         Element html = doc.createElement("html");
         doc.appendChild(html);
index 2757fd6c3db0cac231e121c5ae7a2076d8a68edd..58ba3131ef65857b74bd8f92793a02352f6d8d65 100644 (file)
@@ -59,7 +59,7 @@ public class ReadEmptyDesignTest {
 
     private Document createDesign() {
         Document doc = new Document("");
-        DocumentType docType = new DocumentType("html", "", "", "");
+        DocumentType docType = new DocumentType("html", "", "");
         doc.appendChild(docType);
         Element html = doc.createElement("html");
         doc.appendChild(html);
index 56770d053ef012b784b4d97e8b3f9d907d243957..0c3e884264722c84c5465e22258ce642d74bf9d9 100644 (file)
@@ -24,7 +24,7 @@ public class BootstrapListenerCode {
         @Override
         public void modifyBootstrapPage(BootstrapPageResponse response) {
             response.getDocument().body()
-                    .appendChild(new Comment("Powered by Vaadin!", ""));
+                    .appendChild(new Comment("Powered by Vaadin!"));
             response.setHeader("X-Powered-By", "Vaadin 7");
         }