@jamestalmage/empower-core
v0.1.2
Published
Power Assert feature enhancer for assert function/object
Downloads
3
Maintainers
Readme
empower-core
Power Assert feature enhancer for assert function/object.
DESCRIPTION
empower-core
is a core module of power-assert family. empower-core
enhances standard assert
function or any assert-like object to work with power-assert feature added code instrumented by espower.
empower-core
works with standard assert
function (best fit with Mocha), and also supports assert-like objects/functions provided by various testing frameworks such as QUnit, buster.js, and nodeunit.
Pull-requests, issue reports and patches are always welcomed. See power-assert project for more documentation.
CHANGELOG
See CHANGELOG
API
var enhancedAssert = empowerCore(originalAssert, [options])
| return type |
|:-----------------------|
| function
or object
|
empower-core
function takes function or object(originalAssert
) then returns PowerAssert feature added function/object based on originalAssert
.
If destructive
option is falsy, originalAssert
will be unchanged. If destructive
option is truthy, originalAssert
will be manipulated directly and returned enhancedAssert
will be the same instance of originalAssert
.
originalAssert
| type | default value |
|:-----------------------|:--------------|
| function
or object
| N/A |
originalAssert
is an instance of standard assert
function or any assert-like object. see SUPPORTED ASSERTION LIBRARIES and ASSERTION LIBRARIES KNOWN TO WORK section. Be careful that originalAssert
will be manipulated directly if destructive
option is truthy.
options
| type | default value |
|:---------|:--------------|
| object
| (return value of empowerCore.defaultOptions()
) |
Configuration options. If not passed, default options will be used.
options.destructive
| type | default value |
|:----------|:--------------|
| boolean
| false
|
If truthy, modify originalAssert
destructively.
If false
, empower-core mimics originalAssert as new object/function, so originalAssert
will not be changed. If true
, originalAssert
will be manipulated directly and returned enhancedAssert
will be the same instance of originalAssert
.
options.onError
| type | default value |
|:-----------|:--------------|
| function
| (function defined in empowerCore.defaultOptions()
) |
TBD
options.onSuccess
| type | default value |
|:-----------|:--------------|
| function
| (function defined in empowerCore.defaultOptions()
) |
TBD
options.modifyMessageBeforeAssert
| type | default value |
|:-----------|:--------------|
| function
| N/A |
TBD
options.patterns
| type | default value |
|:--------------------|:--------------------|
| Array
of string
| objects shown below |
[
'assert(value, [message])',
'assert.ok(value, [message])',
'assert.equal(actual, expected, [message])',
'assert.notEqual(actual, expected, [message])',
'assert.strictEqual(actual, expected, [message])',
'assert.notStrictEqual(actual, expected, [message])',
'assert.deepEqual(actual, expected, [message])',
'assert.notDeepEqual(actual, expected, [message])',
'assert.deepStrictEqual(actual, expected, [message])',
'assert.notDeepStrictEqual(actual, expected, [message])'
]
Target patterns for power assert feature instrumentation.
Pattern detection is done by call-signature. Any arguments enclosed in bracket (for example, [message]
) means optional parameters. Without bracket means mandatory parameters.
var options = empowerCore.defaultOptions();
Returns default options object for empowerCore
function. In other words, returns
{
destructive: false,
onError: onError,
onSuccess: onSuccess,
patterns: [
'assert(value, [message])',
'assert.ok(value, [message])',
'assert.equal(actual, expected, [message])',
'assert.notEqual(actual, expected, [message])',
'assert.strictEqual(actual, expected, [message])',
'assert.notStrictEqual(actual, expected, [message])',
'assert.deepEqual(actual, expected, [message])',
'assert.notDeepEqual(actual, expected, [message])',
'assert.deepStrictEqual(actual, expected, [message])',
'assert.notDeepStrictEqual(actual, expected, [message])'
]
}
with sensible default for onError
and onSuccess
function onError (errorEvent) {
var e = errorEvent.error;
if (errorEvent.powerAssertContext && e.name === 'AssertionError') {
e.powerAssertContext = errorEvent.powerAssertContext;
}
throw e;
}
function onSuccess(successEvent) {
return successEvent.returnValue;
}
SUPPORTED ASSERTION LIBRARIES
ASSERTION LIBRARIES KNOWN TO WORK
INSTALL
via npm
Install
$ npm install --save-dev empower-core
use empower-core npm module on browser
empowerCore
function is exported
<script type="text/javascript" src="./path/to/node_modules/empower-core/build/empower-core.js"></script>
via bower
Install
$ bower install --save-dev empower-core
Then load (empowerCore
function is exported)
<script type="text/javascript" src="./path/to/bower_components/empower-core/build/empower-core.js"></script>
AUTHOR
CONTRIBUTORS
LICENSE
Licensed under the MIT license.