dns-suite.js/node_modules/dns-js/test/writer.test.js

99 lines
2.5 KiB
JavaScript

var Code = require('code'); // assertion library
var Lab = require('lab');
var lab = exports.lab = Lab.script();
var describe = lab.describe;
var it = lab.it;
//var before = lab.before;
//var after = lab.after;
var expect = Code.expect;
var BufferWriter = require('../lib/bufferwriter');
describe('BufferWriter', function () {
it('should default to a 512 byte buffer', function (done) {
var out = new BufferWriter();
expect(out.buf).to.have.length(512);
done();
});
it('should default to a 512 byte buffer', function (done) {
var out = new BufferWriter(10);
expect(out.buf).to.have.length(10);
done();
});
it('#buffer with undefined should return writer', function (done) {
var out = new BufferWriter(10);
var o = out.buffer();
expect(o).to.be.instanceof(BufferWriter);
done();
});
it('#buffer should accept buffer as input', function (done) {
var out = new BufferWriter(10);
var o = out.buffer(new Buffer('abc'));
expect(o).to.be.instanceof(BufferWriter);
expect(o.buf.toString('utf8', 0, 3)).to.equal('abc');
done();
});
it('#buffer should not move forward on empty buffer', function (done) {
var out = new BufferWriter(10);
var o = out.buffer(new Buffer(0));
expect(o).to.be.instanceof(BufferWriter);
expect(out.tell()).to.equal(0);
done();
});
it('#buffer throw if input is not writer or buffer', function (done) {
var throws = function () {
var out = new BufferWriter(10);
out.buffer('asdf');
};
expect(throws).to.throw(Error, 'VariableError: not a buffer');
done();
});
it('#seek should throw on negative', function (done) {
var throws = function () {
var out = new BufferWriter(10);
out.seek(-1);
};
expect(throws).to.throw(Error, 'Negative pos not allowed');
done();
});
it('#seek should throw after length', function (done) {
var throws = function () {
var out = new BufferWriter(10);
out.seek(12);
};
expect(throws).to.throw(Error, 'Cannot seek after EOF. 12 > 10');
done();
});
it('#indexOf should return array with all occurances', function (done) {
var out = new BufferWriter();
out.buffer(new Buffer('helloworldfoobarfoo'));
var r = out.indexOf('foo');
expect(r).to.include([10, 16]);
done();
});
// it('#name withLength', function (done) {
// var out = new BufferWriter();
// out.name('hello', true);
// expect(o.tell()).to.equal(6);
// done();
// });
});