You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pa...@apache.org on 2020/01/21 09:45:23 UTC

[wicket] 01/01: WICKET-6725: render CSS via IHeaderContributor and update tests

This is an automated email from the ASF dual-hosted git repository.

papegaaij pushed a commit to branch csp-display-none
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 93a3cf68eae12a1fafccbfdba67f456386fc1779
Author: Emond Papegaaij <em...@topicus.nl>
AuthorDate: Tue Jan 21 10:16:01 2020 +0100

    WICKET-6725: render CSS via IHeaderContributor and update tests
---
 .../src/main/java/org/apache/wicket/Component.java |  2 +-
 .../src/main/java/org/apache/wicket/Page.java      | 13 +--------
 .../java/org/apache/wicket/css/wicket-core.css     | 16 +++++++++++
 .../org/apache/wicket/mock/MockApplication.java    |  2 ++
 .../wicket/protocol/http/WebApplication.java       |  9 ++++++
 .../apache/wicket/settings/ResourceSettings.java   | 33 ++++++++++++++++++----
 .../org/apache/wicket/PlaceholderTagIdTest.java    |  2 +-
 .../markup/IEConditionalCommentsPage-expected.html | 23 +++++++++++++++
 .../org/apache/wicket/markup/MarkupParserTest.java |  4 +--
 .../markup/html/basic/HomePageRedirectTest.java    |  4 +--
 .../markup/html/basic/RedirectPage-expected1.html  |  5 ++++
 .../markup/html/basic/RedirectPage-expected2.html  |  5 ++++
 .../markup/html/internal/AjaxEnclosureTest.java    |  2 +-
 ...eEnclosureDifferentNamespaceExpectedResult.html |  3 +-
 .../InlineEnclosurePageExpectedResult_1.html       |  5 ++--
 .../InlineEnclosurePageExpectedResult_2.html       |  3 +-
 .../InlineEnclosurePanelPageExpectedResult.html    |  3 +-
 .../markup/html/internal/InlineEnclosureTest.java  |  2 ++
 ...reWithWicketMessagePage_invisible_expected.html |  5 ++--
 ...sureWithWicketMessagePage_visible_expected.html |  3 +-
 .../markup/html/internal/TogglePageTest.java       |  2 +-
 .../panel/InlinePanelPageExpectedResult_8.html     |  4 +--
 .../wicket/queueing/ComponentQueueingTest.java     |  2 +-
 23 files changed, 116 insertions(+), 36 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index d2da23b..bb9c1ad 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -3043,7 +3043,7 @@ public abstract class Component
 
 	/**
 	 * Render a placeholder tag when the component is not visible. The tag is of form:
-	 * &lt;componenttag style="display:none;" id="markupid"/&gt;. This method will also call
+	 * &lt;componenttag class="wicket--hidden" id="markupid"/&gt;. This method will also call
 	 * <code>setOutputMarkupId(true)</code>.
 	 * 
 	 * This is useful, for example, in ajax situations where the component starts out invisible and
diff --git a/wicket-core/src/main/java/org/apache/wicket/Page.java b/wicket-core/src/main/java/org/apache/wicket/Page.java
index 14ec901..d204335 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Page.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Page.java
@@ -24,13 +24,10 @@ import java.util.Set;
 
 import org.apache.wicket.authorization.UnauthorizedActionException;
 import org.apache.wicket.core.util.lang.WicketObjects;
-import org.apache.wicket.css.WicketCoreCSSResourceReference;
 import org.apache.wicket.feedback.FeedbackDelay;
 import org.apache.wicket.markup.MarkupException;
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.MarkupType;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.resolver.IComponentResolver;
 import org.apache.wicket.model.IModel;
@@ -1006,14 +1003,6 @@ public abstract class Page extends MarkupContainer
 		}
 	}
 
-	@Override
-	public void renderHead(IHeaderResponse response)
-	{
-		super.renderHead(response);
-		response.render(
-			CssHeaderItem.forReference(getApplication().getResourceSettings().getWicketCoreCSS()));
-	}
-
 	/**
 	 * THIS METHOD IS NOT PART OF THE WICKET PUBLIC API. DO NOT CALL.
 	 * 
@@ -1024,4 +1013,4 @@ public abstract class Page extends MarkupContainer
 	{
 		return renderedComponents != null && renderedComponents.contains(component);
 	}
-}
\ No newline at end of file
+}
diff --git a/wicket-core/src/main/java/org/apache/wicket/css/wicket-core.css b/wicket-core/src/main/java/org/apache/wicket/css/wicket-core.css
index 9bbdd63..d4e8c79 100644
--- a/wicket-core/src/main/java/org/apache/wicket/css/wicket-core.css
+++ b/wicket-core/src/main/java/org/apache/wicket/css/wicket-core.css
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 .wicket--hidden {
 	display: none!important;
 }
\ No newline at end of file
diff --git a/wicket-core/src/main/java/org/apache/wicket/mock/MockApplication.java b/wicket-core/src/main/java/org/apache/wicket/mock/MockApplication.java
index 4ae6f41..3122552 100644
--- a/wicket-core/src/main/java/org/apache/wicket/mock/MockApplication.java
+++ b/wicket-core/src/main/java/org/apache/wicket/mock/MockApplication.java
@@ -71,5 +71,7 @@ public class MockApplication extends WebApplication
 
 		// for test cases we usually want stable resource names
 		getResourceSettings().setCachingStrategy(NoOpResourceCachingStrategy.INSTANCE);
+		// the core CSS causes noise in tests and isn't needed
+		getResourceSettings().disableWicketCoreCSS();
 	}
 }
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
index 0f3177f..95dfd3b 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
@@ -21,6 +21,7 @@ import java.nio.charset.Charset;
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Locale;
+import java.util.Optional;
 import java.util.function.Function;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
@@ -758,6 +759,14 @@ public abstract class WebApplication extends Application
 		setAjaxRequestTargetProvider(AjaxRequestHandler::new);
 
 		getAjaxRequestTargetListeners().add(new AjaxEnclosureListener());
+		
+		getHeaderContributorListeners().add(head -> {
+			Optional<CssResourceReference> wicketCoreCSS = getResourceSettings().getWicketCoreCSS();
+			if (wicketCoreCSS.isPresent())
+			{
+				head.render(CssHeaderItem.forReference(wicketCoreCSS.get()));
+			}
+		});
 
 		// Configure the app.
 		configure();
diff --git a/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java b/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java
index dc227ca..308f222 100644
--- a/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java
+++ b/wicket-core/src/main/java/org/apache/wicket/settings/ResourceSettings.java
@@ -16,10 +16,12 @@
  */
 package org.apache.wicket.settings;
 
+import java.time.Duration;
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.Component;
@@ -58,7 +60,7 @@ import org.apache.wicket.util.file.IResourceFinder;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Generics;
 import org.apache.wicket.util.resource.IResourceStream;
-import java.time.Duration;
+import org.apache.wicket.util.tester.WicketTester;
 import org.apache.wicket.util.watch.IModificationWatcher;
 import org.apache.wicket.util.watch.ModificationWatcher;
 
@@ -175,7 +177,8 @@ public class ResourceSettings implements IPropertiesFactoryContext
 
 	private boolean encodeJSessionId = false;
 	
-	private CssResourceReference wicketCoreCSS = WicketCoreCSSResourceReference.get();
+	private Optional<CssResourceReference> wicketCoreCSS =
+		Optional.of(WicketCoreCSSResourceReference.get());
 
 	/**
 	 * Configures Wicket's default ResourceLoaders.<br>
@@ -777,11 +780,12 @@ public class ResourceSettings implements IPropertiesFactoryContext
 	
 	/**
 	 * Returns the resource reference of the core stylesheet for Wicket. This stylesheet contains
-	 * some lowlevel styling used by Wicket.
+	 * some lowlevel styling used by Wicket. When the Wicket core stylesheet has been disabled, this
+	 * returns an empty {@code Optional}.
 	 * 
 	 * @return The resource reference of the base stylesheet for Wicket.
 	 */
-	public CssResourceReference getWicketCoreCSS()
+	public Optional<CssResourceReference> getWicketCoreCSS()
 	{
 		return wicketCoreCSS;
 	}
@@ -798,7 +802,26 @@ public class ResourceSettings implements IPropertiesFactoryContext
 	 */
 	public ResourceSettings setWicketCoreCSS(CssResourceReference wicketCoreCSS)
 	{
-		this.wicketCoreCSS = wicketCoreCSS;
+		if (wicketCoreCSS == null)
+		{
+			throw new NullPointerException(
+				"Cannot set the Wicket core CSS to null, use disableWicketCoreCSS() instead.");
+		}
+		this.wicketCoreCSS = Optional.of(wicketCoreCSS);
+		return this;
+	}
+
+	/**
+	 * Disables the Wicket core CSS. You application should package corresponding styling
+	 * definitions in its CSS to prevent hidden components to be displayed. The Wicket core CSS can
+	 * also be disabled for {@link WicketTester} tests to prevent the core CSS to popup in testcases
+	 * when the resulting HTML is not rendered by a browser.
+	 * 
+	 * @return {@code this} object for chaining
+	 */
+	public ResourceSettings disableWicketCoreCSS()
+	{
+		this.wicketCoreCSS = Optional.empty();
 		return this;
 	}
 }
