blob: 2141b3c1a4195fd16bcfbdffd791da009774c28d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
(function(module, ns) {
function MockRequest(connection, options) {
this.connection = connection;
this.options = options;
var parent = this.constructor;
if (!parent.instances) {
parent.instances = [];
}
parent.instances.push(this);
}
MockRequest.prototype = {
send: function(callback) {
this.__sendCallback = callback;
},
respond: function() {
this.__sendCallback.apply(this, arguments);
}
};
MockRequest.reset = function() {
if (!this.instances) {
this.instances = [];
}
this.instances.length = 0;
}
MockRequest.create = function(methods) {
var self = this;
if (typeof(methods) === 'undefined') {
methods = [];
}
var child = function() {
self.apply(this, arguments);
};
child.prototype = Object.create(self.prototype);
child.prototype.constructor = child;
methods.forEach(function(method) {
child.prototype[method] = function() {
var savedName = method + 'Calls';
if (!(savedName in this)) {
this[savedName] = [];
}
this[savedName].push(arguments);
}
});
child.create = self.create;
child.reset = self.reset;
return child;
};
module.exports = MockRequest;
}.apply(
this,
(this.Caldav) ?
[Caldav('support/mock_request'), Caldav] :
[module, require('../../lib/caldav/caldav')]
));
|