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