/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function run_test() {
let sb = new Cu.Sandbox("https://example.com",
{ wantGlobalProperties: ["DOMException"] });
Cu.exportFunction(function() {
undefined.foo();
}, sb, { defineAs: "func" }); // By default, the stacks of things running in a sandbox will contain the // actual evalInSandbox() call location. To override that, we have to pass an // explicit filename.
let threw = Cu.evalInSandbox("var threw; try { func(); threw = false; } catch (e) { globalThis.exn = e; threw = true } threw",
sb, "", "FakeFile"); Assert.ok(threw);
// Check what the sandbox could see from this exception. Assert.ok(!Cu.evalInSandbox("exn.filename", sb).includes("/unit/")); Assert.equal(Cu.evalInSandbox("exn.fileName", sb), undefined); Assert.ok(!Cu.evalInSandbox("exn.stack", sb).includes("/unit/")); Assert.equal(Cu.evalInSandbox("exn.message", sb), "An exception was thrown"); Assert.equal(Cu.evalInSandbox("exn.name", sb), "InvalidStateError");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.