mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Popups
synced 2024-11-30 18:34:40 +00:00
01fc2db19f
Bug: T203137 Change-Id: I9fd701cc9575ad250c919d88bf1fe74898b690eb
58 lines
1.3 KiB
JavaScript
Executable file
58 lines
1.3 KiB
JavaScript
Executable file
#!/usr/bin/env node
|
|
const fs = require( 'fs' ),
|
|
mwNodeQunit = require( '@wikimedia/mw-node-qunit' ),
|
|
sinon = mwNodeQunit.sinon,
|
|
QUnitModule = QUnit.module,
|
|
svgInlineLoader = require( 'svg-inline-loader' );
|
|
|
|
require( '@babel/register' )( {
|
|
presets: [
|
|
[ '@babel/preset-env', {
|
|
targets: {
|
|
node: 6
|
|
}
|
|
} ]
|
|
]
|
|
} );
|
|
|
|
require.extensions[ '.svg' ] = ( module, filename ) => {
|
|
const svg = fs.readFileSync( filename, { encoding: 'utf8' } );
|
|
// eslint-disable-next-line no-underscore-dangle
|
|
module._compile( svgInlineLoader( svg ), filename );
|
|
};
|
|
|
|
sinon.config = {
|
|
injectIntoThis: true,
|
|
injectInto: null,
|
|
useFakeTimers: false,
|
|
useFakeServer: false,
|
|
properties: [ 'spy', 'stub', 'mock', 'sandbox' ]
|
|
};
|
|
|
|
mwNodeQunit.setUp();
|
|
|
|
// Override Qunit.module to set up a sinon sandbox automatically
|
|
QUnit.module = function ( name, localEnv ) {
|
|
localEnv = localEnv || {};
|
|
QUnitModule( name, {
|
|
beforeEach: function () {
|
|
const config = Object.assign( {}, sinon.config, {
|
|
injectInto: this
|
|
} );
|
|
sinon.sandbox.create( config );
|
|
|
|
if ( localEnv.beforeEach ) {
|
|
localEnv.beforeEach.call( this );
|
|
}
|
|
},
|
|
afterEach: function () {
|
|
// Interop with old teardown config on mediawiki codebases
|
|
|
|
this.sandbox.restore();
|
|
if ( localEnv.afterEach ) {
|
|
localEnv.afterEach.call( this );
|
|
}
|
|
}
|
|
} );
|
|
};
|