author | Aurelien Campeas <aurelien.campeas@logilab.fr> |
Mon, 24 Jun 2013 19:00:40 +0200 | |
changeset 9147 | 01124cfd4b1f |
parent 8879 | 982a49239420 |
child 10413 | 22a89d0f4143 |
permissions | -rw-r--r-- |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
1 |
$(document).ready(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
2 |
|
5950
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
3 |
module("ajax", { |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
4 |
setup: function() { |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
5 |
this.scriptsLength = $('head script[src]').length-1; |
6214
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
6 |
this.cssLength = $('head link[rel=stylesheet]').length-1; |
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
7 |
// re-initialize cw loaded cache so that each tests run in a |
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
8 |
// clean environment, have a lookt at _loadAjaxHtmlHead implementation |
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
9 |
// in cubicweb.ajax.js for more information. |
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
10 |
cw.loaded_src = []; |
e03808843325
[javascript] fix test_ajax.js implementation
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5950
diff
changeset
|
11 |
cw.loaded_href = []; |
5950
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
12 |
}, |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
13 |
teardown: function() { |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
14 |
$('head script[src]:gt(' + this.scriptsLength + ')').remove(); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
15 |
$('head link[rel=stylesheet]:gt(' + this.cssLength + ')').remove(); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
16 |
} |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
17 |
}); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
18 |
|
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
19 |
function jsSources() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
20 |
return $.map($('head script[src]'), function(script) { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
21 |
return script.getAttribute('src'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
22 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
23 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
24 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
25 |
test('test simple h1 inclusion (ajax_url0.html)', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
26 |
expect(3); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
27 |
equals(jQuery('#main').children().length, 0); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
28 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
29 |
jQuery('#main').loadxhtml('/../ajax_url0.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
30 |
callback: function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
31 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
32 |
equals(jQuery('#main').children().length, 1); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
33 |
equals(jQuery('#main h1').html(), 'Hello'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
34 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
35 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
36 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
37 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
38 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
39 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
40 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
41 |
test('test simple html head inclusion (ajax_url1.html)', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
42 |
expect(6); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
43 |
var scriptsIncluded = jsSources(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
44 |
equals(jQuery.inArray('http://foo.js', scriptsIncluded), - 1); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
45 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
46 |
jQuery('#main').loadxhtml('/../ajax_url1.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
47 |
callback: function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
48 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
49 |
var origLength = scriptsIncluded.length; |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
50 |
scriptsIncluded = jsSources(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
51 |
// check that foo.js has been *appended* to <head> |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
52 |
equals(scriptsIncluded.length, origLength + 1); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
53 |
equals(scriptsIncluded[origLength].indexOf('http://foo.js'), 0); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
54 |
// check that <div class="ajaxHtmlHead"> has been removed |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
55 |
equals(jQuery('#main').children().length, 1); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
56 |
equals(jQuery('div.ajaxHtmlHead').length, 0); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
57 |
equals(jQuery('#main h1').html(), 'Hello'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
58 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
59 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
60 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
61 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
62 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
63 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
64 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
65 |
test('test addCallback', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
66 |
expect(3); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
67 |
equals(jQuery('#main').children().length, 0); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
68 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
69 |
var d = jQuery('#main').loadxhtml('/../ajax_url0.html'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
70 |
d.addCallback(function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
71 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
72 |
equals(jQuery('#main').children().length, 1); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
73 |
equals(jQuery('#main h1').html(), 'Hello'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
74 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
75 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
76 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
77 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
78 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
79 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
80 |
test('test callback after synchronous request', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
81 |
expect(1); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
82 |
var deferred = new Deferred(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
83 |
var result = jQuery.ajax({ |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
84 |
url: './ajax_url0.html', |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
85 |
async: false, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
86 |
beforeSend: function(xhr) { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
87 |
deferred._req = xhr; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
88 |
}, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
89 |
success: function(data, status) { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
90 |
deferred.success(data); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
91 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
92 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
93 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
94 |
deferred.addCallback(function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
95 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
96 |
// add an assertion to ensure the callback is executed |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
97 |
ok(true, "callback is executed"); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
98 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
99 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
100 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
101 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
102 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
103 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
104 |
test('test addCallback with parameters', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
105 |
expect(3); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
106 |
equals(jQuery('#main').children().length, 0); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
107 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
108 |
var d = jQuery('#main').loadxhtml('/../ajax_url0.html'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
109 |
d.addCallback(function(data, req, arg1, arg2) { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
110 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
111 |
equals(arg1, 'Hello'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
112 |
equals(arg2, 'world'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
113 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
114 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
115 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
116 |
}, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
117 |
'Hello', 'world'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
118 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
119 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
120 |
test('test callback after synchronous request with parameters', function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
121 |
expect(2); |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
122 |
var deferred = new Deferred(); |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
123 |
deferred.addCallback(function(data, req, arg1, arg2) { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
124 |
// add an assertion to ensure the callback is executed |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
125 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
126 |
ok(true, "callback is executed"); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
127 |
equals(arg1, 'Hello'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
128 |
equals(arg2, 'world'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
129 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
130 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
131 |
}; |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
132 |
}, |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
133 |
'Hello', 'world'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
134 |
deferred.addErrback(function() { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
135 |
// throw an exception to start errback chain |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
136 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
137 |
throw this._error; |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
138 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
139 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
140 |
}; |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
141 |
}); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
142 |
stop(); |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
143 |
var result = jQuery.ajax({ |
7017
cd2ea273007a
[web test] fix some tests broken by recent (and various) changesets
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents:
6215
diff
changeset
|
144 |
url: '/../ajax_url0.html', |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
145 |
async: false, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
146 |
beforeSend: function(xhr) { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
147 |
deferred._req = xhr; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
148 |
}, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
149 |
success: function(data, status) { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
150 |
deferred.success(data); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
151 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
152 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
153 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
154 |
|
6215
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
155 |
test('test addErrback', function() { |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
156 |
expect(1); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
157 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
158 |
var d = jQuery('#main').loadxhtml('/../ajax_url0.html'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
159 |
d.addCallback(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
160 |
// throw an exception to start errback chain |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
161 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
162 |
throw new Error(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
163 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
164 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
165 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
166 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
167 |
d.addErrback(function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
168 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
169 |
ok(true, "errback is executed"); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
170 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
171 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
172 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
173 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
174 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
175 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
176 |
test('test callback / errback execution order', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
177 |
expect(4); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
178 |
var counter = 0; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
179 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
180 |
var d = jQuery('#main').loadxhtml('/../ajax_url0.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
181 |
callback: function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
182 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
183 |
equals(++counter, 1); // should be executed first |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
184 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
185 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
186 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
187 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
188 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
189 |
d.addCallback(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
190 |
equals(++counter, 2); // should be executed and break callback chain |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
191 |
throw new Error(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
192 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
193 |
d.addCallback(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
194 |
// should not be executed since second callback raised an error |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
195 |
ok(false, "callback is executed"); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
196 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
197 |
d.addErrback(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
198 |
// should be executed after the second callback |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
199 |
equals(++counter, 3); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
200 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
201 |
d.addErrback(function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
202 |
// should be executed after the first errback |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
203 |
equals(++counter, 4); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
204 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
205 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
206 |
|
6215
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
207 |
test('test already included resources are ignored (ajax_url1.html)', function() { |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
208 |
expect(10); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
209 |
var scriptsIncluded = jsSources(); |
6215
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
210 |
// NOTE: |
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
211 |
equals(jQuery.inArray('http://foo.js', scriptsIncluded), -1); |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
212 |
equals(jQuery('head link').length, 1); |
5743
4a0600664f85
Use the qunit automatic launcher for existing testcase.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
5658
diff
changeset
|
213 |
/* use endswith because in pytest context we have an absolute path */ |
4a0600664f85
Use the qunit automatic launcher for existing testcase.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
5658
diff
changeset
|
214 |
ok(jQuery('head link').attr('href').endswith('/qunit.css')); |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
215 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
216 |
jQuery('#main').loadxhtml('/../ajax_url1.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
217 |
callback: function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
218 |
var origLength = scriptsIncluded.length; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
219 |
scriptsIncluded = jsSources(); |
6215
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
220 |
try { |
5950
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
221 |
// check that foo.js has been inserted in <head> |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
222 |
equals(scriptsIncluded.length, origLength + 1); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
223 |
equals(scriptsIncluded[origLength].indexOf('http://foo.js'), 0); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
224 |
// check that <div class="ajaxHtmlHead"> has been removed |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
225 |
equals(jQuery('#main').children().length, 1); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
226 |
equals(jQuery('div.ajaxHtmlHead').length, 0); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
227 |
equals(jQuery('#main h1').html(), 'Hello'); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
228 |
// qunit.css is not added twice |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
229 |
equals(jQuery('head link').length, 1); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
230 |
/* use endswith because in pytest context we have an absolute path */ |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
231 |
ok(jQuery('head link').attr('href').endswith('/qunit.css')); |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
232 |
} finally { |
f84dba9b8eca
[test] fix test_ajax js tests. We have to mock some of our js functions / variables (e.g. _ or pageid) in the test environment
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
5743
diff
changeset
|
233 |
start(); |
6215
759cf097f5aa
[javascript] get rid of tabs
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
6214
diff
changeset
|
234 |
} |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
235 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
236 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
237 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
238 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
239 |
test('test synchronous request loadRemote', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
240 |
var res = loadRemote('/../ajaxresult.json', {}, |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
241 |
'GET', true); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
242 |
same(res, ['foo', 'bar']); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
243 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
244 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
245 |
test('test event on CubicWeb', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
246 |
expect(1); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
247 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
248 |
var events = null; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
249 |
jQuery(CubicWeb).bind('server-response', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
250 |
// check that server-response event on CubicWeb is triggered |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
251 |
events = 'CubicWeb'; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
252 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
253 |
jQuery('#main').loadxhtml('/../ajax_url0.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
254 |
callback: function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
255 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
256 |
equals(events, 'CubicWeb'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
257 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
258 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
259 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
260 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
261 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
262 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
263 |
|
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
264 |
test('test event on node', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
265 |
expect(3); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
266 |
stop(); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
267 |
var nodes = []; |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
268 |
jQuery('#main').bind('server-response', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
269 |
nodes.push('node'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
270 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
271 |
jQuery(CubicWeb).bind('server-response', function() { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
272 |
nodes.push('CubicWeb'); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
273 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
274 |
jQuery('#main').loadxhtml('/../ajax_url0.html', { |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
275 |
callback: function() { |
8879
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
276 |
try { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
277 |
equals(nodes.length, 2); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
278 |
// check that server-response event on CubicWeb is triggered |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
279 |
// only once and event server-response on node is triggered |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
280 |
equals(nodes[0], 'CubicWeb'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
281 |
equals(nodes[1], 'node'); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
282 |
} finally { |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
283 |
start(); |
982a49239420
[web] move qunit test back into web and fix the hanging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
7363
diff
changeset
|
284 |
}; |
5658
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
285 |
} |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
286 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
287 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
288 |
}); |
7b9553a9db65
[ajax] refactor/cleanup low-level ajax functions
Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
parents:
diff
changeset
|
289 |