Awesome
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');
return type |
---|
function |
Returns creator function for power-assert.
var formatter = createFormatter([options]);
return type |
---|
function |
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
type | default value |
---|---|
number | 5 |
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
type | default value |
---|---|
number | 1 |
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
type | default value |
---|---|
number | 2 |
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
type | default value |
---|---|
number | 2 |
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
type | default value |
---|---|
function | string-width.js |
Function to calculate width of string.
options.stringify
type | default value |
---|---|
function | stringifier module |
Function to stringify any target value.
options.diff
type | default value |
---|---|
function | udiff.js |
Function to create diff string between two strings.
options.writerClass
type | default value |
---|---|
function | string-writer.js |
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);
return type |
---|
string |
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.