Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
Gratipay donate button

A V8 optimisation assertion plugin for chai.

Install

NPM

  • Use: require('chai-v8-optimisation')
  • Install: npm install --save chai-v8-optimisation

Usage

Using with chaijs

var chai = require("chai"),
    v8opt = require("chai-v8-optimisation");
    
chai.use(v8opt);

Running your tests: (in order to analyse optimisation the --allow-natives-syntax flag needs to be passed to node or iojs)

node --allow-natives-syntax your-optimisation-tests.js

Testing your functions:

function fn() {}
expect(fn).optimisation("yes");
expect(fn).optimization("yes"); // american spelling

expect(fn).to.be.optimised;
expect(fn).to.be.optimized;     // american spelling
function fn() {
  try{}catch(e){}
}
expect(fn).optimisation("no");
expect(fn).optimization("no");    // american spelling
expect(fn).not.to.be.optimised;
expect(fn).not.to.be.optimized;   // american spelling

Passing parameters to the function being tested

function fn(a, b, c) {}
expect(fn).optimisation("yes", [1, 2, 3], thisArg);

Other usages for the optimisation method

expect(fn).optimisation("always");  // always-optimised
expect(fn).optimisation("never");   // never-optimised
expect(fn).optimisation("maybe");   // maybe-deoptimised

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

  • pflannery (https://github.com/pflannery)

Sponsors

No sponsors yet! Will you be the first?

Gratipay donate button

Contributors

These amazing people have contributed code to this project:

Become a contributor!

License

Unless stated otherwise all works are:

  • Copyright © 2015+ pflannery (https://github.com/pflannery)

and licensed under:

  • The #{type} License