@@ -5,32 +5,34 @@ const fixtures = require('../common/fixtures');
55const fs = require ( 'fs' ) ;
66const assert = require ( 'assert' ) ;
77const filepath = fixtures . path ( 'x.txt' ) ;
8- const fd = fs . openSync ( filepath , 'r' ) ;
98
109const expected = Buffer . from ( 'xyz\n' ) ;
1110const defaultBufferAsync = Buffer . alloc ( 16384 ) ;
12- const bufferAsOption = Buffer . allocUnsafe ( expected . length ) ;
11+ const bufferAsOption = Buffer . allocUnsafe ( expected . byteLength ) ;
1312
14- // Test not passing in any options object
15- fs . read ( fd , common . mustCall ( ( err , bytesRead , buffer ) => {
16- assert . strictEqual ( bytesRead , expected . length ) ;
17- assert . deepStrictEqual ( defaultBufferAsync . length , buffer . length ) ;
18- } ) ) ;
13+ function testValid ( message , ...options ) {
14+ const paramsMsg = `${ message } (as params)` ;
15+ const paramsFilehandle = fs . openSync ( filepath , 'r' ) ;
16+ fs . read ( paramsFilehandle , ...options , common . mustSucceed ( ( bytesRead , buffer ) => {
17+ assert . strictEqual ( bytesRead , expected . byteLength , paramsMsg ) ;
18+ assert . deepStrictEqual ( defaultBufferAsync . byteLength , buffer . byteLength , paramsMsg ) ;
19+ fs . closeSync ( paramsFilehandle ) ;
20+ } ) ) ;
1921
20- // Test passing in an empty options object
21- fs . read ( fd , { position : 0 } , common . mustCall ( ( err , bytesRead , buffer ) => {
22- assert . strictEqual ( bytesRead , expected . length ) ;
23- assert . deepStrictEqual ( defaultBufferAsync . length , buffer . length ) ;
24- } ) ) ;
22+ const optionsMsg = `${ message } (as options)` ;
23+ const optionsFilehandle = fs . openSync ( filepath , 'r' ) ;
24+ fs . read ( optionsFilehandle , bufferAsOption , ...options , common . mustSucceed ( ( bytesRead , buffer ) => {
25+ assert . strictEqual ( bytesRead , expected . byteLength , optionsMsg ) ;
26+ assert . deepStrictEqual ( bufferAsOption . byteLength , buffer . byteLength , optionsMsg ) ;
27+ fs . closeSync ( optionsFilehandle ) ;
28+ } ) ) ;
29+ }
2530
26- // Test passing in options
27- fs . read ( fd , {
28- buffer : bufferAsOption ,
31+ testValid ( 'Not passing in any object' ) ;
32+ testValid ( 'Passing in a null' , null ) ;
33+ testValid ( 'Passing in an empty object' , { } ) ;
34+ testValid ( 'Passing in an object' , {
2935 offset : 0 ,
30- length : bufferAsOption . length ,
31- position : 0
32- } ,
33- common . mustCall ( ( err , bytesRead , buffer ) => {
34- assert . strictEqual ( bytesRead , expected . length ) ;
35- assert . deepStrictEqual ( bufferAsOption . length , buffer . length ) ;
36- } ) ) ;
36+ length : bufferAsOption . byteLength ,
37+ position : 0 ,
38+ } ) ;
0 commit comments