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
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'});
|
|
});
|
|
});
|
|
});
|
|
|