parent
81241af7ac
commit
332937ef24
|
@ -55,6 +55,12 @@ Below is the full list of currently supported modules.
|
|||
|handleUnhandledPromiseRejection|NodeJS handle unhandledPromiseRejection from ZoneAwarePromise|__Zone_disable_handleUnhandledPromiseRejection = true|
|
||||
|crypto|NodeJS patch crypto function as macroTask|__Zone_disable_crypto = true|
|
||||
|
||||
- Test Framework
|
||||
|Module Name|Behavior with zone.js patch|How to disable|
|
||||
|--|--|--|
|
||||
|Jasmine|Jasmine APIs patch|__Zone_disable_jasmine = true|
|
||||
|Mocha|Mocha APIs patch|__Zone_disable_mocha = true|
|
||||
|
||||
- on_property
|
||||
|
||||
You can also disable specific on_properties by setting `__Zone_ignore_on_properties` as follows: for example,
|
||||
|
|
|
@ -8,11 +8,13 @@
|
|||
|
||||
'use strict';
|
||||
|
||||
((context: any) => {
|
||||
const Mocha = context.Mocha;
|
||||
Zone.__load_patch('mocha', (global: any, Zone: ZoneType) => {
|
||||
const Mocha = global.Mocha;
|
||||
|
||||
if (typeof Mocha === 'undefined') {
|
||||
throw new Error('Missing Mocha.js');
|
||||
// return if Mocha is not available, because now zone-testing
|
||||
// will load mocha patch with jasmine/jest patch
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof Zone === 'undefined') {
|
||||
|
@ -97,42 +99,42 @@
|
|||
return modifyArguments(args, syncTest, asyncTest);
|
||||
}
|
||||
|
||||
context.describe = context.suite = Mocha.describe = function() {
|
||||
global.describe = global.suite = Mocha.describe = function() {
|
||||
return mochaOriginal.describe.apply(this, wrapDescribeInZone(arguments));
|
||||
};
|
||||
|
||||
context.xdescribe = context.suite.skip = Mocha.describe.skip = function() {
|
||||
global.xdescribe = global.suite.skip = Mocha.describe.skip = function() {
|
||||
return mochaOriginal.describe.skip.apply(this, wrapDescribeInZone(arguments));
|
||||
};
|
||||
|
||||
context.describe.only = context.suite.only = Mocha.describe.only = function() {
|
||||
global.describe.only = global.suite.only = Mocha.describe.only = function() {
|
||||
return mochaOriginal.describe.only.apply(this, wrapDescribeInZone(arguments));
|
||||
};
|
||||
|
||||
context.it = context.specify = context.test =
|
||||
global.it = global.specify = global.test =
|
||||
Mocha.it = function() { return mochaOriginal.it.apply(this, wrapTestInZone(arguments)); };
|
||||
|
||||
context.xit = context.xspecify = Mocha.it.skip = function() {
|
||||
global.xit = global.xspecify = Mocha.it.skip = function() {
|
||||
return mochaOriginal.it.skip.apply(this, wrapTestInZone(arguments));
|
||||
};
|
||||
|
||||
context.it.only = context.test.only = Mocha.it.only = function() {
|
||||
global.it.only = global.test.only = Mocha.it.only = function() {
|
||||
return mochaOriginal.it.only.apply(this, wrapTestInZone(arguments));
|
||||
};
|
||||
|
||||
context.after = context.suiteTeardown = Mocha.after = function() {
|
||||
global.after = global.suiteTeardown = Mocha.after = function() {
|
||||
return mochaOriginal.after.apply(this, wrapSuiteInZone(arguments));
|
||||
};
|
||||
|
||||
context.afterEach = context.teardown = Mocha.afterEach = function() {
|
||||
global.afterEach = global.teardown = Mocha.afterEach = function() {
|
||||
return mochaOriginal.afterEach.apply(this, wrapTestInZone(arguments));
|
||||
};
|
||||
|
||||
context.before = context.suiteSetup = Mocha.before = function() {
|
||||
global.before = global.suiteSetup = Mocha.before = function() {
|
||||
return mochaOriginal.before.apply(this, wrapSuiteInZone(arguments));
|
||||
};
|
||||
|
||||
context.beforeEach = context.setup = Mocha.beforeEach = function() {
|
||||
global.beforeEach = global.setup = Mocha.beforeEach = function() {
|
||||
return mochaOriginal.beforeEach.apply(this, wrapTestInZone(arguments));
|
||||
};
|
||||
|
||||
|
@ -158,4 +160,4 @@
|
|||
return originalRun.call(this, fn);
|
||||
};
|
||||
})(Mocha.Runner.prototype.runTest, Mocha.Runner.prototype.run);
|
||||
})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);
|
||||
});
|
||||
|
|
|
@ -12,6 +12,7 @@ import '../zone-spec/proxy';
|
|||
import '../zone-spec/sync-test';
|
||||
import '../jasmine/jasmine';
|
||||
import '../jest/jest';
|
||||
import '../mocha/mocha';
|
||||
import './async-testing';
|
||||
import './fake-async';
|
||||
import './promise-testing';
|
||||
|
|
Loading…
Reference in New Issue