Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

README.markdown

bunker

Bunker is a module to calculate code coverage using native javascript burrito AST trickery.

build status

code coverage

examples

tiny

var bunker = require('bunker');
var b = bunker('var x = 0; for (var i = 0; i < 30; i++) { x++ }');

var counts = {};

b.on('node', function (node) {
    if (!counts[node.id]) {
        counts[node.id] = { times : 0, node : node };
    }
    counts[node.id].times ++;
});

b.run();

Object.keys(counts).forEach(function (key) {
    var count = counts[key];
    console.log(count.times + ' : ' + count.node.source());
});

output:

$ node example/tiny.js 
1 : var x=0;
31 : i<30
30 : i++
30 : x++;
30 : x++

methods

var bunker = require('bunker');

var b = bunker(src)

Create a new bunker code coverageifier with some source src.

The bunker object b is an EventEmitter that emits 'node' events with two parameters:

b.include(src)

Include some source into the bunker.

b.compile()

Return the source wrapped with burrito.

b.assign(context={})

Assign the statement-tracking functions into context.

b.run(context={})

Run the source using vm.runInNewContext() with some context. The statement-tracking functions will be added to context by assign().

About

code coverage in native javascript

Resources

Packages

No packages published
You can’t perform that action at this time.