Socket
Socket
Sign inDemoInstall

mm

Package Overview
Dependencies
Maintainers
2
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 1.2.0 to 1.3.0

7

History.md
1.3.0 / 2015-08-22
==================
* readme: add sync methods and error properties
* feat: mock error support props
* chore: use npm scripts
1.2.0 / 2015-08-16

@@ -3,0 +10,0 @@ ==================

2

index.js

@@ -0,1 +1,3 @@

'use strict';
module.exports = require('./lib/mm');

@@ -2,0 +4,0 @@ var enable = require('enable');

14

lib/es6.js

@@ -49,15 +49,9 @@ /**!

var mockError = mm.error;
mm.error = function (mod, method, error, timeout) {
mm.error = function (mod, method, error, props, timeout) {
if (!is.generatorFunction(mod[method])) {
return mockError.call(mm, mod, method, error, timeout);
return mockError.call(mm, mod, method, error, props, timeout);
}
if (!error) {
error = new Error('mm mock error');
error.name = 'MockError';
}
if (typeof error === 'string') {
error = new Error(error);
error.name = 'MockError';
}
mm._createError(error, props);
if (timeout) {

@@ -64,0 +58,0 @@ timeout = parseInt(timeout, 10);

/**!
* mm - lib/mm.js
*
* Copyright(c) fengmk2 and other contributors.
* Copyright(c) node-modules and other contributors.
* MIT Licensed
*
* Authors:
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com)
* fengmk2 <fengmk2@gmail.com> (http://fengmk2.com)
*/

@@ -25,3 +25,3 @@

