File: ve.qunit.local.js

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (39 lines) | stat: -rw-r--r-- 997 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/*!
 * VisualEditor core-only plugin for QUnit.
 *
 * @copyright See AUTHORS.txt
 */

// Extend QUnit.module to provide a fixture element. This used to be in tests/index.html, but
// dynamic test runners like Karma build their own web page.
( function ( QUnit ) {
	const origModule = QUnit.module;

	QUnit.dump.maxDepth = 10;

	QUnit.module = function ( name, localEnv ) {
		localEnv = localEnv || {};
		origModule( name, {
			beforeEach: function () {
				this.fixture = document.createElement( 'div' );
				this.fixture.id = 'qunit-fixture';
				document.body.appendChild( this.fixture );

				this.fixture.appendChild( ve.init.target.$element[ 0 ] );

				if ( localEnv.beforeEach ) {
					return localEnv.beforeEach.apply( this, arguments );
				}
			},
			afterEach: function () {
				let res;
				if ( localEnv.afterEach ) {
					res = localEnv.afterEach.apply( this, arguments );
				}

				this.fixture.parentNode.removeChild( this.fixture );
				return res;
			}
		} );
	};
}( QUnit ) );