From 2c55cc2d2c584a4269d5d516cbf8b45e0d1092f3 Mon Sep 17 00:00:00 2001 From: "dcposch@dcpos.ch" Date: Tue, 2 Feb 2016 16:38:36 -0800 Subject: [PATCH] buffer: remove deprecated Buffer.write branch * Explit throw on deprecated Buffer.write(...) * Update tests, remove obsolete Buffer.write(...) * Add comment for obsolete Buffer.write(...) PR-URL: https://github.com/nodejs/node/pull/5048 Reviewed-By: Brian White Reviewed-By: Trevor Norris Reviewed-By: James M Snell --- lib/buffer.js | 17 +++++------------ test/parallel/test-buffer.js | 6 +++--- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/lib/buffer.js b/lib/buffer.js index dcf1302206c080..57725cc1fc7baa 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -2,7 +2,6 @@ 'use strict'; const binding = process.binding('buffer'); -const internalUtil = require('internal/util'); const bindingObj = {}; exports.Buffer = Buffer; @@ -522,10 +521,6 @@ Buffer.prototype.fill = function fill(val, start, end) { }; -var writeWarned = false; -const writeMsg = 'Buffer.write(string, encoding, offset, length) is ' + - 'deprecated. Use write(string[, offset[, length]]' + - '[, encoding]) instead.'; Buffer.prototype.write = function(string, offset, length, encoding) { // Buffer#write(string); if (offset === undefined) { @@ -550,14 +545,12 @@ Buffer.prototype.write = function(string, offset, length, encoding) { encoding = length; length = undefined; } - - // XXX legacy write(string, encoding, offset, length) - remove in v0.13 } else { - writeWarned = internalUtil.printDeprecationMessage(writeMsg, writeWarned); - var swap = encoding; - encoding = offset; - offset = length >>> 0; - length = swap; + // if someone is still calling the obsolete form of write(), tell them. + // we don't want eg buf.write("foo", "utf8", 10) to silently turn into + // buf.write("foo", "utf8"), so we can't ignore extra args + throw new Error('Buffer.write(string, encoding, offset[, length]) ' + + 'is no longer supported'); } var remaining = this.length - offset; diff --git a/test/parallel/test-buffer.js b/test/parallel/test-buffer.js index 2e85fe556d78d1..8d42bea82d5e8c 100644 --- a/test/parallel/test-buffer.js +++ b/test/parallel/test-buffer.js @@ -351,10 +351,10 @@ assert.equal(rangeBuffer.toString({toString: function() { // testing for smart defaults and ability to pass string values as offset var writeTest = new Buffer('abcdes'); writeTest.write('n', 'ascii'); -writeTest.write('o', 'ascii', '1'); +writeTest.write('o', '1', 'ascii'); writeTest.write('d', '2', 'ascii'); writeTest.write('e', 3, 'ascii'); -writeTest.write('j', 'ascii', 4); +writeTest.write('j', 4, 'ascii'); assert.equal(writeTest.toString(), 'nodejs'); // ASCII slice test @@ -895,7 +895,7 @@ assert.equal(0, Buffer('hello').slice(0, 0).length); assert.equal(buf[3], 0x63); buf.fill(0xFF); - written = buf.write('abcd', 'utf8', 1, 2); // legacy style + written = buf.write('abcd', 1, 2, 'utf8'); console.log(buf); assert.equal(written, 2); assert.equal(buf[0], 0xFF);