You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							40 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							40 lines
						
					
					
						
							1.1 KiB
						
					
					
				'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'; | 
						|
  }); | 
						|
} | 
						|
 | 
						|
 |