power-assert-formatter
Power Assert output formatter.
DESCRIPTION
power-assert-formatter
is a formatter module for Power Assert output.
Pull-requests, issue reports and patches are always welcomed. See power-assert project for more documentation.
CHANGELOG
See CHANGELOG
API
var createFormatter = require('power-assert-formatter');
Returns creator function for power-assert.
var formatter = createFormatter([options]);
Create formatter function with options. options
argument is optional.
options
type | default value |
---|
object | (return value of createFormatter.defaultOptions() ) |
Configuration options. If not passed, default options will be used.
options.lineDiffThreshold
Threshold to show diff at character level or line level. If number of lines in target string is greater than lineDiffThreshold
, then line diff mode will be used to show diff output.
options.maxDepth
Depth of object traversal. If object depth is greater than maxDepth
, compound object (IOW, Array
or object
) will be pruned with #
like ["foo",#Array#,#Object#]
.
options.outputOffset
Number of spaces inserted at the left in power-assert output.
options.anonymous
type | default value |
---|
string | "Object" |
Type name to show when target object is created by anonymous constructor.
options.circular
type | default value |
---|
string | "#@Circular#" |
Name to show when target object is detected as circular structure.
options.lineSeparator
type | default value |
---|
string | "\n" |
Line separator in power assert output.
options.ambiguousEastAsianCharWidth
Width of 'Ambiguous' characters defined in Unicode Standard Annex #11 EAST ASIAN WIDTH. Configure options.ambiguousEastAsianCharWidth
to treat ambiguous east asian character as fullwidth (= 2
) or narrow (= 1
). Default is 2
.
options.widthOf
Function to calculate width of string.
options.stringify
Function to stringify any target value.
options.diff
Function to create diff string between two strings.
options.writerClass
Constructor Function for output writer class.
options.renderers
type | default value |
---|
Array of (string or function ) | shown below |
[
'./built-in/file',
'./built-in/assertion',
'./built-in/diagram',
'./built-in/binary-expression'
]
Output renderers. Power assert output is rendered by renderers in order. You can create custom renderer and add its constructor function to customize power-assert-output.
[
'./built-in/file',
'./built-in/assertion',
YourCustomRenderer,
'./built-in/binary-expression'
]
var options = createFormatter.defaultOptions();
Returns default options object for createFormatter function. In other words, returns
{
lineDiffThreshold: 5,
maxDepth: 1,
anonymous: 'Object',
circular: '#@Circular#',
lineSeparator: '\n',
ambiguousEastAsianCharWidth: 2,
renderers: [
'./built-in/file',
'./built-in/assertion',
'./built-in/diagram',
'./built-in/binary-expression'
]
};
var formattedText = formatter(powerAssertContext);
Format powerAssertContext
into formattedText
. powerAssertContext
is an internal object structure, containing informations to render. Example of powerAssertContext
is:
{
source: {
content: "assert.equal(foo, bar)",
filepath: "/path/to/some_test.js",
line: 1
},
args: [
{
value: "foo",
events: [
{
value: "foo",
espath: "arguments/0"
}
]
},
{
value: "bar",
events: [
{
value: "bar",
espath: "arguments/1"
}
]
}
]
}
Note that structure of powerAssertContext may change.
INSTALL
via npm
Install
$ npm install --save-dev power-assert-formatter
use power-assert-formatter npm module on browser
powerAssertFormatter
function is exported
<script type="text/javascript" src="./path/to/node_modules/power-assert-formatter/build/power-assert-formatter.js"></script>
via bower
Install
$ bower install --save-dev power-assert-formatter
Then load (powerAssertFormatter
function is exported)
<script type="text/javascript" src="./path/to/bower_components/power-assert-formatter/build/power-assert-formatter.js"></script>
AUTHOR
CONTRIBUTORS
LICENSE
Licensed under the MIT license.