1 openerp.testing.section('misordered resolution managemeng', {
2 dependencies: ['web.data']
4 test('Resolve all correctly ordered, sync', function (instance) {
5 var dm = new instance.web.DropMisordered(), flag = false;
7 var d1 = $.Deferred(), d2 = $.Deferred(),
8 r1 = dm.add(d1), r2 = dm.add(d2);
10 $.when(r1, r2).done(function () {
18 test("Don't resolve mis-ordered, sync", function (instance) {
19 var dm = new instance.web.DropMisordered(),
20 done1 = false, done2 = false,
21 fail1 = false, fail2 = false;
23 var d1 = $.Deferred(), d2 = $.Deferred();
24 dm.add(d1).done(function () { done1 = true; })
25 .fail(function () { fail1 = true; });
26 dm.add(d2).done(function () { done2 = true; })
27 .fail(function () { fail2 = true; });
39 test('Fail mis-ordered flag, sync', function (instance) {
40 var dm = new instance.web.DropMisordered(true),
41 done1 = false, done2 = false,
42 fail1 = false, fail2 = false;
44 var d1 = $.Deferred(), d2 = $.Deferred();
45 dm.add(d1).done(function () { done1 = true; })
46 .fail(function () { fail1 = true; });
47 dm.add(d2).done(function () { done2 = true; })
48 .fail(function () { fail2 = true; });
61 test('Resolve all correctly ordered, async', {asserts: 1}, function (instance) {
62 var dm = new instance.web.DropMisordered();
64 var d1 = $.Deferred(), d2 = $.Deferred(),
65 r1 = dm.add(d1), r2 = dm.add(d2);
67 setTimeout(function () { d1.resolve(); }, 100);
68 setTimeout(function () { d2.resolve(); }, 200);
70 return $.when(r1, r2).done(function () {
74 test("Don't resolve mis-ordered, async", {asserts: 4}, function (instance) {
75 var dm = new instance.web.DropMisordered(),
76 done1 = false, done2 = false,
77 fail1 = false, fail2 = false;
79 var d1 = $.Deferred(), d2 = $.Deferred();
80 dm.add(d1).done(function () { done1 = true; })
81 .fail(function () { fail1 = true; });
82 dm.add(d2).done(function () { done2 = true; })
83 .fail(function () { fail2 = true; });
85 setTimeout(function () { d1.resolve(); }, 200);
86 setTimeout(function () { d2.resolve(); }, 100);
88 var done = $.Deferred();
89 setTimeout(function () {
98 return $.when(d1, d2, done);
100 test('Fail mis-ordered flag, async', {asserts: 4}, function (instance) {
101 var dm = new instance.web.DropMisordered(true),
102 done1 = false, done2 = false,
103 fail1 = false, fail2 = false;
105 var d1 = $.Deferred(), d2 = $.Deferred();
106 dm.add(d1).done(function () { done1 = true; })
107 .fail(function () { fail1 = true; });
108 dm.add(d2).done(function () { done2 = true; })
109 .fail(function () { fail2 = true; });
111 setTimeout(function () { d1.resolve(); }, 200);
112 setTimeout(function () { d2.resolve(); }, 100);
114 var done = $.Deferred();
115 setTimeout(function () {
125 return $.when(d1, d2, done)