From a9acc2ffedfca7250dc6ceb2305d95fbc0b49c4f Mon Sep 17 00:00:00 2001 From: larissayvette Date: Tue, 10 Jan 2017 16:14:39 +0100 Subject: [PATCH] test: check noAssert option in buf.write*() Add test to cover previously untested `noAssert` functionality in buf.write*() functions. PR-URL: https://github.com/nodejs/node/pull/10790 Reviewed-By: Rich Trott --- test/parallel/test-buffer-write-noassert.js | 48 +++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/parallel/test-buffer-write-noassert.js diff --git a/test/parallel/test-buffer-write-noassert.js b/test/parallel/test-buffer-write-noassert.js new file mode 100644 index 00000000000000..c0054733b85bb2 --- /dev/null +++ b/test/parallel/test-buffer-write-noassert.js @@ -0,0 +1,48 @@ +'use strict'; +require('../common'); +const assert = require('assert'); + +// testing buffer write functions + +function write(funx, args, result, res) { + { + const buf = Buffer.alloc(9); + assert.strictEqual(buf[funx](...args), result); + assert.deepStrictEqual(buf, res); + } + + { + const invalidArgs = Array.from(args); + invalidArgs[1] = -1; + assert.throws( + () => Buffer.alloc(9)[funx](...invalidArgs), + /^RangeError: (?:Index )?out of range(?: index)?$/ + ); + } + + { + const buf2 = Buffer.alloc(9); + assert.strictEqual(buf2[funx](...args, true), result); + assert.deepStrictEqual(buf2, res); + } + +} + +write('writeInt8', [1, 0], 1, Buffer.from([1, 0, 0, 0, 0, 0, 0, 0, 0])); +write('writeIntBE', [1, 1, 4], 5, Buffer.from([0, 0, 0, 0, 1, 0, 0, 0, 0])); +write('writeIntLE', [1, 1, 4], 5, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeInt16LE', [1, 1], 3, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeInt16BE', [1, 1], 3, Buffer.from([0, 0, 1, 0, 0, 0, 0, 0, 0])); +write('writeInt32LE', [1, 1], 5, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeInt32BE', [1, 1], 5, Buffer.from([0, 0, 0, 0, 1, 0, 0, 0, 0])); +write('writeUInt8', [1, 0], 1, Buffer.from([1, 0, 0, 0, 0, 0, 0, 0, 0])); +write('writeUIntLE', [1, 1, 4], 5, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeUIntBE', [1, 1, 4], 5, Buffer.from([0, 0, 0, 0, 1, 0, 0, 0, 0])); +write('writeUInt16LE', [1, 1], 3, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeUInt16BE', [1, 1], 3, Buffer.from([0, 0, 1, 0, 0, 0, 0, 0, 0])); +write('writeUInt32LE', [1, 1], 5, Buffer.from([0, 1, 0, 0, 0, 0, 0, 0, 0])); +write('writeUInt32BE', [1, 1], 5, Buffer.from([0, 0, 0, 0, 1, 0, 0, 0, 0])); +write('writeDoubleBE', [1, 1], 9, Buffer.from([0, 63, 240, 0, 0, 0, 0, 0, 0])); +write('writeDoubleLE', [1, 1], 9, Buffer.from([0, 0, 0, 0, 0, 0, 0, 240, 63])); +write('writeFloatBE', [1, 1], 5, Buffer.from([0, 63, 128, 0, 0, 0, 0, 0, 0])); +write('writeFloatLE', [1, 1], 5, Buffer.from([0, 0, 0, 128, 63, 0, 0, 0, 0]));