%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const fixtures = require('../common/fixtures'); const fs = require('fs'); const assert = require('assert'); const filepath = fixtures.path('x.txt'); const expected = Buffer.from('xyz\n'); const defaultBufferAsync = Buffer.alloc(16384); const bufferAsOption = Buffer.allocUnsafe(expected.byteLength); function testValid(message, ...options) { const paramsMsg = `${message} (as params)`; const paramsFilehandle = fs.openSync(filepath, 'r'); fs.read(paramsFilehandle, ...options, common.mustSucceed((bytesRead, buffer) => { assert.strictEqual(bytesRead, expected.byteLength, paramsMsg); assert.deepStrictEqual(defaultBufferAsync.byteLength, buffer.byteLength, paramsMsg); fs.closeSync(paramsFilehandle); })); const optionsMsg = `${message} (as options)`; const optionsFilehandle = fs.openSync(filepath, 'r'); fs.read(optionsFilehandle, bufferAsOption, ...options, common.mustSucceed((bytesRead, buffer) => { assert.strictEqual(bytesRead, expected.byteLength, optionsMsg); assert.deepStrictEqual(bufferAsOption.byteLength, buffer.byteLength, optionsMsg); fs.closeSync(optionsFilehandle); })); } testValid('Not passing in any object'); testValid('Passing in a null', null); testValid('Passing in an empty object', common.mustNotMutateObjectDeep({})); testValid('Passing in an object', common.mustNotMutateObjectDeep({ offset: 0, length: bufferAsOption.byteLength, position: 0, }));