Socket
Socket
Sign inDemoInstall

empower

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

empower - npm Package Compare versions

Comparing version 1.0.2 to 1.1.0

8

CHANGELOG.md

@@ -0,1 +1,9 @@

## [1.1.0](https://github.com/power-assert-js/empower/releases/tag/v1.1.0) (2015-11-07)
#### Features
* [support async-await state flags](https://github.com/power-assert-js/empower/pull/17) (by [@jamestalmage](https://github.com/jamestalmage))
### [1.0.2](https://github.com/power-assert-js/empower/releases/tag/v1.0.2) (2015-10-22)

@@ -2,0 +10,0 @@

14

gulpfile.js

@@ -27,2 +27,8 @@ var gulp = require('gulp');

},
acorn_es7_plugin_bundle: {
standalone: 'acornEs7Plugin',
require: 'acorn-es7-plugin',
destDir: './build',
destName: 'acorn-es7-plugin.js'
},
escodegen_bundle: {

@@ -44,3 +50,3 @@ standalone: 'escodegen',

};
var BUILDS = ['assert', 'escodegen'];
var BUILDS = ['assert', 'escodegen', 'acorn_es7_plugin'];

@@ -86,3 +92,4 @@ function captureStdout (filespec) {

ui: 'tdd',
reporter: 'mocha-lcov-reporter'
reporter: 'mocha-lcov-reporter',
require: ['babel-core/polyfill']
}))

@@ -99,3 +106,4 @@ .pipe(capt.finish)

ui: 'tdd',
reporter: 'dot'
reporter: 'dot',
require: ['babel-core/polyfill']
}))

@@ -102,0 +110,0 @@ .on('error', gutil.log);

@@ -14,2 +14,13 @@ 'use strict';

events = [];
var source = {
content: args.content,
filepath: args.filepath,
line: args.line
};
if (args.generator) {
source.generator = true;
}
if (args.async) {
source.async = true;
}
return {

@@ -20,7 +31,3 @@ powerAssertContext: {

},
source: {
content: args.content,
filepath: args.filepath,
line: args.line
}
source: source
};

@@ -27,0 +34,0 @@ }