var mock = module.exports = function mock(obj, key, method) {
var mock = module.exports = function mock(/*obj, key, method*/) {
return muk.apply(null, arguments);

@@ -55,9 +55,9 @@ };

/**
* Mock async function error.
* @param {Object} mod, module object
* @param {String} method, mock module object method name.
* @param {String|Error} error, error string message or error instance.
* @param {Number} [tiemout], mock async callback timeout, default is 10.
* create an error instance
*
* @param {String|Error} error
* @param {Object} props
* @return {Error}
*/
exports.error = function (mod, method, error, timeout) {
exports._createError = function (error, props) {
if (!error) {

@@ -71,2 +71,25 @@ error = new Error('mm mock error');

}
props = props || {};
for (var key in props) {
error[key] = props[key];
}
return error;
};
/**
* Mock async function error.
* @param {Object} mod, module object
* @param {String} method, mock module object method name.
* @param {String|Error} error, error string message or error instance.
* @param {Object} [props], error properties
* @param {Number} [tiemout], mock async callback timeout, default is 10.
*/
exports.error = function (mod, method, error, props, timeout) {
if (typeof props === 'number') {
timeout = props;
props = {};
}
error = exports._createError(error, props);
if (timeout) {

@@ -139,12 +162,6 @@ timeout = parseInt(timeout, 10);

* @param {String|Error} error, error string message or error instance.
* @param {Object} [props], error properties
*/
exports.syncError = function (mod, method, error) {
if (!error) {
error = new Error('mm mock error');
error.name = 'MockError';
}
if (typeof error === 'string') {
error = new Error(error);
error.name = 'MockError';
}
exports.syncError = function (mod, method, error, props) {
error = exports._createError(error, props);
mock(mod, method, function () {

@@ -164,3 +181,3 @@ throw error;

mock(mod, method, function () {
return data
return data;
});

@@ -167,0 +184,0 @@ };

{
"name": "mm",
"version": "1.2.0",
"version": "1.3.0",
"description": "mock mate, mock http request, fs access and so on.",
"main": "index.js",
"files": [
"lib",
"index.js"
],
"scripts": {
"test": "make test-all"
"test": "npm run lint && mocha --check-leaks -R spec -t 5000 -r should-http test/*.test.js",
"test-cov": "istanbul cover node_modules/.bin/_mocha -- --check-leaks -t 5000 -r should-http test/*.test.js",
"test-travis": "npm run lint && istanbul cover node_modules/.bin/_mocha --report lcovonly -- --check-leaks -t 5000 -r should-http test/*.test.js",
"lint": "eslint lib test index.js",
"autod": "autod -w --prefix '~'",
"cnpm": "npm install --registry=https://registry.npm.taobao.org",
"contributors": "contributors -f plain -o AUTHORS"
},
"config": {
"blanket": {
"pattern": "mm/lib"
},
"travis-cov": {
"threshold": 99
}
},
"dependencies": {

@@ -26,10 +28,9 @@ "co-sleep": "~0.0.1",

"devDependencies": {
"autod": "~2.0.1",
"blanket": "*",
"chunkstream": "~0.0.1",
"co": "~4.5.4",
"autod": "2",
"chunkstream": "*",
"co": "4",
"co-mocha": "*",
"co-urllib": "~0.2.3",
"contributors": "*",
"coveralls": "*",
"eslint": "1",
"istanbul-harmony": "~0.3.12",

@@ -39,18 +40,20 @@ "mocha": "*",

"node-patch": "*",
"pedding": "~1.0.0",
"should": "~6.0.1",
"pedding": "1",
"should": "6",
"should-http": "*",
"thunkify-wrap": "~1.0.4",
"travis-cov": "*"
"thunkify-wrap": "1"
},
"homepage": "http://github.com/fengmk2/mm",
"homepage": "http://github.com/node-modules/mm",
"repository": {
"type": "git",
"url": "git://github.com/fengmk2/mm.git"
"url": "git://github.com/node-modules/mm.git"
},
"keywords": [
"mm"
"mm",
"muk",
"mock",
"test"
],
"author": "fengmk2 <fengmk2@gmail.com> (http://fengmk2.github.com/)",
"author": "fengmk2 <fengmk2@gmail.com> (http://fengmk2.com/)",
"license": "MIT"
}

@@ -9,3 +9,2 @@ mm

[![David deps][david-image]][david-url]
[![node version][node-image]][node-url]
[![npm download][download-image]][download-url]

@@ -23,4 +22,2 @@

[david-url]: https://david-dm.org/node-modules/mm
[node-image]: https://img.shields.io/badge/node.js-%3E=_0.10-green.svg?style=flat-square
[node-url]: http://nodejs.org/download/
[download-image]: https://img.shields.io/npm/dm/mm.svg?style=flat-square

@@ -31,8 +28,6 @@ [download-url]: https://npmjs.org/package/mm

![logo](https://raw.github.com/node-modules/mm/master/logo.png)
## Install
```bash
$ npm install mm
$ npm install mm --save-dev
```

@@ -77,3 +72,3 @@

### .error(module, propertyName, errerMessage)
### .error(module, propertyName, errerMessage, errorProperties)

@@ -136,2 +131,44 @@ ```js

### .syncError(module, propertyName, errerMessage, errorProperties)
```js
var mm = require('mm');
var fs = require('fs');
mm.syncError(fs, 'readFileSync', 'mock fs.readFile return error', {code: 'ENOENT'});
// equals
fs.readFileSync = function (args...) {
var err = new Error('mock fs.readFile return error');
err.code = 'ENOENT';
throw err;
};
```
### .syncData(module, propertyName, value)
```js
mm.syncData(fs, 'readFileSync', new Buffer('some content'));
// equals
fs.readFileSync = function (args...) {
return new Buffer('some content');
};
```
## .syncEmpty
```js
mm.syncEmpty(fs, 'readFileSync');
// equals
fs.readFileSync = function (args...) {
return;
}
```
### .restore()

@@ -220,2 +257,3 @@

Copyright (C) 2012 - 2014 fengmk2 <fengmk2@gmail.com>
Copyright (C) 2015 node-modules

@@ -222,0 +260,0 @@ Permission is hereby granted, free of charge, to any person obtaining a copy

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