diff --git a/wicket-core/src/test/java/org/apache/wicket/PlaceholderTagIdTest.java b/wicket-core/src/test/java/org/apache/wicket/PlaceholderTagIdTest.java
index 5b98156..cdecfb7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/PlaceholderTagIdTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/PlaceholderTagIdTest.java
@@ -42,7 +42,7 @@ class PlaceholderTagIdTest extends WicketTestCase
 	{
 		tester.startPage(TestPage.class);
 
-		tester.assertContains("<form id=\"form1_region\" style=\"display:none\" data-wicket-placeholder=\"\">");
+		tester.assertContains("<form id=\"form1_region\" class=\"wicket--hidden\" data-wicket-placeholder=\"\">");
 	}
 
 	/**
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/IEConditionalCommentsPage-expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/IEConditionalCommentsPage-expected.html
new file mode 100644
index 0000000..ed2760cd
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/IEConditionalCommentsPage-expected.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<!--[if lt IE 7 ]> <html class="no-js ie6"> <![endif]-->
+<!--[if IE 7 ]>    <html class="no-js ie7"> <![endif]-->
+<!--[if IE 8 ]>    <html class="no-js ie8"> <![endif]-->
+<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> <!--<![endif]-->
+
+<head>
+    <style>
+/*<![CDATA[*/
+
+        html {
+            font-family: Arial;
+        }
+    
+/*]]>*/
+    </style>
+</head>
+<body></body>
+
+<!--[if lt IE 7 ]> </html> <![endif]-->
+<!--[if IE 7 ]>    </html> <![endif]-->
+<!--[if IE 8 ]>    </html> <![endif]-->
+<!--[if (gte IE 9)|!(IE)]><!--> </html> <!--<![endif]-->
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java
index 5f6651b..1cd4514 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/MarkupParserTest.java
@@ -680,10 +680,10 @@ final class MarkupParserTest extends WicketTestCase
 		try
 		{
 			tester.getApplication().getMarkupSettings().setStripComments(false);
-			executeTest(IEConditionalCommentsPage.class, "IEConditionalCommentsPage.html");
+			executeTest(IEConditionalCommentsPage.class, "IEConditionalCommentsPage-expected.html");
 
 			tester.getApplication().getMarkupSettings().setStripComments(true);
-			executeTest(IEConditionalCommentsPage.class, "IEConditionalCommentsPage.html");
+			executeTest(IEConditionalCommentsPage.class, "IEConditionalCommentsPage-expected.html");
 		}
 		finally
 		{
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/HomePageRedirectTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/HomePageRedirectTest.java
index b5328dc..d094693 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/HomePageRedirectTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/HomePageRedirectTest.java
@@ -39,7 +39,7 @@ class HomePageRedirectTest extends WicketTestCase
 
 		// Validate the document
 		String document = tester.getLastResponseAsString();
-		DiffUtil.validatePage(document, this.getClass(), "RedirectPage.html", true);
+		DiffUtil.validatePage(document, this.getClass(), "RedirectPage-expected1.html", true);
 	}
 
 	/**
@@ -53,6 +53,6 @@ class HomePageRedirectTest extends WicketTestCase
 		assertEquals(RedirectPage.class, tester.getLastRenderedPage().getClass());
 
 		String document = tester.getLastResponseAsString();
-		DiffUtil.validatePage(document, this.getClass(), "RedirectPage.html", true);
+		DiffUtil.validatePage(document, this.getClass(), "RedirectPage-expected2.html", true);
 	}
 }
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected1.html
new file mode 100644
index 0000000..a317f7b
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected1.html
@@ -0,0 +1,5 @@
+<html>
+<body>
+REDIRECTED
+</body>
+</html>
\ No newline at end of file
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected2.html
new file mode 100644
index 0000000..a317f7b
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/basic/RedirectPage-expected2.html
@@ -0,0 +1,5 @@
+<html>
+<body>
+REDIRECTED
+</body>
+</html>
\ No newline at end of file
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
index 8a16f20..0564822 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/AjaxEnclosureTest.java
@@ -42,7 +42,7 @@ class AjaxEnclosureTest extends WicketTestCase
 {
 	private final String inlineEnclosureIdPrefix = "wicket__InlineEnclosure_";
 	private final String inlineEnclosureHiddenPattern = "<div id=\"" + inlineEnclosureIdPrefix +
-		"\\w+\" style=\"display:none\" data-wicket-placeholder=\"\"></div>";
+		"\\w+\" class=\"wicket--hidden\" data-wicket-placeholder=\"\"></div>";
 	private final String inlineEnclosureVisiblePattern = "<div id=\"" + inlineEnclosureIdPrefix +
 		"\\w+\">";
 
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html
index 245f47d..a472438 100755
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureDifferentNamespaceExpectedResult.html
@@ -1,5 +1,6 @@
 <html>
-<body>
+<head><link rel="stylesheet" type="text/css" href="../resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+</head><body>
 
 <!-- nested inline enclosures with separate child depths. -->
 <div id="w__InlineEnclosure__11193264691"><span>Test Label 1</span>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html
index 4bc7e17..406b7a6 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_1.html
@@ -1,5 +1,6 @@
 <html>
-<body>
+<head><link rel="stylesheet" type="text/css" href="./wicket/resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+</head><body>
 
 <span id="wicket__InlineEnclosure__15719789331"> <span>Test Label 1</span> </span>
 
@@ -11,7 +12,7 @@
 	</table>
 </div>
 
-<span id="wicket__InlineEnclosure__15719789313" style="display:none" data-wicket-placeholder=""></span>
+<span id="wicket__InlineEnclosure__15719789313" class="wicket--hidden" data-wicket-placeholder=""></span>
 
 <div id="wicket__InlineEnclosure__15719789304">
 	<table>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html
index bc6e4c6..6fcc322 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePageExpectedResult_2.html
@@ -1,5 +1,6 @@
 <html>
-<body>
+<head><link rel="stylesheet" type="text/css" href="../resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+</head><body>
 
 <!-- nested inline enclosures with separate child depths. -->
 <div id="wicket__InlineEnclosure__15719789021"><span>Test Label 1</span>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html
index 9b8cf1a..65d4910 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosurePanelPageExpectedResult.html
@@ -1,5 +1,6 @@
 <html>
-<body>
+<head><link rel="stylesheet" type="text/css" href="../resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+</head><body>
 	<div id="wicket__InlineEnclosure_12175729931">
 		<div>
 			<div>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java
index a3ed468..1e84076 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureTest.java
@@ -25,6 +25,7 @@ import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.parser.filter.InlineEnclosureHandler;
 import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.request.resource.caching.NoOpResourceCachingStrategy;
 import org.apache.wicket.util.tester.WicketTestCase;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
@@ -154,6 +155,7 @@ class InlineEnclosureTest extends WicketTestCase
 			protected void init()
 			{
 				getMarkupSettings().setStripWicketTags(true);
+				getResourceSettings().setCachingStrategy(NoOpResourceCachingStrategy.INSTANCE);
 			}
 		};
 	}
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html
index 330445e..17dd172 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_invisible_expected.html
@@ -17,10 +17,11 @@
 -->
 <!DOCTYPE html>
 <html>
-<head>
+<head><link rel="stylesheet" type="text/css" href="./resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+
 	<title>Wicket 4520</title>
 </head>
 <body>
-	<div id="wicket__message__attr___4340036351" style="display:none" data-wicket-placeholder=""></div>
+	<div id="wicket__message__attr___4340036351" class="wicket--hidden" data-wicket-placeholder=""></div>
 </body>
 </html>
\ No newline at end of file
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html
index e7f6a18..ffa14c0 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/InlineEnclosureWithWicketMessagePage_visible_expected.html
@@ -17,7 +17,8 @@
 -->
 <!DOCTYPE html>
 <html>
-<head>
+<head><link rel="stylesheet" type="text/css" href="./resource/org.apache.wicket.css.WicketCoreCSSResourceReference/wicket-core.css" />
+
 	<title>Wicket 4520</title>
 </head>
 <body>
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
index 12a09c3..8bd4eb8 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/internal/TogglePageTest.java
@@ -162,7 +162,7 @@ class TogglePageTest extends WicketTestCase
 		String inlineEnclosureIdPrefix = "wicket__InlineEnclosure_";
 
 		String inlineEnclosureHiddenPattern = "<tr id=\"" + inlineEnclosureIdPrefix +
-			"\\w+\" style=\"display:none\" data-wicket-placeholder=\"\"></tr>";
+			"\\w+\" class=\"wicket--hidden\" data-wicket-placeholder=\"\"></tr>";
 
 		String inlineEnclosureVisiblePattern = "<tr bgcolor=\"red\" id=\"" +
 			inlineEnclosureIdPrefix + "\\w+\">";
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html b/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html
index 77349f7..59332e3 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/panel/InlinePanelPageExpectedResult_8.html
@@ -11,7 +11,7 @@ Wicket.Log.enabled=true;
 Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.html.panel.InlinePanelPage_8?0";
 /*]]>*/
 </script>
