power-assert-formatter
v1.4.1
Published
Power Assert output formatter
Downloads
552,978
Maintainers
Readme
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.