Skip to content
blanket.js is a simple code coverage library for javascript. Designed to be easy to install and use, for both browser and nodejs.
Branch: master
Clone or download
Alex Seville
Alex Seville Newest version
Latest commit 8047c29 Mar 19, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist Add instrumentSync method Dec 21, 2015
docs Merge pull request #531 from demiurgosoft/patch-1 Feb 18, 2016
src Fix duplicate escaped '&' character issue Mar 19, 2016
tasks Remove grunt.util.async / Fix the path to CoffeeScript compiler Feb 8, 2014
test Add instrumentSync method Dec 21, 2015
.gitignore
.npmignore
.travis.yml
CNAME Create CNAME Nov 19, 2014
CONTRIBUTING.md Update CONTRIBUTING.md Jul 6, 2015
Gruntfile.js Updating falafel dependency to v1.2.0 and some refactor for supportin… Oct 17, 2015
HISTORY.md
LICENSE Update and rename LICENSE-MIT to LICENSE Aug 10, 2015
README.md Update README.md Feb 18, 2016
bower.json
package.json Newest version Mar 19, 2016
testserver.js

README.md

Blanket.js

A seamless JavaScript code coverage library.

FYI: Please note that this repo is not actively maintained

If you're looking for a more active project for JavaScript code coverage, I recommend Istanbul.

Project home page
Blanket_js on Twitter for updates and news.

NOTE: All Pull-Requests must be made into the master branch.

Build Status Dependency Status devDependency Status

NOTE: Blanket.js will throw XHR cross domain errors if run with the file:// protocol. See Special Features Guide for more details and workarounds.

Getting Started

Please see the following guides for using Blanket.js:

Browser

Node

Configuration

Philosophy

Blanket.js is a code coverage tool for javascript that aims to be:

  1. Easy to install
  2. Easy to use
  3. Easy to understand

Blanket.js can be run seamlessly or can be customized for your needs.

Mechanism

JavaScript code coverage compliments your existing JavaScript tests by adding code coverage statistics (which lines of your source code are covered by your tests).

Blanket works in a 3 step process:

  1. Loading your source files
  2. Parsing the code using Esprima and node-falafel, and instrumenting the file by adding code tracking lines.
  3. Connecting to hooks in the test runner to output the coverage details after the tests have completed.

Grunt Integration

You've got a few options for using Grunt with Blanket:

grunt-blanket

A Grunt plugin has been created to allow you to use Blanket like a "traditional" code coverage tool (creating instrumented copies of physical files, as opposed to live-instrumenting). The plugin runs as a standlone project and can be found here.

grunt-blanket-qunit

Runs the QUnit-based Blanket report headlessly using PhantomJS. Results are displayed on the console, and the task will cause Grunt to fail if any of your configured coverage thresholds are not met. Minimum code coverage thresholds can be configured per-file, per-module, and globally.

See:

Compatibility and Features List

See the Compatiblity and Feature List including links to working examples.

Roll your own

  1. git clone git@github.com:alex-seville/blanket.git
  2. npm install
  3. Add your custom build details to the grunt.js file under concat
  4. npm run build

A minified and unminfied copy of the source can be created (see the min task).

Development

All development takes place on the master branch
Your pull request must pass all tests (run npm test to be sure) and respect all existing coverage thresholds

Contact

Feel free to add questions to the Issue tracker, or send them to @blanket_js.

Contributors

Thanks to the many people who have contributed to the project.

And thanks also to: RequireJS, Esprima, node-falafel, Mocha, Qunit.

Revision History

Feb 18-15 - 1.2.2 PR's merged, but this project is not actively maintained.

May 1-13 - 1.1.4
Loaded reverting for grunt-blanket, branch tracking reporter fixed, coverage on-the-go (displaying coverage results while a single page is being used).

Apr 28-13 - 1.1.3 YUI support added with custom adapter (and some wrapping code). CompoundJS support appears to be outside the scope of project.

... (see full revision history)

License

Copyright (c) 2012-2013 Alex Seville
Licensed under the MIT license.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.