You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
3.1 KiB
JavaScript
140 lines
3.1 KiB
JavaScript
import { when } from "../Source/Cesium.js";
|
|
import addDefaultMatchers from "./addDefaultMatchers.js";
|
|
import equalsMethodEqualityTester from "./equalsMethodEqualityTester.js";
|
|
|
|
function customizeJasmine(
|
|
env,
|
|
includedCategory,
|
|
excludedCategory,
|
|
webglValidation,
|
|
webglStub,
|
|
release
|
|
) {
|
|
// set this for uniform test resolution across devices
|
|
window.devicePixelRatio = 1;
|
|
|
|
window.specsUsingRelease = release;
|
|
|
|
var originalDescribe = window.describe;
|
|
|
|
window.describe = function (name, suite, categories) {
|
|
// exclude this spec if we're filtering by category and it's not the selected category
|
|
// otherwise if we have an excluded category, exclude this test if the category of this spec matches
|
|
if (includedCategory && categories !== includedCategory) {
|
|
return;
|
|
} else if (excludedCategory && categories === excludedCategory) {
|
|
return;
|
|
}
|
|
|
|
originalDescribe(name, suite, categories);
|
|
};
|
|
|
|
// Override beforeEach(), afterEach(), beforeAll(), afterAll(), and it() to automatically
|
|
// call done() when a returned promise resolves.
|
|
var originalIt = window.it;
|
|
|
|
window.it = function (description, f, timeout, categories) {
|
|
originalIt(
|
|
description,
|
|
function (done) {
|
|
var result = f();
|
|
when(
|
|
result,
|
|
function () {
|
|
done();
|
|
},
|
|
function (e) {
|
|
done.fail("promise rejected: " + e.toString());
|
|
}
|
|
);
|
|
},
|
|
timeout,
|
|
categories
|
|
);
|
|
};
|
|
|
|
var originalBeforeEach = window.beforeEach;
|
|
|
|
window.beforeEach = function (f) {
|
|
originalBeforeEach(function (done) {
|
|
var result = f();
|
|
when(
|
|
result,
|
|
function () {
|
|
done();
|
|
},
|
|
function (e) {
|
|
done.fail("promise rejected: " + e.toString());
|
|
}
|
|
);
|
|
});
|
|
};
|
|
|
|
var originalAfterEach = window.afterEach;
|
|
|
|
window.afterEach = function (f) {
|
|
originalAfterEach(function (done) {
|
|
var result = f();
|
|
when(
|
|
result,
|
|
function () {
|
|
done();
|
|
},
|
|
function (e) {
|
|
done.fail("promise rejected: " + e.toString());
|
|
}
|
|
);
|
|
});
|
|
};
|
|
|
|
var originalBeforeAll = window.beforeAll;
|
|
|
|
window.beforeAll = function (f) {
|
|
originalBeforeAll(function (done) {
|
|
var result = f();
|
|
when(
|
|
result,
|
|
function () {
|
|
done();
|
|
},
|
|
function (e) {
|
|
done.fail("promise rejected: " + e.toString());
|
|
}
|
|
);
|
|
});
|
|
};
|
|
|
|
var originalAfterAll = window.afterAll;
|
|
|
|
window.afterAll = function (f) {
|
|
originalAfterAll(function (done) {
|
|
var result = f();
|
|
when(
|
|
result,
|
|
function () {
|
|
done();
|
|
},
|
|
function (e) {
|
|
done.fail("promise rejected: " + e.toString());
|
|
}
|
|
);
|
|
});
|
|
};
|
|
|
|
if (webglValidation) {
|
|
window.webglValidation = true;
|
|
}
|
|
|
|
if (webglStub) {
|
|
window.webglStub = true;
|
|
}
|
|
|
|
//env.catchExceptions(true);
|
|
|
|
env.beforeEach(function () {
|
|
addDefaultMatchers(!release).call(env);
|
|
env.addCustomEqualityTester(equalsMethodEqualityTester);
|
|
});
|
|
}
|
|
export default customizeJasmine;
|