@@ -28,7 +28,7 @@ describe("buffer", () => {
2828 expect < Buffer > ( Buffer . alloc ( 10 ) ) . toHaveLength ( 10 ) ;
2929 let buff = Buffer . alloc ( 100 ) ;
3030 for ( let i = 0 ; i < buff . length ; i ++ ) expect < u8 > ( buff [ i ] ) . toBe ( 0 ) ;
31- expect < ArrayBuffer > ( buff . buffer ) . not . toBeNull ( ) ;
31+ expect < ArrayBuffer | null > ( buff . buffer ) . not . toBeNull ( ) ;
3232 expect < u32 > ( buff . byteLength ) . toBe ( 100 ) ;
3333 // TODO: expectFn(() => { Buffer.alloc(-1); }).toThrow();
3434 // TODO: expectFn(() => { Buffer.alloc(BLOCK_MAXSIZE + 1); }).toThrow();
@@ -38,12 +38,27 @@ describe("buffer", () => {
3838 expect < Buffer > ( Buffer . allocUnsafe ( 10 ) ) . toBeTruthy ( ) ;
3939 expect < Buffer > ( Buffer . allocUnsafe ( 10 ) ) . toHaveLength ( 10 ) ;
4040 let buff = Buffer . allocUnsafe ( 100 ) ;
41- expect < ArrayBuffer > ( buff . buffer ) . not . toBeNull ( ) ;
41+ expect < ArrayBuffer | null > ( buff . buffer ) . not . toBeNull ( ) ;
4242 expect < u32 > ( buff . byteLength ) . toBe ( 100 ) ;
4343 // TODO: expectFn(() => { Buffer.allocUnsafe(-1); }).toThrow();
4444 // TODO: expectFn(() => { Buffer.allocUnsafe(BLOCK_MAXSIZE + 1); }).toThrow();
4545 } ) ;
4646
47+ test ( "#isBuffer" , ( ) => {
48+ let a = "" ;
49+ let b = new Uint8Array ( 0 ) ;
50+ let c = 0 ;
51+ let d = 1.1 ;
52+ let e = new Buffer ( 0 ) ;
53+ expect < bool > ( Buffer . isBuffer < string > ( a ) ) . toBeFalsy ( ) ;
54+ expect < bool > ( Buffer . isBuffer < Uint8Array > ( b ) ) . toBeFalsy ( ) ;
55+ expect < bool > ( Buffer . isBuffer < i32 > ( c ) ) . toBeFalsy ( ) ;
56+ expect < bool > ( Buffer . isBuffer < f64 > ( d ) ) . toBeFalsy ( ) ;
57+ expect < bool > ( Buffer . isBuffer < Buffer > ( e ) ) . toBeTruthy ( ) ;
58+ // null checks are done by the compiler explicitly at runtime
59+ expect < bool > ( Buffer . isBuffer < Buffer | null > ( null ) ) . toBeFalsy ( ) ;
60+ } ) ;
61+
4762 test ( "#readUInt8" , ( ) => {
4863 let buff = new Buffer ( 10 ) ;
4964 buff [ 0 ] = - 2 ;
0 commit comments