You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/02/21 15:19:47 UTC
[1/2] git commit: WICKET-5039 Manual invocation of
FunctionsExecutor#notify() is broken
WICKET-5039 Manual invocation of FunctionsExecutor#notify() is broken
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/498f445c
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/498f445c
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/498f445c
Branch: refs/heads/master
Commit: 498f445c8edf143bec2b311c76d1939f406841fa
Parents: 635ced5
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Thu Feb 21 15:58:03 2013 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Thu Feb 21 15:58:03 2013 +0200
----------------------------------------------------------------------
.../wicket/ajax/res/js/wicket-ajax-jquery.js | 6 +++++-
wicket-core/src/test/js/ajax.js | 2 +-
wicket-core/src/test/js/data/ajax/evaluationId.xml | 2 +-
.../js/data/ajax/evaluationIdentifierAndCodeId.xml | 2 +-
4 files changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/498f445c/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 84b9f96..664c48f 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
@@ -1029,6 +1029,10 @@
* @param node {XmlElement} - the <[priority-]evaluate> element with the script to evaluate
*/
processEvaluation: function (context, node) {
+
+ // used to match evaluation scripts which manually call FunctionsExecuter's notify() when ready
+ var scriptWithIdentifierR = new RegExp("^\\(function\\(\\)\\{([a-zA-Z_][a-zA-Z0-9_]*)\\|((.|\\n)*)?\\}\\)\\(\\);$");
+
context.steps.push(function (notify) {
// get the javascript body
var text = jQuery(node).text();
@@ -1042,7 +1046,7 @@
// test if the javascript is in form of identifier|code
// if it is, we allow for letting the javascript decide when the rest of processing will continue
// by invoking identifier();
- var res = text.match(new RegExp("^([a-z|A-Z_][a-z|A-Z|0-9_]*)\\|((.|\\n)*)$"));
+ var res = text.match(scriptWithIdentifierR);
if (res !== null) {
var f = jQuery.noop;
http://git-wip-us.apache.org/repos/asf/wicket/blob/498f445c/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 e49b5d6..fac63a4 100644
--- a/wicket-core/src/test/js/ajax.js
+++ b/wicket-core/src/test/js/ajax.js
@@ -100,7 +100,7 @@ jQuery(document).ready(function() {
*/
asyncTest('processEvaluation with identifier|code.', function () {
- expect(2);
+ expect(3);
var attrs = {
u: 'data/ajax/evaluationIdentifierAndCodeId.xml',
http://git-wip-us.apache.org/repos/asf/wicket/blob/498f445c/wicket-core/src/test/js/data/ajax/evaluationId.xml
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/data/ajax/evaluationId.xml b/wicket-core/src/test/js/data/ajax/evaluationId.xml
index fb294d0..f95d077 100644
--- a/wicket-core/src/test/js/data/ajax/evaluationId.xml
+++ b/wicket-core/src/test/js/data/ajax/evaluationId.xml
@@ -15,4 +15,4 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<ajax-response><evaluate>start(); ok(true, 'Evaluation must be executed!');</evaluate></ajax-response>
\ No newline at end of file
+<ajax-response><evaluate>(function(){start(); ok(true, 'Evaluation must be executed!');})();</evaluate></ajax-response>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/wicket/blob/498f445c/wicket-core/src/test/js/data/ajax/evaluationIdentifierAndCodeId.xml
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/data/ajax/evaluationIdentifierAndCodeId.xml b/wicket-core/src/test/js/data/ajax/evaluationIdentifierAndCodeId.xml
index 7cb65d6..04698b2 100644
--- a/wicket-core/src/test/js/data/ajax/evaluationIdentifierAndCodeId.xml
+++ b/wicket-core/src/test/js/data/ajax/evaluationIdentifierAndCodeId.xml
@@ -15,4 +15,4 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<ajax-response><evaluate>ignored|start(); ok(true, 'Evaluation with identifier must be executed!'); arguments[0]();</evaluate></ajax-response>
\ No newline at end of file
+<ajax-response><evaluate>(function(){ignored|start(); ok(true, 'Evaluation with identifier must be executed!'); equal(typeof(ignored), 'function', 'The passed identifier must be a function'); arguments[0]();})();</evaluate></ajax-response>
\ No newline at end of file