Updated Branches:
  refs/heads/master 382431639 -> 8fb770773

WICKET-4652 AbstractAjaxTimerBehavior throws ComponentNotFoundException when 
its component is replaced in PageMap.

1) default precondition returns 'true' if there is no specified component 
(attrs.c) - this may happen if someone uses JavaScript APIs directly.
Our default impl sets 'window' if attrs.c is undefined.
2) Wicket.DOM.inDoc(window) now returns 'true'
3) add unit tests


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

Branch: refs/heads/master
Commit: 8fb77077354c6658e19bff4d6ee118c7d4896c58
Parents: 3824316
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Jul 23 12:27:08 2012 +0300
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Jul 23 12:27:08 2012 +0300

----------------------------------------------------------------------
 .../wicket/ajax/res/js/wicket-ajax-jquery.js       |    4 ++
 wicket-core/src/test/js/ajax.js                    |   32 ++++-----------
 wicket-core/src/test/js/all.html                   |    4 ++
 wicket-core/src/test/js/dom.js                     |    6 ++-
 4 files changed, 21 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index 44fb6c5..fa46f1c 100644
--- 
a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ 
b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -450,6 +450,7 @@
                                                        return 
Wicket.$$(attributes.c);
                                                }
                                        }
+                                       return true;
                                }];
 
                        if (Wicket.Focus.lastFocusId) {
@@ -1389,6 +1390,9 @@
                         * if the argument is not element, function returns true
                         */
                        inDoc: function (element) {
+                               if (element === window) {
+                                       return true;
+                               }
                                if (typeof(element) === "string") {
                                        element = Wicket.$(element);
                                }

http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/ajax.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/ajax.js b/wicket-core/src/test/js/ajax.js
index 0f52461..1558735 100644
--- a/wicket-core/src/test/js/ajax.js
+++ b/wicket-core/src/test/js/ajax.js
@@ -551,14 +551,11 @@ jQuery(document).ready(function() {
                                .append($indicator)
                                .append($el);
 
-                       // counts how many complete handlers have been executed
-                       var calls = 0;
-
                        // returns the number of 'shows' of the indicator
                        var getCurrentCount = function () {
                                var count = 
$indicator.attr('showIncrementallyCount');
                                return count ? parseInt(count, 10) : 0;
-                       }
+                       };
 
                        // called as 'success' for requestOne and as 'failure' 
for requestTwo
                        var successFailureHandler = function () {
@@ -566,15 +563,6 @@ jQuery(document).ready(function() {
                                ok(count === 1 || count === 2, 
"'showIncrementallyCount' must be 1 or 2. Value is: " + count);
                        };
 
-                       // notifies when the last (second) complete handler is 
done
-                       var deferred = jQuery.Deferred();
-
-                       var completeHandler = function () {
-                               if (++calls === 2) {
-                                       deferred.resolve();
-                               }
-                       };
-
                        var attrs = {
                                u: 'data/ajax/nonWicketResponse.json',
                                e: 'event1',
@@ -583,7 +571,6 @@ jQuery(document).ready(function() {
                                dt: 'json', // datatype
                                sh: [ successFailureHandler ],
                                fh: [ successFailureHandler ],
-                               coh: [ completeHandler ],
                                wr: false // not Wicket's <ajax-response>
                        };
 
@@ -599,7 +586,14 @@ jQuery(document).ready(function() {
                        var attrsThree = jQuery.extend({}, attrs, {
                                pre: [
                                        function () {
+                                               start();
                                                ok(true, 'Request 3: 
Precondition called.')
+
+                                               var count = getCurrentCount();
+                                               equal(0, count, 
"'showIncrementallyCount' must be 0 after the executions but is: " + count);
+                                               $indicator.remove();
+                                               $el.off().remove();
+
                                                return false;
                                        }
                                ]
@@ -607,16 +601,6 @@ jQuery(document).ready(function() {
                        // binds requestThree - not executed due to precondition
                        Wicket.Ajax.ajax(attrsThree);
 
-                       // executed when the last request is in its 
'onComplete' phase.
-                       jQuery.when(deferred)
-                               .done(function () {
-                                       start();
-                                       var count = getCurrentCount();
-                                       equal(0, count, 
"'showIncrementallyCount' must be 0 after the executions but is: " + count);
-                                       $indicator.remove();
-                                       $el.off().remove();
-                               });
-
                        // fire all requests
                        $el.triggerHandler("event1");
                });

http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/all.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/all.html b/wicket-core/src/test/js/all.html
index caecb94..71ae31c 100644
--- a/wicket-core/src/test/js/all.html
+++ b/wicket-core/src/test/js/all.html
@@ -39,6 +39,10 @@
                        AJAX
                -->
 
+               <div id="evaluationId"></div>
+               <div id="priorityEvaluationId"></div>
+               <div id="evaluationIdentifierAndCodeId"></div>
+
                <div id="componentToReplace">old body</div>
 
                <textarea id="componentId"><ajax-response><component 
id="componentToReplace"><![CDATA[<span id="componentToReplace">new 
body</span>]]></component></ajax-response></textarea>

http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/dom.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/dom.js b/wicket-core/src/test/js/dom.js
index be8e20b..daa9c95 100644
--- a/wicket-core/src/test/js/dom.js
+++ b/wicket-core/src/test/js/dom.js
@@ -48,7 +48,11 @@ jQuery(document).ready(function() {
        });
 
        test("Wicket.$$ looks for non existing element", function() {
-               equal( Wicket.$$(nonExistingId), true, "Wicket.$$ should return 
true for non existing elements." );
+               equal( Wicket.$$(nonExistingId), false, "Wicket.$$ should 
return 'false' for non existing elements." );
+       });
+
+       test("Wicket.$$ looks for 'window'", function() {
+               equal( Wicket.$$(window), true, "Wicket.$$ should return 'true' 
for 'window'." );
        });
 
        test("Wicket.$$ looks for element in iframe", function() {

Reply via email to