Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
if(!dojo._hasResource["tests._base.Deferred"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
2
dojo._hasResource["tests._base.Deferred"] = true;
3
dojo.provide("tests._base.Deferred");
4
 
5
doh.register("tests._base.Deferred",
6
	[
7
 
8
		function callback(t){
9
			var nd = new dojo.Deferred();
10
			var cnt = 0;
11
			nd.addCallback(function(res){
12
				doh.debug("debug from dojo.Deferred callback");
13
				return res;
14
			});
15
			nd.addCallback(function(res){
16
				// t.debug("val:", res);
17
				cnt+=res;
18
				return cnt;
19
			});
20
			nd.callback(5);
21
			// t.debug("cnt:", cnt);
22
			t.assertEqual(cnt, 5);
23
		},
24
 
25
		function errback(t){
26
			var nd = new dojo.Deferred();
27
			var cnt = 0;
28
			nd.addErrback(function(val){
29
				return ++cnt;
30
			});
31
			nd.errback();
32
			t.assertEqual(cnt, 1);
33
		},
34
 
35
		function callbackTwice(t){
36
			var nd = new dojo.Deferred();
37
			var cnt = 0;
38
			nd.addCallback(function(res){
39
				return ++cnt;
40
			});
41
			nd.callback();
42
			t.assertEqual(cnt, 1);
43
			var thrown = false;
44
			try{
45
				nd.callback();
46
			}catch(e){
47
				thrown = true;
48
			}
49
			t.assertTrue(thrown);
50
		},
51
 
52
		function addBoth(t){
53
			var nd = new dojo.Deferred();
54
			var cnt = 0;
55
			nd.addBoth(function(res){
56
				return ++cnt;
57
			});
58
			nd.callback();
59
			t.assertEqual(cnt, 1);
60
 
61
			// nd.callback();
62
			// t.debug(cnt);
63
			// t.assertEqual(cnt, 1);
64
		}
65
	]
66
);
67
 
68
}