{
"name": "empower",
"description": "Power Assert feature enhancer for assert function/object",
"version": "1.0.2",
"version": "1.1.0",
"author": {

@@ -13,2 +13,8 @@ "name": "Takuto Wada",

},
"contributors": [
{
"name": "James Talmage",
"url": "https://github.com/jamestalmage"
}
],
"dependencies": {

@@ -26,2 +32,4 @@ "array-filter": "^1.0.0",

"acorn": "^2.4.0",
"acorn-es7-plugin": "^1.0.9",
"babel-core": "^5.8.33",
"blanket": "^1.1.7",

@@ -32,3 +40,3 @@ "browserify": "^11.0.1",

"escodegen": "^1.7.0",
"espower": "^1.0.6",
"espower": "^1.2.1",
"gulp": "^3.9.0",

@@ -35,0 +43,0 @@ "gulp-derequire": "^2.1.0",

@@ -209,2 +209,7 @@ empower

CONTRIBUTORS
---------------------------------------
* [James Talmage (jamestalmage)](https://github.com/jamestalmage)
LICENSE

@@ -211,0 +216,0 @@ ---------------------------------------

(function (root, factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
define(['empower', 'espower', 'acorn', 'escodegen', 'assert'], factory);
define(['empower', 'espower', 'acorn', 'acorn-es7-plugin', 'babel', 'escodegen', 'assert'], factory);
} else if (typeof exports === 'object') {
factory(require('..'), require('espower'), require('acorn'), require('escodegen'), require('assert'));
factory(require('..'), require('espower'), require('acorn'), require('acorn-es7-plugin'), require('babel-core'), require('escodegen'), require('assert'));
} else {
factory(root.empower, root.espower, root.acorn, root.escodegen, root.assert);
factory(root.empower, root.espower, root.acorn, root.acornEs7Plugin, root.babel, root.escodegen, root.assert);
}

@@ -14,5 +15,8 @@ }(this, function (

acorn,
acornEs7Plugin,
babel,
escodegen,
baseAssert
) {
acornEs7Plugin(acorn);

@@ -30,5 +34,6 @@ var weave = function (line, patterns) {

}
var jsAST = acorn.parse(line, {ecmaVersion: 6, locations: true, sourceType: 'module', sourceFile: filepath});
var jsAST = acorn.parse(line, {ecmaVersion: 7, locations: true, sourceType: 'module', sourceFile: filepath, plugins: {asyncawait: true}});
var espoweredAST = espower(jsAST, espowerOptions);
return escodegen.generate(espoweredAST, {format: {compact: true}});
var code = escodegen.generate(espoweredAST, {format: {compact: true}});
return babel.transform(code).code
},

@@ -39,7 +44,15 @@ fakeFormatter = function (context) {

}, []);
return [
var output = [
context.source.filepath,
context.source.content,
JSON.stringify(events)
].join('\n');
context.source.content
];
if (context.source.async) {
output.push('async:true');
}
if (context.source.generator) {
output.push('generator:true');
}
output.push(JSON.stringify(events));
return output.join('\n');
};

@@ -312,2 +325,125 @@

suite(JSON.stringify(option) + ' yield for assertion inside generator', function () {
test('yield falsy', function (done) {
var falsy = Promise.resolve(0);
function onError(e) {
try {
if (!e) {
return done(new Error('Assertion Error should be thrown'));
}
if (option.modifyMessageOnRethrow) {
baseAssert.equal(e.message, [
'test/some_test.js',
'assert.ok(yield falsy)',
'generator:true',
'[{"value":0,"espath":"arguments/0"}]'
].join('\n'));
}
if (option.saveContextOnRethrow) {
baseAssert.deepEqual(e.powerAssertContext, {
"source": {
"content": "assert.ok(yield falsy)",
"filepath": "test/some_test.js",
"generator": true,
"line": 2
},
"args": [
{
"value": 0,
"events": [
{"value": 0, "espath": "arguments/0"}
]
}
]
});
}
baseAssert.equal(e.name, 'AssertionError');
} catch (e) {
return done (e);
}
done();
}
function onResult() {
done(new Error('promise should not resolve'));
}
var code = [
'function *gen() {',
' assert.ok(yield falsy);',
'}',
'',
'var g = gen();',
'',
'g.next().value',
' .then((val) => g.next(val))',
' .then(onResult)',
' .catch(onError);'
].join('\n');
eval(weave(code));
});
});
suite(JSON.stringify(option) + ' await assertion inside async async function', function () {
test('yield falsy', function (done) {
var falsy = Promise.resolve(0);
function onError(e) {
try {
if (!e) {
return done(new Error('Assertion Error should be thrown'));
}
if (option.modifyMessageOnRethrow) {
baseAssert.equal(e.message, [
'test/some_test.js',
'assert.ok(await falsy)',
'async:true',
'[{"value":0,"espath":"arguments/0"}]'
].join('\n'));
}
if (option.saveContextOnRethrow) {
baseAssert.deepEqual(e.powerAssertContext, {
"source": {
"content": "assert.ok(await falsy)",
"filepath": "test/some_test.js",
"async": true,
"line": 2
},
"args": [
{
"value": 0,
"events": [
{"value": 0, "espath": "arguments/0"}
]
}
]
});
}
baseAssert.equal(e.name, 'AssertionError');
} catch (e) {
return done (e);
}
done();
}
function onResult() {
done(new Error('promise should not resolve'));
}
var code = [
'async function gen() {',
' assert.ok(await falsy);',
'}',
'gen()',
' .then(onResult)',
' .catch(onError);'
].join('\n');
eval(weave(code));
});
});
}

@@ -314,0 +450,0 @@

@@ -8,2 +8,5 @@ var require = {

assert: '../build/assert',
babel: '../node_modules/babel-core/browser',
bluebird: '../node_modules/bluebird/js/browser/bluebird',
"acorn-es7-plugin": '../build/acorn-es7-plugin',
mocha: "../bower_components/mocha/mocha",

@@ -10,0 +13,0 @@ requirejs: "../bower_components/requirejs/require",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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