Update tests
This commit is contained in:
70
test/test.js
70
test/test.js
@@ -6,48 +6,58 @@ var assert = require('assert');
|
|||||||
describe('Testing PCSCLite private', function() {
|
describe('Testing PCSCLite private', function() {
|
||||||
|
|
||||||
describe('#start()', function() {
|
describe('#start()', function() {
|
||||||
|
before(function() {
|
||||||
|
this.clock = sinon.useFakeTimers();
|
||||||
|
});
|
||||||
|
|
||||||
it('#start() stub', function(done) {
|
it('#start() stub', function(done) {
|
||||||
|
var self = this;
|
||||||
var p = pcsc();
|
var p = pcsc();
|
||||||
var stub = sinon.stub(p, 'start', function(my_cb) {
|
var stub = sinon.stub(p, 'start', function(my_cb) {
|
||||||
/* "MyReader\0" */
|
var times = 0;
|
||||||
|
setInterval(function() {
|
||||||
|
switch (++ times) {
|
||||||
|
case 1:
|
||||||
my_cb(undefined, new Buffer("MyReader\0"));
|
my_cb(undefined, new Buffer("MyReader\0"));
|
||||||
});
|
self.clock.tick(1000);
|
||||||
|
break;
|
||||||
|
|
||||||
p.on('reader', function(reader) {
|
case 2:
|
||||||
reader.name.should.equal("MyReader");
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('#start() stub', function() {
|
|
||||||
var cb = sinon.spy();
|
|
||||||
var p = pcsc();
|
|
||||||
var stub = sinon.stub(p, 'start', function(my_cb) {
|
|
||||||
/* "MyReader" */
|
|
||||||
my_cb(undefined, new Buffer("MyReader"));
|
my_cb(undefined, new Buffer("MyReader"));
|
||||||
});
|
break;
|
||||||
|
|
||||||
p.on('reader', cb);
|
case 3:
|
||||||
process.nextTick(function () {
|
|
||||||
sinon.assert.notCalled(cb);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
it('#start() stub', function() {
|
|
||||||
var cb = sinon.spy();
|
|
||||||
var p = pcsc();
|
|
||||||
var stub = sinon.stub(p, 'start', function(my_cb) {
|
|
||||||
/* "MyReader1\0MyReader2\0" */
|
|
||||||
my_cb(undefined, new Buffer("MyReader1\0MyReader2\0"));
|
my_cb(undefined, new Buffer("MyReader1\0MyReader2\0"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
self.clock.tick(1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
p.on('reader', cb);
|
var times = 0;
|
||||||
process.nextTick(function () {
|
p.on('reader', function(reader) {
|
||||||
sinon.assert.calledTwice(cb);
|
reader.close();
|
||||||
assert(cb.args[0][0]['name'], "MyReader1");
|
switch (++ times) {
|
||||||
assert(cb.args[1][0]['name'], "MyReader2");
|
case 1:
|
||||||
|
reader.name.should.equal("MyReader");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
reader.name.should.equal("MyReader1");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
reader.name.should.equal("MyReader2");
|
||||||
|
p.close();
|
||||||
|
done();
|
||||||
|
break;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
after(function() {
|
||||||
|
this.clock.restore();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user