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?
Contributors
These amazing people have contributed code to this project:
License
Unless stated otherwise all works are:
- Copyright © 2015+ pflannery (https://github.com/pflannery)
and licensed under:
- The #{type} License