1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-22 16:18:08 +02:00

Replace the testMode parameter in src/pdf.sandbox.js with a constant, set using the pre-processor

This simplifies not just this code, but the unit-tests as well, and should be sufficient as far as I can tell.
Note also that currently, in the *built* `pdf.sandbox.js` file, there's even a line reading `testMode = testMode && false;` because of an accidentally flipped pre-processor statement.

Finally, in the `scripting_spec.js` unit-test, defines `sandboxBundleSrc` at the top of the file to make it easier to find and/or change it when necessary.
This commit is contained in:
Jonas Jenwald 2020-12-05 16:35:49 +01:00
parent c39f1aedb2
commit c549069ebd
2 changed files with 13 additions and 15 deletions

View file

@ -20,15 +20,17 @@ const pdfjsVersion = PDFJSDev.eval("BUNDLE_VERSION");
/* eslint-disable-next-line no-unused-vars */
const pdfjsBuild = PDFJSDev.eval("BUNDLE_BUILD");
const TESTING =
typeof PDFJSDev === "undefined" || PDFJSDev.test("!PRODUCTION || TESTING");
class Sandbox {
constructor(module, testMode) {
constructor(module) {
this._evalInSandbox = module.cwrap("evalInSandbox", null, [
"string",
"int",
]);
this._dispatchEventName = null;
this._module = module;
this._testMode = testMode;
this._alertOnError = 1;
}
@ -55,7 +57,7 @@ class Sandbox {
"delete module;",
"delete data;",
];
if (!this._testMode) {
if (!TESTING) {
code = code.concat(extra.map(name => `delete ${name};`));
code.push("delete debugMe;");
}
@ -86,7 +88,7 @@ class Sandbox {
}
evalForTesting(code, key) {
if (this._testMode) {
if (TESTING) {
this._evalInSandbox(
`try {
send({ id: "${key}", result: ${code} });
@ -99,13 +101,9 @@ class Sandbox {
}
}
function QuickJSSandbox(testMode = false) {
testMode =
testMode &&
(typeof PDFJSDev === "undefined" ||
PDFJSDev.test("!PRODUCTION || TESTING"));
function QuickJSSandbox() {
return ModuleLoader().then(module => {
return new Sandbox(module, testMode);
return new Sandbox(module);
});
}