84 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.0 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 BufferConsumer = require('../lib/bufferconsumer');
 | |
| var BufferWriter = require('../lib/bufferwriter');
 | |
| 
 | |
| 
 | |
| describe('BufferConsumer', function () {
 | |
| 
 | |
|   it('throw if no buffer as argument', function (done) {
 | |
|     var throws = function () {
 | |
|       return (new BufferConsumer());
 | |
|     };
 | |
| 
 | |
|     expect(throws).to.throw(Error, 'Expected instance of Buffer');
 | |
|     done();
 | |
|   });
 | |
| 
 | |
|   it('throw if seek before 0', function (done) {
 | |
|     var throws = function () {
 | |
|       var b = new Buffer(512);
 | |
|       var consumer = new BufferConsumer(b);
 | |
|       consumer.seek(-1);
 | |
|     };
 | |
| 
 | |
|     expect(throws).to.throw(Error, 'Negative pos not allowed');
 | |
|     done();
 | |
|   });
 | |
| 
 | |
|   it('throw if seek after end', function (done) {
 | |
|     var throws = function () {
 | |
|       var b = new Buffer(512);
 | |
|       var consumer = new BufferConsumer(b);
 | |
|       consumer.seek(515);
 | |
|     };
 | |
| 
 | |
|     expect(throws).to.throw(Error, 'Cannot seek after EOF. 515 > 512');
 | |
|     done();
 | |
|   });
 | |
| 
 | |
|   it('thow if slice after end', function (done) {
 | |
|     var throws = function () {
 | |
|       var b = new Buffer(512);
 | |
|       var consumer = new BufferConsumer(b);
 | |
|       consumer.seek(500);
 | |
|       consumer.slice(100);
 | |
|     };
 | |
| 
 | |
|     expect(throws).to.throw(Error, 'Buffer overflow');
 | |
|     done();
 | |
|   });
 | |
| 
 | |
|   it('#string with length', function (done) {
 | |
|     var b = new Buffer('qwertasdfg');
 | |
|     var consumer = new BufferConsumer(b);
 | |
|     var s = consumer.string('utf8', 3);
 | |
|     expect(s).to.equal('qwe');
 | |
|     s = consumer.string();
 | |
|     expect(s).to.equal('rtasdfg');
 | |
|     done();
 | |
|   });
 | |
| 
 | |
| });
 | |
| 
 | |
| 
 | |
| describe('BufferWriter', function () {
 | |
|   it('#name on empty buffer', function (done) {
 | |
|     var out = new BufferWriter();
 | |
|     out.name('');
 | |
|     out.dump();
 | |
|     var consumer = new BufferConsumer(out.dump());
 | |
|     var s = consumer.name();
 | |
|     expect(s).to.equal('');
 | |
|     done();
 | |
|   });
 | |
| });
 |