1 $(document).ready(function () {
4 module('Misordered resolution management', {
6 openerp = window.openerp.init([]);
7 window.openerp.web.corelib(openerp);
8 window.openerp.web.coresetup(openerp);
9 window.openerp.web.data(openerp);
12 test('Resolve all correctly ordered, sync', function () {
13 var dm = new openerp.web.DropMisordered(), flag = false;
15 var d1 = $.Deferred(), d2 = $.Deferred(),
16 r1 = dm.add(d1), r2 = dm.add(d2);
18 $.when(r1, r2).done(function () {
26 test("Don't resolve mis-ordered, sync", function () {
27 var dm = new openerp.web.DropMisordered(),
28 done1 = false, done2 = false,
29 fail1 = false, fail2 = false;
31 var d1 = $.Deferred(), d2 = $.Deferred();
32 dm.add(d1).then(function () { done1 = true; },
33 function () { fail1 = true; });
34 dm.add(d2).then(function () { done2 = true; },
35 function () { fail2 = true; });
47 test('Fail mis-ordered flag, sync', function () {
48 var dm = new openerp.web.DropMisordered(true),
49 done1 = false, done2 = false,
50 fail1 = false, fail2 = false;
52 var d1 = $.Deferred(), d2 = $.Deferred();
53 dm.add(d1).then(function () { done1 = true; },
54 function () { fail1 = true; });
55 dm.add(d2).then(function () { done2 = true; },
56 function () { fail2 = true; });
69 asyncTest('Resolve all correctly ordered, async', 1, function () {
70 var dm = new openerp.web.DropMisordered();
72 var d1 = $.Deferred(), d2 = $.Deferred(),
73 r1 = dm.add(d1), r2 = dm.add(d2);
75 setTimeout(function () { d1.resolve(); }, 100);
76 setTimeout(function () { d2.resolve(); }, 200);
78 $.when(r1, r2).done(function () {
83 asyncTest("Don't resolve mis-ordered, async", 4, function () {
84 var dm = new openerp.web.DropMisordered(),
85 done1 = false, done2 = false,
86 fail1 = false, fail2 = false;
88 var d1 = $.Deferred(), d2 = $.Deferred();
89 dm.add(d1).then(function () { done1 = true; },
90 function () { fail1 = true; });
91 dm.add(d2).then(function () { done2 = true; },
92 function () { fail2 = true; });
94 setTimeout(function () { d1.resolve(); }, 200);
95 setTimeout(function () { d2.resolve(); }, 100);
97 setTimeout(function () {
107 asyncTest('Fail mis-ordered flag, async', 4, function () {
108 var dm = new openerp.web.DropMisordered(true),
109 done1 = false, done2 = false,
110 fail1 = false, fail2 = false;
112 var d1 = $.Deferred(), d2 = $.Deferred();
113 dm.add(d1).then(function () { done1 = true; },
114 function () { fail1 = true; });
115 dm.add(d2).then(function () { done2 = true; },
116 function () { fail2 = true; });
118 setTimeout(function () { d1.resolve(); }, 200);
119 setTimeout(function () { d2.resolve(); }, 100);
121 setTimeout(function () {