--- a/web/data/cubicweb.ajax.js Thu Jul 08 16:30:19 2010 +0200
+++ b/web/data/cubicweb.ajax.js Thu Jul 08 18:10:47 2010 +0200
@@ -91,22 +91,35 @@
var JSON_BASE_URL = baseuri() + 'json?';
//============= utility function handling remote calls responses. ==============//
-function _loadAjaxHtmlHead(node, head, tag, srcattr) {
+function _loadAjaxHtmlHead($node, $head, tag, srcattr) {
var loaded = [];
var jqtagfilter = tag + '[' + srcattr + ']';
jQuery('head ' + jqtagfilter).each(function(i) {
loaded.push(this.getAttribute(srcattr));
});
- node.find(tag).each(function(i) {
- if (this.getAttribute(srcattr)) {
- if (jQuery.inArray(this.getAttribute(srcattr), loaded) == -1) {
- jQuery(this).appendTo(head);
+ $node.find(tag).each(function(i) {
+ var url = this.getAttribute(srcattr);
+ if (url) {
+ if (jQuery.inArray(url, loaded) == -1) {
+ if (srcattr == 'src') {
+ // special case for <script> tags: jQuery append method
+ // script nodes don't appears in the DOM (See comments on
+ // http://api.jquery.com/append/), which cause undesired
+ // duplicated load in our case. Use bare DOM api to avoid
+ // this.
+ var s = document.createElement("script");
+ s.type = "text/javascript";
+ s.src = url;
+ $head[0].appendChild(s);
+ } else {
+ jQuery(this).appendTo($head);
+ }
}
} else {
- jQuery(this).appendTo(head);
+ jQuery(this).appendTo($head);
}
});
- node.find(jqtagfilter).remove();
+ $node.find(jqtagfilter).remove();
}
/**
--- a/web/test/jstest_python.jst Thu Jul 08 16:30:19 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-// run tests with the following command line :
-// $ crosscheck jstest_python.jst
-
-crosscheck.addTest({
-
- setup: function() {
- crosscheck.load("testutils.js");
- crosscheck.load("../data/jquery.js");
- crosscheck.load("../data/cubicweb.compat.js");
- crosscheck.load("../data/cubicweb.python.js");
- },
-
- test_basic_number_parsing: function () {
- var d = strptime('2008/08/08', '%Y/%m/%d');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 0, 0])
- d = strptime('2008/8/8', '%Y/%m/%d');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 0, 0])
- d = strptime('8/8/8', '%Y/%m/%d');
- assertArrayEquals(datetuple(d), [8, 8, 8, 0, 0])
- d = strptime('0/8/8', '%Y/%m/%d');
- assertArrayEquals(datetuple(d), [0, 8, 8, 0, 0])
- d = strptime('-10/8/8', '%Y/%m/%d');
- assertArrayEquals(datetuple(d), [-10, 8, 8, 0, 0])
- d = strptime('-35000', '%Y');
- assertArrayEquals(datetuple(d), [-35000, 1, 1, 0, 0])
- },
-
- test_custom_format_parsing: function () {
- var d = strptime('2008-08-08', '%Y-%m-%d');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 0, 0])
- d = strptime('2008 - ! 08: 08', '%Y - ! %m: %d');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 0, 0])
- d = strptime('2008-08-08 12:14', '%Y-%m-%d %H:%M');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 12, 14])
- d = strptime('2008-08-08 1:14', '%Y-%m-%d %H:%M');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 1, 14])
- d = strptime('2008-08-08 01:14', '%Y-%m-%d %H:%M');
- assertArrayEquals(datetuple(d), [2008, 8, 8, 1, 14])
- }
-//,
-//
-// test_gregorian_parsing: function() {
-// var d = parseGregorianDateTime("May 28 0100 09:00:00 GMT");
-// assertArrayEquals(datetuple(d), [100, 5, 28, 10, 0]);
-// d = parseGregorianDateTime("May 28 0099 09:00:00 GMT");
-// assertArrayEquals(datetuple(d), [99, 5, 28, 10, 0]);
-// }
-
-})