Browse Source

Fix tests on browsers: need to add Buffer exception

patch-2
Esteban Ordano 10 years ago
parent
commit
12cac0e33d
  1. 10
      lib/util/buffer.js
  2. 10
      lib/util/preconditions.js

10
lib/util/buffer.js

@ -28,7 +28,7 @@ module.exports = {
* @return {Buffer} * @return {Buffer}
*/ */
fill: function fill(buffer, value) { fill: function fill(buffer, value) {
$.checkArgumentType(buffer, Buffer, 'buffer'); $.checkArgumentType(buffer, 'Buffer', 'buffer');
$.checkArgumentType(value, 'number', 'value'); $.checkArgumentType(value, 'number', 'value');
var length = buffer.length; var length = buffer.length;
for (var i = 0; i < length; i++) { for (var i = 0; i < length; i++) {
@ -107,7 +107,7 @@ module.exports = {
* @return {number} * @return {number}
*/ */
integerFromBuffer: function integerFromBuffer(buffer) { integerFromBuffer: function integerFromBuffer(buffer) {
$.checkArgumentType(buffer, Buffer, 'buffer'); $.checkArgumentType(buffer, 'Buffer', 'buffer');
return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3]; return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3];
}, },
@ -117,7 +117,7 @@ module.exports = {
* @return {number} * @return {number}
*/ */
integerFromSingleByteBuffer: function integerFromBuffer(buffer) { integerFromSingleByteBuffer: function integerFromBuffer(buffer) {
$.checkArgumentType(buffer, Buffer, 'buffer'); $.checkArgumentType(buffer, 'Buffer', 'buffer');
return buffer[0]; return buffer[0];
}, },
@ -130,7 +130,7 @@ module.exports = {
* @return {string} * @return {string}
*/ */
bufferToHex: function bufferToHex(buffer) { bufferToHex: function bufferToHex(buffer) {
$.checkArgumentType(buffer, Buffer, 'buffer'); $.checkArgumentType(buffer, 'Buffer', 'buffer');
return buffer.toString('hex'); return buffer.toString('hex');
}, },
@ -140,7 +140,7 @@ module.exports = {
* @return {Buffer} * @return {Buffer}
*/ */
reverse: function reverse(param) { reverse: function reverse(param) {
$.checkArgumentType(param, Buffer, 'param'); $.checkArgumentType(param, 'Buffer', 'param');
var ret = new buffer.Buffer(param.length); var ret = new buffer.Buffer(param.length);
for (var i = 0; i < param.length; i++) { for (var i = 0; i < param.length; i++) {
ret[i] = param[param.length - i - 1]; ret[i] = param[param.length - i - 1];

10
lib/util/preconditions.js

@ -17,10 +17,12 @@ module.exports = {
checkArgumentType: function(argument, type, argumentName) { checkArgumentType: function(argument, type, argumentName) {
argumentName = argumentName || '(unknown name)'; argumentName = argumentName || '(unknown name)';
if (_.isString(type)) { if (_.isString(type)) {
if (type === 'number' && !_.isNumber(argument)) { if (type === 'Buffer') {
throw new errors.InvalidArgumentType(argument, type, argumentName); var BufferUtil = require('./buffer');
} if (!BufferUtil.isBuffer(argument)) {
if (typeof argument !== type) { throw new errors.InvalidArgumentType(argument, type, argumentName);
}
} else if (typeof argument !== type) {
throw new errors.InvalidArgumentType(argument, type, argumentName); throw new errors.InvalidArgumentType(argument, type, argumentName);
} }
} else { } else {

Loading…
Cancel
Save