Browse Source

Merge pull request #267 from jamestalmage/use-serialize-error

use serialize-error module
babel-plugin-for-integration-tests
James Talmage 9 years ago
parent
commit
21cac95c25
  1. 2
      index.js
  2. 6
      lib/babel.js
  3. 17
      lib/serialize-value.js
  4. 2
      package.json

2
index.js

@ -3,7 +3,7 @@ var setImmediate = require('set-immediate-shim');
var relative = require('path').relative;
var hasFlag = require('has-flag');
var chalk = require('chalk');
var serializeError = require('./lib/serialize-value');
var serializeError = require('serialize-error');
var Runner = require('./lib/runner');
var send = require('./lib/send');
var log = require('./lib/logger');

6
lib/babel.js

@ -19,7 +19,7 @@ var requireFromString = require('require-from-string');
var loudRejection = require('loud-rejection/api')(process);
var resolveFrom = require('resolve-from');
var hasGenerator = require('has-generator');
var serializeValue = require('./serialize-value');
var serializeError = require('serialize-error');
var send = require('./send');
var testPath = process.argv[2];
@ -51,7 +51,7 @@ var options = {
exports.avaRequired = false;
process.on('uncaughtException', function (exception) {
send('uncaughtException', {exception: serializeValue(exception)});
send('uncaughtException', {exception: serializeError(exception)});
});
// include test file
@ -92,7 +92,7 @@ process.on('ava-teardown', function () {
}
rejections = rejections.map(function (rejection) {
return serializeValue(rejection.reason);
return serializeError(rejection.reason);
});
send('unhandledRejections', {rejections: rejections});

17
lib/serialize-value.js

@ -1,17 +0,0 @@
'use strict';
var destroyCircular = require('destroy-circular');
// Make a value ready for JSON.stringify() / process.send()
module.exports = function serializeValue(value) {
if (typeof value === 'object') {
return destroyCircular(value);
}
if (typeof value === 'function') {
// JSON.stringify discards functions, leaving no context information once we serialize and send across.
// We replace thrown functions with a string to provide as much information to the user as possible.
return '[Function: ' + (value.name || 'anonymous') + ']';
}
return value;
};

2
package.json

@ -86,7 +86,6 @@
"co-with-promise": "^4.6.0",
"core-assert": "^0.1.0",
"debug": "^2.2.0",
"destroy-circular": "jamestalmage/destroy-circular#feeb7d1",
"empower": "^1.1.0",
"figures": "^1.4.0",
"fn-name": "^2.0.0",
@ -106,6 +105,7 @@
"pretty-ms": "^2.0.0",
"require-from-string": "^1.1.0",
"resolve-from": "^1.0.0",
"serialize-error": "^1.1.0",
"set-immediate-shim": "^1.0.1",
"source-map-support": "^0.3.3",
"squeak": "^1.2.0",

Loading…
Cancel
Save