@@ -4,6 +4,9 @@ var bpack = require('browser-pack');
44var insert = require ( '../' ) ;
55var concat = require ( 'concat-stream' ) ;
66var vm = require ( 'vm' ) ;
7+ // use is-buffer instead of builtin Buffer.isBuffer. The builtin
8+ // does `instanceof` which does not work on the browserified version
9+ var isBuffer = require ( 'is-buffer' ) ;
710
811test ( 'isbuffer' , function ( t ) {
912 t . plan ( 5 ) ;
@@ -22,6 +25,40 @@ test('isbuffer', function (t) {
2225 deps . end ( { id : 'main' , file : __dirname + '/isbuffer/main.js' } ) ;
2326} ) ;
2427
28+ test ( 'isbuffer (and Buffer.from)' , function ( t ) {
29+ t . plan ( 5 ) ;
30+ var deps = mdeps ( )
31+ var pack = bpack ( { raw : true , hasExports : true } ) ;
32+ deps . pipe ( pack ) . pipe ( concat ( function ( src ) {
33+ var c = { global : { } } ;
34+ vm . runInNewContext ( src , c ) ;
35+ t . equal ( c . require ( 'main' ) ( c . require ( 'main' ) . a ( ) ) , true , 'is a buffer' ) ;
36+ t . equal ( c . require ( 'main' ) ( 'wow' ) , false , 'is not a buffer' ) ;
37+ t . equal ( isBuffer ( c . require ( 'main' ) . a ( ) ) , true , 'is a buffer' ) ;
38+ t . ok ( / r e q u i r e \( " b u f f e r " \) / . test ( src ) , 'buffer required in source' )
39+ t . equal ( c . require ( 'main' ) . a ( ) . toString ( 'hex' ) , 'abcd' , 'is a buffer' ) ;
40+ } ) ) ;
41+ deps . write ( { transform : inserter , global : true } ) ;
42+ deps . end ( { id : 'main' , file : __dirname + '/isbuffer/both.js' } ) ;
43+ } ) ;
44+
45+ test ( 'isbuffer (and new Buffer)' , function ( t ) {
46+ t . plan ( 5 ) ;
47+ var deps = mdeps ( )
48+ var pack = bpack ( { raw : true , hasExports : true } ) ;
49+ deps . pipe ( pack ) . pipe ( concat ( function ( src ) {
50+ var c = { global : { } } ;
51+ vm . runInNewContext ( src , c ) ;
52+ t . equal ( c . require ( 'main' ) ( c . require ( 'main' ) . a ( ) ) , true , 'is a buffer' ) ;
53+ t . equal ( c . require ( 'main' ) ( 'wow' ) , false , 'is not a buffer' ) ;
54+ t . equal ( isBuffer ( c . require ( 'main' ) . a ( ) ) , true , 'is a buffer' ) ;
55+ t . ok ( / r e q u i r e \( " b u f f e r " \) / . test ( src ) , 'buffer required in source' )
56+ t . equal ( c . require ( 'main' ) . a ( ) . toString ( 'utf8' ) , 'abcd' , 'is a buffer' ) ;
57+ } ) ) ;
58+ deps . write ( { transform : inserter , global : true } ) ;
59+ deps . end ( { id : 'main' , file : __dirname + '/isbuffer/new.js' } ) ;
60+ } ) ;
61+
2562function inserter ( file ) {
2663 return insert ( file , { basedir : __dirname + '/isbuffer' } ) ;
2764}
0 commit comments