diff -r a71d3928443b -r 982a49239420 testfunc/test/jstests/test_ajax.js
--- a/testfunc/test/jstests/test_ajax.js Mon Apr 08 17:34:25 2013 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-$(document).ready(function() {
-
- module("ajax", {
- setup: function() {
- this.scriptsLength = $('head script[src]').length-1;
- this.cssLength = $('head link[rel=stylesheet]').length-1;
- // re-initialize cw loaded cache so that each tests run in a
- // clean environment, have a lookt at _loadAjaxHtmlHead implementation
- // in cubicweb.ajax.js for more information.
- cw.loaded_src = [];
- cw.loaded_href = [];
- },
- teardown: function() {
- $('head script[src]:gt(' + this.scriptsLength + ')').remove();
- $('head link[rel=stylesheet]:gt(' + this.cssLength + ')').remove();
- }
- });
-
- function jsSources() {
- return $.map($('head script[src]'), function(script) {
- return script.getAttribute('src');
- });
- }
-
- test('test simple h1 inclusion (ajax_url0.html)', function() {
- expect(3);
- equals(jQuery('#main').children().length, 0);
- stop();
- jQuery('#main').loadxhtml('/../ajax_url0.html', {
- callback: function() {
- equals(jQuery('#main').children().length, 1);
- equals(jQuery('#main h1').html(), 'Hello');
- start();
- }
- });
- });
-
- test('test simple html head inclusion (ajax_url1.html)', function() {
- expect(6);
- var scriptsIncluded = jsSources();
- equals(jQuery.inArray('http://foo.js', scriptsIncluded), - 1);
- stop();
- jQuery('#main').loadxhtml('/../ajax_url1.html', {
- callback: function() {
- var origLength = scriptsIncluded.length;
- scriptsIncluded = jsSources();
- // check that foo.js has been *appended* to
- equals(scriptsIncluded.length, origLength + 1);
- equals(scriptsIncluded[origLength].indexOf('http://foo.js'), 0);
- // check that has been removed
- equals(jQuery('#main').children().length, 1);
- equals(jQuery('div.ajaxHtmlHead').length, 0);
- equals(jQuery('#main h1').html(), 'Hello');
- start();
- }
- });
- });
-
- test('test addCallback', function() {
- expect(3);
- equals(jQuery('#main').children().length, 0);
- stop();
- var d = jQuery('#main').loadxhtml('/../ajax_url0.html');
- d.addCallback(function() {
- equals(jQuery('#main').children().length, 1);
- equals(jQuery('#main h1').html(), 'Hello');
- start();
- });
- });
-
- test('test callback after synchronous request', function() {
- expect(1);
- var deferred = new Deferred();
- var result = jQuery.ajax({
- url: './ajax_url0.html',
- async: false,
- beforeSend: function(xhr) {
- deferred._req = xhr;
- },
- success: function(data, status) {
- deferred.success(data);
- }
- });
- stop();
- deferred.addCallback(function() {
- // add an assertion to ensure the callback is executed
- ok(true, "callback is executed");
- start();
- });
- });
-
- test('test addCallback with parameters', function() {
- expect(3);
- equals(jQuery('#main').children().length, 0);
- stop();
- var d = jQuery('#main').loadxhtml('/../ajax_url0.html');
- d.addCallback(function(data, req, arg1, arg2) {
- equals(arg1, 'Hello');
- equals(arg2, 'world');
- start();
- },
- 'Hello', 'world');
- });
-
- test('test callback after synchronous request with parameters', function() {
- var deferred = new Deferred();
- var result = jQuery.ajax({
- url: '/../ajax_url0.html',
- async: false,
- beforeSend: function(xhr) {
- deferred._req = xhr;
- },
- success: function(data, status) {
- deferred.success(data);
- }
- });
- deferred.addCallback(function(data, req, arg1, arg2) {
- // add an assertion to ensure the callback is executed
- ok(true, "callback is executed");
- equals(arg1, 'Hello');
- equals(arg2, 'world');
- },
- 'Hello', 'world');
- });
-
- test('test addErrback', function() {
- expect(1);
- stop();
- var d = jQuery('#main').loadxhtml('/../ajax_url0.html');
- d.addCallback(function() {
- // throw an exception to start errback chain
- throw new Error();
- });
- d.addErrback(function() {
- ok(true, "errback is executed");
- start();
- });
- });
-
- test('test callback / errback execution order', function() {
- expect(4);
- var counter = 0;
- stop();
- var d = jQuery('#main').loadxhtml('/../ajax_url0.html', {
- callback: function() {
- equals(++counter, 1); // should be executed first
- start();
- }
- });
- d.addCallback(function() {
- equals(++counter, 2); // should be executed and break callback chain
- throw new Error();
- });
- d.addCallback(function() {
- // should not be executed since second callback raised an error
- ok(false, "callback is executed");
- });
- d.addErrback(function() {
- // should be executed after the second callback
- equals(++counter, 3);
- });
- d.addErrback(function() {
- // should be executed after the first errback
- equals(++counter, 4);
- });
- });
-
- test('test already included resources are ignored (ajax_url1.html)', function() {
- expect(10);
- var scriptsIncluded = jsSources();
- // NOTE:
- equals(jQuery.inArray('http://foo.js', scriptsIncluded), -1);
- equals(jQuery('head link').length, 1);
- /* use endswith because in pytest context we have an absolute path */
- ok(jQuery('head link').attr('href').endswith('/qunit.css'));
- stop();
- jQuery('#main').loadxhtml('/../ajax_url1.html', {
- callback: function() {
- var origLength = scriptsIncluded.length;
- scriptsIncluded = jsSources();
- try {
- // check that foo.js has been inserted in
- equals(scriptsIncluded.length, origLength + 1);
- equals(scriptsIncluded[origLength].indexOf('http://foo.js'), 0);
- // check that
has been removed
- equals(jQuery('#main').children().length, 1);
- equals(jQuery('div.ajaxHtmlHead').length, 0);
- equals(jQuery('#main h1').html(), 'Hello');
- // qunit.css is not added twice
- equals(jQuery('head link').length, 1);
- /* use endswith because in pytest context we have an absolute path */
- ok(jQuery('head link').attr('href').endswith('/qunit.css'));
- } finally {
- start();
- }
- }
- });
- });
-
- test('test synchronous request loadRemote', function() {
- var res = loadRemote('/../ajaxresult.json', {},
- 'GET', true);
- same(res, ['foo', 'bar']);
- });
-
- test('test event on CubicWeb', function() {
- expect(1);
- stop();
- var events = null;
- jQuery(CubicWeb).bind('server-response', function() {
- // check that server-response event on CubicWeb is triggered
- events = 'CubicWeb';
- });
- jQuery('#main').loadxhtml('/../ajax_url0.html', {
- callback: function() {
- equals(events, 'CubicWeb');
- start();
- }
- });
- });
-
- test('test event on node', function() {
- expect(3);
- stop();
- var nodes = [];
- jQuery('#main').bind('server-response', function() {
- nodes.push('node');
- });
- jQuery(CubicWeb).bind('server-response', function() {
- nodes.push('CubicWeb');
- });
- jQuery('#main').loadxhtml('/../ajax_url0.html', {
- callback: function() {
- equals(nodes.length, 2);
- // check that server-response event on CubicWeb is triggered
- // only once and event server-response on node is triggered
- equals(nodes[0], 'CubicWeb');
- equals(nodes[1], 'node');
- start();
- }
- });
- });
-});
-