-<script type="text/javascript" >
+<script type="text/javascript">
 /*<![CDATA[*/
 Wicket.Event.add(window, "domready", function(event) { 
 Wicket.Ajax.ajax({"u":"./org.apache.wicket.markup.html.panel.InlinePanelPage_8?0-1.0-add","c":"add1","e":"click","pd":true});;
@@ -23,7 +23,7 @@ Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
 
 <div wicket:id="first">
   <span wicket:id="number">0</span><br/>
-  <div id="nextContainer2" style="display:none" data-wicket-placeholder=""></div>
+  <div id="nextContainer2" class="wicket--hidden" data-wicket-placeholder=""></div>
 </div>
 <a wicket:id="add" id="add1" href="#">Add</a>
 
diff --git a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
index 8235682..c8051bf 100644
--- a/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/queueing/ComponentQueueingTest.java
@@ -601,7 +601,7 @@ class ComponentQueueingTest extends WicketTestCase
 
 		a.setVisible(false);
 		tester.startPage(p);
-		assertEquals("<div id=\"wicket__InlineEnclosure_20793898271\" style=\"display:none\" data-wicket-placeholder=\"\"></div>", tester.getLastResponseAsString());
+		assertEquals("<div id=\"wicket__InlineEnclosure_20793898271\" class=\"wicket--hidden\" data-wicket-placeholder=\"\"></div>", tester.getLastResponseAsString());
 	}
 	
 	/**