forked from vowsjs/vows
-
Notifications
You must be signed in to change notification settings - Fork 0
/
vows-error-test.js
51 lines (44 loc) · 1.21 KB
/
vows-error-test.js
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
var path = require('path'),
events = require('events'),
assert = require('assert'),
fs = require('fs'),
vows = require('../lib/vows');
function doSomethingAsync(callback) {
var err = null;
var testValue = 'a';
process.nextTick(function() {
callback(err, testValue);
});
}
function doSomethingAsyncWithError(callback) {
var err = true;
var testValue = 'a';
process.nextTick(function() {
callback(err, testValue);
});
}
vows.describe('vows/error').addBatch({
'Generate success response to async function': {
topic: function() {
doSomethingAsync(this.callback)
},
'Validate success': function(err, testValue) {
assert.ok(!err);
},
'Validate testValue': function(err, testValue) {
assert.equal(testValue, 'a');
}
},
'Generate error response to async function': {
topic: function() {
doSomethingAsyncWithError(this.callback)
},
'Validate error': function(err, testValue) {
assert.ok(err);
},
'Validate testValue': function(err, testValue) {
// This assertion fails. It shouldn't.
assert.equal(testValue, 'a');
}
}
}).export(module)