empower
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -0,1 +1,9 @@ | ||
### [1.0.2](https://github.com/power-assert-js/empower/releases/tag/v1.0.2) (2015-10-22) | ||
#### Bug Fixes | ||
* [make `_capt` and `_expr` methods not enumerable](https://github.com/power-assert-js/empower/pull/16) | ||
### [1.0.1](https://github.com/power-assert-js/empower/releases/tag/v1.0.1) (2015-09-08) | ||
@@ -2,0 +10,0 @@ |
@@ -7,2 +7,3 @@ var gulp = require('gulp'); | ||
var del = require('del'); | ||
var path = require('path'); | ||
var source = require('vinyl-source-stream'); | ||
@@ -21,2 +22,14 @@ var through = require('through2'); | ||
}, | ||
assert_bundle: { | ||
standalone: 'assert', | ||
require: 'assert', | ||
destDir: './build', | ||
destName: 'assert.js' | ||
}, | ||
escodegen_bundle: { | ||
standalone: 'escodegen', | ||
srcFile: './node_modules/escodegen/escodegen.js', | ||
destDir: './build', | ||
destName: 'escodegen.js' | ||
}, | ||
coverage: { | ||
@@ -32,2 +45,3 @@ filename: 'coverage.lcov' | ||
}; | ||
var BUILDS = ['assert', 'escodegen']; | ||
@@ -122,2 +136,23 @@ function captureStdout (filespec) { | ||
BUILDS.forEach(function (name) { | ||
gulp.task('clean_' + name + '_bundle', function () { | ||
del.sync([path.join(config[name + '_bundle'].destDir, config[name + '_bundle'].destName)]); | ||
}); | ||
gulp.task(name + '_bundle', ['clean_' + name + '_bundle'], function() { | ||
var b = browserify({standalone: config[name + '_bundle'].standalone}); | ||
if (config[name + '_bundle'].srcFile) { | ||
b.add(config[name + '_bundle'].srcFile); | ||
} | ||
if (config[name + '_bundle'].require) { | ||
b.require(config[name + '_bundle'].require); | ||
} | ||
return b.bundle() | ||
.pipe(source(config[name + '_bundle'].destName)) | ||
.pipe(derequire()) | ||
.pipe(gulp.dest(config[name + '_bundle'].destDir)); | ||
}); | ||
}); | ||
gulp.task('clean_deps', BUILDS.map(function (name) { return 'clean_' + name + '_bundle'; })); | ||
gulp.task('build_deps', BUILDS.map(function (name) { return name + '_bundle'; })); | ||
gulp.task('unit', function () { | ||
@@ -131,3 +166,3 @@ return runMochaSimply(); | ||
gulp.task('test_amd', ['bundle'], function () { | ||
gulp.task('test_amd', ['bundle', 'build_deps'], function () { | ||
return gulp | ||
@@ -138,3 +173,3 @@ .src(config.test.amd) | ||
gulp.task('test_browser', ['bundle'], function () { | ||
gulp.task('test_browser', ['bundle', 'build_deps'], function () { | ||
return gulp | ||
@@ -145,4 +180,4 @@ .src(config.test.browser) | ||
gulp.task('clean', ['clean_coverage', 'clean_bundle']); | ||
gulp.task('clean', ['clean_coverage', 'clean_bundle', 'clean_deps']); | ||
gulp.task('test', ['unit','test_browser','test_amd']); |
19
index.js
@@ -12,5 +12,7 @@ /** | ||
var Decorator = require('./lib/decorator'); | ||
var capturable = require('./lib/capturable'); | ||
var create = require('object-create'); | ||
var slice = Array.prototype.slice; | ||
var extend = require('xtend/mutable'); | ||
var define = require('define-properties'); | ||
@@ -26,3 +28,3 @@ /** | ||
var typeOfAssert = (typeof assert); | ||
var config; | ||
var enhancedAssert; | ||
if ((typeOfAssert !== 'object' && typeOfAssert !== 'function') || assert === null) { | ||
@@ -34,14 +36,18 @@ throw new TypeError('empower argument should be a function or object.'); | ||
} | ||
config = extend(defaultOptions(), options); | ||
switch (typeOfAssert) { | ||
case 'function': | ||
return empowerAssertFunction(assert, formatter, config); | ||
enhancedAssert = empowerAssertFunction(assert, formatter, options); | ||
break; | ||
case 'object': | ||
return empowerAssertObject(assert, formatter, config); | ||
enhancedAssert = empowerAssertObject(assert, formatter, options); | ||
break; | ||
default: | ||
throw new Error('Cannot be here'); | ||
} | ||
define(enhancedAssert, capturable()); | ||
return enhancedAssert; | ||
} | ||
function empowerAssertObject (assertObject, formatter, config) { | ||
function empowerAssertObject (assertObject, formatter, options) { | ||
var config = extend(defaultOptions(), options); | ||
var target = config.destructive ? assertObject : create(assertObject); | ||
@@ -52,3 +58,4 @@ var decorator = new Decorator(target, formatter, config); | ||
function empowerAssertFunction (assertFunction, formatter, config) { | ||
function empowerAssertFunction (assertFunction, formatter, options) { | ||
var config = extend(defaultOptions(), options); | ||
if (config.destructive) { | ||
@@ -55,0 +62,0 @@ throw new Error('cannot use destructive:true to function.'); |
@@ -8,3 +8,2 @@ 'use strict'; | ||
var filter = require('array-filter'); | ||
var capturable = require('./capturable'); | ||
var decorate = require('./decorate'); | ||
@@ -35,3 +34,2 @@ | ||
}); | ||
extend(container, capturable()); | ||
return container; | ||
@@ -38,0 +36,0 @@ }; |
{ | ||
"name": "empower", | ||
"description": "Power Assert feature enhancer for assert function/object", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"author": { | ||
@@ -18,2 +18,3 @@ "name": "Takuto Wada", | ||
"array-some": "^1.0.0", | ||
"define-properties": "^1.1.2", | ||
"escallmatch": "^1.4.1", | ||
@@ -20,0 +21,0 @@ "object-create": "^0.1.0", |
@@ -19,7 +19,2 @@ (function (root, factory) { | ||
// see: https://github.com/Constellation/escodegen/issues/115 | ||
if (typeof define === 'function' && define.amd) { | ||
escodegen = window.escodegen; | ||
} | ||
var weave = function (line) { | ||
@@ -26,0 +21,0 @@ var filepath = '/absolute/path/to/project/test/some_test.js'; |
@@ -85,5 +85,19 @@ (function (root, factory) { | ||
}); | ||
test('_capt method should not be enumerable', function () { | ||
var key, enumerated = {}; | ||
for (key in this.empoweredAssert) { | ||
enumerated[key] = this.empoweredAssert[key]; | ||
} | ||
assert.equal(typeof enumerated['_capt'], 'undefined'); | ||
}); | ||
test('has _expr method', function () { | ||
assert.equal(typeof this.empoweredAssert._expr, 'function'); | ||
}); | ||
test('_expr method should not be enumerable', function () { | ||
var key, enumerated = {}; | ||
for (key in this.empoweredAssert) { | ||
enumerated[key] = this.empoweredAssert[key]; | ||
} | ||
assert.equal(typeof enumerated['_expr'], 'undefined'); | ||
}); | ||
test('has equal method', function () { | ||
@@ -90,0 +104,0 @@ assert.equal(typeof this.empoweredAssert.equal, 'function'); |
@@ -18,7 +18,2 @@ (function (root, factory) { | ||
// see: https://github.com/Constellation/escodegen/issues/115 | ||
if (typeof define === 'function' && define.amd) { | ||
escodegen = window.escodegen; | ||
} | ||
var weave = function (line, patterns) { | ||
@@ -25,0 +20,0 @@ var filepath = '/absolute/path/to/project/test/some_test.js'; |
@@ -5,5 +5,5 @@ var require = { | ||
acorn: '../node_modules/acorn/dist/acorn', | ||
escodegen: '../bower_components/escodegen/escodegen.browser', | ||
escodegen: '../build/escodegen', | ||
espower: "../node_modules/espower/build/espower", | ||
assert: "../bower_components/assert/assert", | ||
assert: '../build/assert', | ||
mocha: "../bower_components/mocha/mocha", | ||
@@ -14,5 +14,2 @@ requirejs: "../bower_components/requirejs/require", | ||
shim: { | ||
assert: { | ||
exports: "assert" | ||
}, | ||
"buster-assertions": { | ||
@@ -19,0 +16,0 @@ exports: "buster" |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
342045
8469
8
+ Addeddefine-properties@^1.1.2