|  | 'use strict'; | 
						
						
							|  | var Buffer = require('../../').Buffer; | 
						
						
							|  | 
 | 
						
						
							|  | 
 | 
						
						
							|  | var assert = require('assert'); | 
						
						
							|  | 
 | 
						
						
							|  | var zero = []; | 
						
						
							|  | var one = [ Buffer.from('asdf') ]; | 
						
						
							|  | var long = []; | 
						
						
							|  | for (var i = 0; i < 10; i++) long.push(Buffer.from('asdf')); | 
						
						
							|  | 
 | 
						
						
							|  | var flatZero = Buffer.concat(zero); | 
						
						
							|  | var flatOne = Buffer.concat(one); | 
						
						
							|  | var flatLong = Buffer.concat(long); | 
						
						
							|  | var flatLongLen = Buffer.concat(long, 40); | 
						
						
							|  | 
 | 
						
						
							|  | assert(flatZero.length === 0); | 
						
						
							|  | assert(flatOne.toString() === 'asdf'); | 
						
						
							|  | // A special case where concat used to return the first item, | 
						
						
							|  | // if the length is one. This check is to make sure that we don't do that. | 
						
						
							|  | assert(flatOne !== one[0]); | 
						
						
							|  | assert(flatLong.toString() === (new Array(10 + 1).join('asdf'))); | 
						
						
							|  | assert(flatLongLen.toString() === (new Array(10 + 1).join('asdf'))); | 
						
						
							|  | 
 | 
						
						
							|  | assertWrongList(); | 
						
						
							|  | assertWrongList(null); | 
						
						
							|  | assertWrongList(Buffer.from('hello')); | 
						
						
							|  | assertWrongList([42]); | 
						
						
							|  | assertWrongList(['hello', 'world']); | 
						
						
							|  | assertWrongList(['hello', Buffer.from('world')]); | 
						
						
							|  | 
 | 
						
						
							|  | function assertWrongList(value) { | 
						
						
							|  |   assert.throws(function() { | 
						
						
							|  |     Buffer.concat(value); | 
						
						
							|  |   }, function(err) { | 
						
						
							|  |     return err instanceof TypeError && | 
						
						
							|  |            err.message === '"list" argument must be an Array of Buffers'; | 
						
						
							|  |   }); | 
						
						
							|  | } | 
						
						
							|  | 
 |