70 lines
1.7 KiB
JavaScript
70 lines
1.7 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 path = require('path');
|
||
|
var helper = require('./helper');
|
||
|
var fs = require('fs');
|
||
|
|
||
|
var Packet = require('..').DNSPacket;
|
||
|
//var fixtureDir = path.join(__dirname, 'fixtures');
|
||
|
var packets = require('./packets.json');
|
||
|
|
||
|
// var TestObj = function () {
|
||
|
// this.subprop = {
|
||
|
// a: 1,
|
||
|
// b: 2
|
||
|
// };
|
||
|
// this.__defineGetter__('getMe', function () {
|
||
|
// return 'got it';
|
||
|
// });
|
||
|
// };
|
||
|
|
||
|
|
||
|
describe('helper', function () {
|
||
|
|
||
|
it('prepareJs', function (done) {
|
||
|
//this is a tricky one
|
||
|
var filename = path.join(__dirname, 'fixtures', 'mdns-inbound-type47.js');
|
||
|
var text = fs.readFileSync(filename, 'utf8');
|
||
|
var js = helper.prepareJs(text);
|
||
|
expect(js).to.be.a.string();
|
||
|
expect(js).to.match(/new Buffer\(/);
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
it('readJs', function (done) {
|
||
|
var filename = path.join(__dirname, 'fixtures', 'mdns-inbound-type47.js');
|
||
|
var js = helper.readJs(filename);
|
||
|
expect(js).to.exist();
|
||
|
expect(js).to.include('header');
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
it('readBin', function (done) {
|
||
|
var filename = path.join(__dirname, 'fixtures', 'mdns-readynas.bin');
|
||
|
var b = helper.readBin(filename);
|
||
|
expect(b).to.be.instanceOf(Buffer);
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
describe('from buffer', function () {
|
||
|
var b = new Buffer(packets.in.sample10, 'hex');
|
||
|
it('writeJs', function (done) {
|
||
|
helper.writeBin(path.join('./', 'test.bin.log'), b);
|
||
|
done();
|
||
|
});
|
||
|
it('writeJs', function (done) {
|
||
|
helper.writeJs(path.join('./', 'test.js.log'), Packet.parse(b));
|
||
|
done();
|
||
|
});
|
||
|
});
|
||
|
|
||
|
});
|