You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2018/01/23 08:40:54 UTC

wicket git commit: WICKET-6498 added test

Repository: wicket
Updated Branches:
  refs/heads/WICKET-6498_deferred_javascript_2 d437b816d -> 8b14b4144


WICKET-6498 added test


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8b14b414
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8b14b414
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8b14b414

Branch: refs/heads/WICKET-6498_deferred_javascript_2
Commit: 8b14b4144929ceecb2c2a31b1e4ff985c10fb417
Parents: d437b81
Author: Sven Meier <sv...@apache.org>
Authored: Tue Jan 23 09:40:30 2018 +0100
Committer: Sven Meier <sv...@apache.org>
Committed: Tue Jan 23 09:40:30 2018 +0100

----------------------------------------------------------------------
 .../wicket/markup/head/filter/DeferredPage.html |  4 ++
 .../wicket/markup/head/filter/DeferredPage.java | 44 ++++++++++++++++++++
 .../head/filter/DeferredPageExpected.html       | 25 +++++++++++
 .../filter/FilteringHeaderResponseTest.java     | 20 ++++++++-
 4 files changed, 92 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8b14b414/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.html b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.html
new file mode 100644
index 0000000..ee4a485
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.html
@@ -0,0 +1,4 @@
+<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >
+    <body>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/8b14b414/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.java b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.java
new file mode 100644
index 0000000..355328b
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPage.java
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ */
+package org.apache.wicket.markup.head.filter;
+
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.WebPage;
+
+/**
+ * @author svenmeier
+ */
+public class DeferredPage extends WebPage
+{
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * Construct.
+	 * 
+	 * @param parameters
+	 */
+	public DeferredPage()
+	{
+		add(new AjaxEventBehavior("click") {
+			@Override
+			protected void onEvent(AjaxRequestTarget target)
+			{
+			}
+		});
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/8b14b414/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPageExpected.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPageExpected.html b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPageExpected.html
new file mode 100644
index 0000000..894bad2
--- /dev/null
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/DeferredPageExpected.html
@@ -0,0 +1,25 @@
+<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd" >
+    <head><script type="text/javascript" defer="defer" src="../resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-2.2.4.js"></script>
+<script type="text/javascript" defer="defer" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery.js"></script>
+<script type="text/javascript" defer="defer" src="../resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-debug.js"></script>
+<script type="text/javascript" >
+/*<![CDATA[*/
+document.addEventListener('DOMContentLoaded', function() { Wicket.Ajax.DebugWindow.enabled=true;; });
+/*]]>*/
+</script>
+<script type="text/javascript" >
+/*<![CDATA[*/
+document.addEventListener('DOMContentLoaded', function() { Wicket.Ajax.baseUrl="wicket/bookmarkable/org.apache.wicket.markup.head.filter.DeferredPage?0";; });
+/*]]>*/
+</script>
+<script type="text/javascript" >
+/*<![CDATA[*/
+document.addEventListener('DOMContentLoaded', function() { 
+Wicket.Ajax.ajax({"u":"./org.apache.wicket.markup.head.filter.DeferredPage?0-1.0-","e":"click"});;
+Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
+; });
+/*]]>*/
+</script>
+</head><body>
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/8b14b414/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
index d8a901a..99665a7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/head/filter/FilteringHeaderResponseTest.java
@@ -75,4 +75,22 @@ public class FilteringHeaderResponseTest extends WicketTestCase
 		CharSequence realContent = headerResponse.getContent(filterName);
 		assertEquals(headerContent, realContent.toString());
 	}
-}
+
+	/**
+	 * WICKET-6498 all JavaScript resources have an "defer" attribute, all other JavaScript is
+	 * inside a {@code document.addEventListener('DOMContentLoaded', function() {}; } hook.
+	 */
+	@Test
+	public void deferred() throws Exception
+	{
+		tester.getApplication().setHeaderResponseDecorator(new IHeaderResponseDecorator()
+		{
+			@Override
+			public IHeaderResponse decorate(IHeaderResponse response)
+			{
+				return new ResourceAggregator(new JavaScriptDeferHeaderResponse(response));
+			}
+		});
+		executeTest(DeferredPage.class, "DeferredPageExpected.html");
+	}
+}
\ No newline at end of file