Skip to content

Commit

Permalink
feat(power-assert-formatter): expose built-in Renderer classes
Browse files Browse the repository at this point in the history
  • Loading branch information
twada committed Sep 14, 2015
1 parent ee64354 commit c19ee54
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 4 deletions.
19 changes: 15 additions & 4 deletions lib/create.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,18 @@ var typeName = require('type-name');
var extend = require('xtend');
var map = require('array-map');

var AssertionRenderer = require('./built-in/assertion');
var FileRenderer = require('./built-in/file');
var DiagramRenderer = require('./built-in/diagram');
var BinaryExpressionRenderer = require('./built-in/binary-expression');

// "Browserify can only analyze static requires. It is not in the scope of browserify to handle dynamic requires."
// https://github.com/substack/node-browserify/issues/377
var defaultRendererClasses = {
'./built-in/file': require('./built-in/file'),
'./built-in/assertion': require('./built-in/assertion'),
'./built-in/diagram': require('./built-in/diagram'),
'./built-in/binary-expression': require('./built-in/binary-expression')
'./built-in/file': FileRenderer,
'./built-in/assertion': AssertionRenderer,
'./built-in/diagram': DiagramRenderer,
'./built-in/binary-expression': BinaryExpressionRenderer
};

function findRendererClass (rendererName, config) {
Expand Down Expand Up @@ -77,6 +82,12 @@ function create (options) {
};
}

create.renderers = {
AssertionRenderer: AssertionRenderer,
FileRenderer: FileRenderer,
DiagramRenderer: DiagramRenderer,
BinaryExpressionRenderer: BinaryExpressionRenderer
};
create.defaultOptions = defaultOptions;
create.stringWidth = stringWidth;
module.exports = create;
26 changes: 26 additions & 0 deletions test/options_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,32 @@ suite('renderers customization', function () {
' '
]);
})();


rendererCustomizationTest('with exposed Renderer classes', {
renderers: [
createFormatter.renderers.FileRenderer,
createFormatter.renderers.AssertionRenderer,
createFormatter.renderers.DiagramRenderer,
createFormatter.renderers.BinaryExpressionRenderer
]
}, [
'comment # test/some_test.js:1',
' ',
' assert.ok(hoge === fuga, "comment")',
' | | | ',
' | | "bar" ',
' | false ',
' "foo" ',
' ',
' --- [string] fuga',
' +++ [string] hoge',
' @@ -1,3 +1,3 @@',
' -bar',
' +foo',
' ',
' '
]);
});

}));

0 comments on commit c19ee54

Please sign in to comment.