test-buffer-concat.js (1160B)
1 'use strict'; 2 var Buffer = require('../../').Buffer; 3 4 5 var assert = require('assert'); 6 7 var zero = []; 8 var one = [ Buffer.from('asdf') ]; 9 var long = []; 10 for (var i = 0; i < 10; i++) long.push(Buffer.from('asdf')); 11 12 var flatZero = Buffer.concat(zero); 13 var flatOne = Buffer.concat(one); 14 var flatLong = Buffer.concat(long); 15 var flatLongLen = Buffer.concat(long, 40); 16 17 assert(flatZero.length === 0); 18 assert(flatOne.toString() === 'asdf'); 19 // A special case where concat used to return the first item, 20 // if the length is one. This check is to make sure that we don't do that. 21 assert(flatOne !== one[0]); 22 assert(flatLong.toString() === (new Array(10 + 1).join('asdf'))); 23 assert(flatLongLen.toString() === (new Array(10 + 1).join('asdf'))); 24 25 assertWrongList(); 26 assertWrongList(null); 27 assertWrongList(Buffer.from('hello')); 28 assertWrongList([42]); 29 assertWrongList(['hello', 'world']); 30 assertWrongList(['hello', Buffer.from('world')]); 31 32 function assertWrongList(value) { 33 assert.throws(function() { 34 Buffer.concat(value); 35 }, function(err) { 36 return err instanceof TypeError && 37 err.message === '"list" argument must be an Array of Buffers'; 38 }); 39 } 40