@ -1,26 +1,28 @@
'use strict' ;
require ( '../common' ) ;
var assert = require ( 'assert' ) ;
var Buffer = require ( 'buffer' ) . Buffer ;
var SlowBuffer = require ( 'buffer' ) . SlowBuffer ;
const assert = require ( 'assert' ) ;
const Buffer = require ( 'buffer' ) . Buffer ;
const SlowBuffer = require ( 'buffer' ) . SlowBuffer ;
// coerce values to string
assert . e qual( Buffer . byteLength ( 32 , 'latin1' ) , 2 ) ;
assert . e qual( Buffer . byteLength ( NaN , 'utf8' ) , 3 ) ;
assert . e qual( Buffer . byteLength ( { } , 'latin1' ) , 15 ) ;
assert . e qual( Buffer . byteLength ( ) , 9 ) ;
assert . strictE qual( Buffer . byteLength ( 32 , 'latin1' ) , 2 ) ;
assert . strictE qual( Buffer . byteLength ( NaN , 'utf8' ) , 3 ) ;
assert . strictE qual( Buffer . byteLength ( { } , 'latin1' ) , 15 ) ;
assert . strictE qual( Buffer . byteLength ( ) , 9 ) ;
var buff = new Buffer ( 10 ) ;
assert ( ArrayBuffer . isView ( buff ) ) ;
var slowbuff = new SlowBuffer ( 10 ) ;
assert ( ArrayBuffer . isView ( slowbuff ) ) ;
assert ( ArrayBuffer . isView ( new Buffer ( 10 ) ) ) ;
assert ( ArrayBuffer . isView ( new SlowBuffer ( 10 ) ) ) ;
assert ( ArrayBuffer . isView ( Buffer . alloc ( 10 ) ) ) ;
assert ( ArrayBuffer . isView ( Buffer . allocUnsafe ( 10 ) ) ) ;
assert ( ArrayBuffer . isView ( Buffer . allocUnsafeSlow ( 10 ) ) ) ;
assert ( ArrayBuffer . isView ( Buffer . from ( '' ) ) ) ;
// buffer
var incomplete = Buffer . from ( [ 0xe4 , 0xb8 , 0xad , 0xe6 , 0x96 ] ) ;
assert . e qual( Buffer . byteLength ( incomplete ) , 5 ) ;
assert . strictE qual( Buffer . byteLength ( incomplete ) , 5 ) ;
var ascii = Buffer . from ( 'abc' ) ;
assert . e qual( Buffer . byteLength ( ascii ) , 3 ) ;
assert . strictE qual( Buffer . byteLength ( ascii ) , 3 ) ;
// ArrayBuffer
var buffer = new ArrayBuffer ( 8 ) ;
@ -28,60 +30,60 @@ assert.equal(Buffer.byteLength(buffer), 8);
// TypedArray
var int8 = new Int8Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( int8 ) , 8 ) ;
assert . strictE qual( Buffer . byteLength ( int8 ) , 8 ) ;
var uint8 = new Uint8Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( uint8 ) , 8 ) ;
assert . strictE qual( Buffer . byteLength ( uint8 ) , 8 ) ;
var uintc8 = new Uint8ClampedArray ( 2 ) ;
assert . e qual( Buffer . byteLength ( uintc8 ) , 2 ) ;
assert . strictE qual( Buffer . byteLength ( uintc8 ) , 2 ) ;
var int16 = new Int16Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( int16 ) , 16 ) ;
assert . strictE qual( Buffer . byteLength ( int16 ) , 16 ) ;
var uint16 = new Uint16Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( uint16 ) , 16 ) ;
assert . strictE qual( Buffer . byteLength ( uint16 ) , 16 ) ;
var int32 = new Int32Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( int32 ) , 32 ) ;
assert . strictE qual( Buffer . byteLength ( int32 ) , 32 ) ;
var uint32 = new Uint32Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( uint32 ) , 32 ) ;
assert . strictE qual( Buffer . byteLength ( uint32 ) , 32 ) ;
var float32 = new Float32Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( float32 ) , 32 ) ;
assert . strictE qual( Buffer . byteLength ( float32 ) , 32 ) ;
var float64 = new Float64Array ( 8 ) ;
assert . e qual( Buffer . byteLength ( float64 ) , 64 ) ;
assert . strictE qual( Buffer . byteLength ( float64 ) , 64 ) ;
// DataView
var dv = new DataView ( new ArrayBuffer ( 2 ) ) ;
assert . e qual( Buffer . byteLength ( dv ) , 2 ) ;
assert . strictE qual( Buffer . byteLength ( dv ) , 2 ) ;
// special case: zero length string
assert . e qual( Buffer . byteLength ( '' , 'ascii' ) , 0 ) ;
assert . e qual( Buffer . byteLength ( '' , 'HeX' ) , 0 ) ;
assert . strictE qual( Buffer . byteLength ( '' , 'ascii' ) , 0 ) ;
assert . strictE qual( Buffer . byteLength ( '' , 'HeX' ) , 0 ) ;
// utf8
assert . e qual( Buffer . byteLength ( '∑éllö wørl∂!' , 'utf-8' ) , 19 ) ;
assert . e qual( Buffer . byteLength ( 'κλμνξο' , 'utf8' ) , 12 ) ;
assert . e qual( Buffer . byteLength ( '挵挶挷挸挹' , 'utf-8' ) , 15 ) ;
assert . e qual( Buffer . byteLength ( '𠝹𠱓𠱸' , 'UTF8' ) , 12 ) ;
assert . strictE qual( Buffer . byteLength ( '∑éllö wørl∂!' , 'utf-8' ) , 19 ) ;
assert . strictE qual( Buffer . byteLength ( 'κλμνξο' , 'utf8' ) , 12 ) ;
assert . strictE qual( Buffer . byteLength ( '挵挶挷挸挹' , 'utf-8' ) , 15 ) ;
assert . strictE qual( Buffer . byteLength ( '𠝹𠱓𠱸' , 'UTF8' ) , 12 ) ;
// without an encoding, utf8 should be assumed
assert . e qual( Buffer . byteLength ( 'hey there' ) , 9 ) ;
assert . e qual( Buffer . byteLength ( '𠱸挶νξ#xx :)' ) , 17 ) ;
assert . e qual( Buffer . byteLength ( 'hello world' , '' ) , 11 ) ;
assert . strictE qual( Buffer . byteLength ( 'hey there' ) , 9 ) ;
assert . strictE qual( Buffer . byteLength ( '𠱸挶νξ#xx :)' ) , 17 ) ;
assert . strictE qual( Buffer . byteLength ( 'hello world' , '' ) , 11 ) ;
// it should also be assumed with unrecognized encoding
assert . e qual( Buffer . byteLength ( 'hello world' , 'abc' ) , 11 ) ;
assert . e qual( Buffer . byteLength ( 'ßœ∑≈' , 'unkn0wn enc0ding' ) , 10 ) ;
assert . strictE qual( Buffer . byteLength ( 'hello world' , 'abc' ) , 11 ) ;
assert . strictE qual( Buffer . byteLength ( 'ßœ∑≈' , 'unkn0wn enc0ding' ) , 10 ) ;
// base64
assert . e qual( Buffer . byteLength ( 'aGVsbG8gd29ybGQ=' , 'base64' ) , 11 ) ;
assert . e qual( Buffer . byteLength ( 'bm9kZS5qcyByb2NrcyE=' , 'base64' ) , 14 ) ;
assert . e qual( Buffer . byteLength ( 'aGkk' , 'base64' ) , 3 ) ;
assert . e qual( Buffer . byteLength ( 'bHNrZGZsa3NqZmtsc2xrZmFqc2RsZmtqcw==' ,
assert . strictE qual( Buffer . byteLength ( 'aGVsbG8gd29ybGQ=' , 'base64' ) , 11 ) ;
assert . strictE qual( Buffer . byteLength ( 'bm9kZS5qcyByb2NrcyE=' , 'base64' ) , 14 ) ;
assert . strictE qual( Buffer . byteLength ( 'aGkk' , 'base64' ) , 3 ) ;
assert . strictE qual( Buffer . byteLength ( 'bHNrZGZsa3NqZmtsc2xrZmFqc2RsZmtqcw==' ,
'base64' ) , 25 ) ;
// special padding
assert . e qual( Buffer . byteLength ( 'aaa=' , 'base64' ) , 2 ) ;
assert . e qual( Buffer . byteLength ( 'aaaa==' , 'base64' ) , 3 ) ;
assert . strictE qual( Buffer . byteLength ( 'aaa=' , 'base64' ) , 2 ) ;
assert . strictE qual( Buffer . byteLength ( 'aaaa==' , 'base64' ) , 3 ) ;
assert . e qual( Buffer . byteLength ( 'Il était tué' ) , 14 ) ;
assert . e qual( Buffer . byteLength ( 'Il était tué' , 'utf8' ) , 14 ) ;
assert . e qual( Buffer . byteLength ( 'Il était tué' , 'ascii' ) , 12 ) ;
assert . e qual( Buffer . byteLength ( 'Il était tué' , 'latin1' ) , 12 ) ;
assert . e qual( Buffer . byteLength ( 'Il était tué' , 'binary' ) , 12 ) ;
assert . strictE qual( Buffer . byteLength ( 'Il était tué' ) , 14 ) ;
assert . strictE qual( Buffer . byteLength ( 'Il était tué' , 'utf8' ) , 14 ) ;
assert . strictE qual( Buffer . byteLength ( 'Il était tué' , 'ascii' ) , 12 ) ;
assert . strictE qual( Buffer . byteLength ( 'Il était tué' , 'latin1' ) , 12 ) ;
assert . strictE qual( Buffer . byteLength ( 'Il était tué' , 'binary' ) , 12 ) ;
[ 'ucs2' , 'ucs-2' , 'utf16le' , 'utf-16le' ] . forEach ( function ( encoding ) {
assert . e qual( 24 , Buffer . byteLength ( 'Il était tué' , encoding ) ) ;
assert . strictE qual( 24 , Buffer . byteLength ( 'Il était tué' , encoding ) ) ;
} ) ;