git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

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