You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

39 lines
882 B

'use strict';
var assert = require("assert");
var Queue = require('../lib/queue');
describe('queue', function () {
var q = new Queue();
describe('push', function () {
it('places values on end of queue', function () {
q.push('a');
q.push(3);
assert.equal(q.length, 2);
});
});
describe('shift', function () {
it('removes values from front of queue', function () {
assert.equal(q.shift(), 'a');
});
});
describe('forEach', function () {
it('iterates over values in queue', function () {
q.forEach(function (v) {
assert.equal(v, 3);
});
});
});
describe('forEachWithScope', function () {
it('provides a scope to the iteration function', function () {
q.forEach(function (v) {
assert.equal(this.foo, 'bar');
assert.equal(v, 3);
}, {foo: 'bar'});
});
});
});