UNPKG

kibana-123

Version:

Kibana is an open source (Apache Licensed), browser based analytics and search dashboard for Elasticsearch. Kibana is a snap to setup and start using. Kibana strives to be easy to get started with, while also being flexible and powerful, just like Elastic

42 lines (36 loc) 1.38 kB
var sinon = require('sinon'); var autoRelease = require('auto-release-sinon'); require('babel/register')(require('../src/optimize/babel_options').node); // hook into the global afterEach variable to allow autoReleaseSinon to register // an afterEach handler before mocha has exposed itself to the test files. // // This works by telling autoReleaseSinon to use a fake "afterEach" function. // Rather than actually record an afterEach handler the function tracks all of // the calls it received and queues them up in queuedAfterEachArgs. // // The global "afterEach" variable is also tracked, and once it is assigned by mocha // the variable global is reconfigured to point directly to the new value (from mocha) // and all of the queued invocations are executed. var queuedAfterEachArgs = []; Object.defineProperty(global, 'afterEach', { configurable: true, get() { return undefined; }, set(afterEach) { Object.defineProperty(global, 'afterEach', { configurable: true, writable: true, value: afterEach }); queuedAfterEachArgs.forEach(function (args) { afterEach.apply(null, args); }); return global.afterEach; } }); autoRelease.setupAutoRelease(sinon, function () { if (!global.afterEach) { queuedAfterEachArgs.push(Array.prototype.slice.call(arguments)); } else { global.afterEach.apply(this, arguments); } });