source: Dev/trunk/src/client/dojo/tests/promise/tracer.js @ 529

Last change on this file since 529 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 2.3 KB
Line 
1define([
2        "doh/main",
3        "dojo/Deferred",
4        "dojo/promise/tracer"
5], function(doh, Deferred, tracer){
6        var tests = {
7                "trace() resolved": function(t){
8                        var td = new doh.Deferred;
9                        var obj = {};
10                        this.handles.push(tracer.on("resolved", function(value){
11                                t.t(value === obj);
12                                td.callback(true);
13                        }));
14                        this.deferred.promise.trace();
15                        this.deferred.resolve(obj);
16                        return td;
17                },
18
19                "trace() rejected": function(t){
20                        var td = new doh.Deferred;
21                        var obj = {};
22                        this.handles.push(tracer.on("rejected", function(error){
23                                t.t(error === obj);
24                                td.callback(true);
25                        }));
26                        this.deferred.promise.trace();
27                        this.deferred.reject(obj);
28                        return td;
29                },
30
31                "trace() progress": function(t){
32                        var td = new doh.Deferred;
33                        var obj = {};
34                        this.handles.push(tracer.on("progress", function(update){
35                                t.t(update === obj);
36                                td.callback(true);
37                        }));
38                        this.deferred.promise.trace();
39                        this.deferred.progress(obj);
40                        return td;
41                },
42
43                "passing extra arguments to trace()": function(t){
44                        var td = new doh.Deferred;
45                        var obj = {};
46                        this.handles.push(tracer.on("resolved", function(value, arg1, arg2){
47                                t.t(value === obj);
48                                t.is(arg1, "test");
49                                t.t(arg2 === obj);
50                                td.callback(true);
51                        }));
52                        this.deferred.promise.trace("test", obj);
53                        this.deferred.resolve(obj);
54                        return td;
55                },
56
57                "traceRejected()": function(t){
58                        var td = new doh.Deferred;
59                        var obj = {};
60                        this.handles.push(tracer.on("rejected", function(error){
61                                t.t(error === obj);
62                                td.callback(true);
63                        }));
64                        this.deferred.promise.traceRejected();
65                        this.deferred.reject(obj);
66                        return td;
67                },
68
69                "passing extra arguments": function(t){
70                        var td = new doh.Deferred;
71                        var obj = {};
72                        this.handles.push(tracer.on("rejected", function(error, arg1, arg2){
73                                t.t(error === obj);
74                                t.is(arg1, "test");
75                                t.t(arg2 === obj);
76                                td.callback(true);
77                        }));
78                        this.deferred.promise.traceRejected("test", obj);
79                        this.deferred.reject(obj);
80                        return td;
81                }
82        };
83
84        var wrapped = [];
85        for(var name in tests){
86                wrapped.push({
87                        name: name,
88                        setUp: setUp,
89                        tearDown: tearDown,
90                        runTest: tests[name]
91                });
92        }
93
94        function setUp(){
95                this.handles = [];
96                this.deferred = new Deferred;
97        }
98
99        function tearDown(){
100                while(this.handles.length){
101                        this.handles.pop().remove();
102                }
103        }
104
105        doh.register("tests.promise.tracer", wrapped);
106});
Note: See TracBrowser for help on using the repository browser.