Socket
Socket
Sign inDemoInstall

mm

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mm - npm Package Compare versions

Comparing version 0.0.7 to 0.0.8

5

History.md
0.0.8 / 2012-11-27
==================
* add mm.datas(), mm.data(), mm.empty() mock methods
0.0.7 / 2012-11-26

@@ -3,0 +8,0 @@ ==================

78

lib/mm.js

@@ -23,2 +23,18 @@ /*!

function getCallback(args) {
var index = args.length - 1;
var callback = args[index];
while (typeof callback !== 'function') {
index--;
if (index < 0) {
break;
}
callback = args[index];
}
if (!callback) {
throw new TypeError('Can\'t find callback function');
}
return callback;
}
/**

@@ -41,14 +57,3 @@ * Mock async function error.

muk(mod, method, function () {
var index = arguments.length - 1;
var callback = arguments[index];
while (typeof callback !== 'function') {
index--;
if (index < 0) {
break;
}
callback = arguments[index];
}
if (!callback) {
throw new TypeError('Can\'t find callback function');
}
var callback = getCallback(arguments);
setTimeout(function () {

@@ -62,2 +67,51 @@ callback(error);

/**
* mock return callback(null, data1, data2).
*
* @param {Object} mod, module object
* @param {String} method, mock module object method name.
* @param {Array} datas, return datas array.
* @param {Number} [tiemout], mock async callback timeout, default is 0.
*/
exports.datas = function (mod, method, datas, timeout) {
if (timeout) {
timeout = parseInt(timeout, 10);
}
timeout = timeout || 0;
if (!Array.isArray(datas)) {
datas = [ datas ];
}
muk(mod, method, function () {
var callback = getCallback(arguments);
setTimeout(function () {
datas.unshift(null); // null for error
callback.apply(null, datas);
}, timeout);
});
return this;
};
/**
* mock return callback(null, data).
*
* @param {Object} mod, module object
* @param {String} method, mock module object method name.
* @param {Object} data, return data.
* @param {Number} [tiemout], mock async callback timeout, default is 0.
*/
exports.data = function (mod, method, data, timeout) {
return exports.datas(mod, method, [ data ], timeout);
};
/**
* mock return callback(null, null).
*
* @param {Object} mod, module object
* @param {String} method, mock module object method name.
* @param {Number} [tiemout], mock async callback timeout, default is 0.
*/
exports.empty = function (mod, method, timeout) {
return exports.datas(mod, method, null, timeout);
};
/**
* remove all mock effects.

@@ -64,0 +118,0 @@ */

2

package.json
{
"name": "mm",
"version": "0.0.7",
"version": "0.0.8",
"description": "mock mate, mock http request, fs access and so on.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -105,2 +105,20 @@ mm (美眉,Mock伴侣) [![Build Status](https://secure.travis-ci.org/fengmk2/mm.png)](http://travis-ci.org/fengmk2/mm)

### Mock `callback(null, data)`
```js
mm.data(fs, 'readFile', new Buffer('some content'));
```
### Mock `callback(null, null)`
```js
mm.empty(mysql, 'query');
```
### Mock `callback(null, data1, data2)`
```js
mm.datas(urllib, 'request', new Buffer('data'), { headers: { foo: 'bar' } });
```
### use `mm` just like [`muk`](https://github.com/fent/node-muk)

@@ -107,0 +125,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc