summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/tests/unit/test_subScriptLoader.js
blob: 65947d44385a5c64b86d490b067cd6b6305fdbdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"use strict";

const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

add_task(async function test_executeScriptAfterNuked() {
  let scriptUrl = Services.io.newFileURI(do_get_file("file_simple_script.js")).spec;

  // Load the script for the first time into a sandbox, and then nuke
  // that sandbox.
  let sandbox = Cu.Sandbox(Services.scriptSecurityManager.getSystemPrincipal());
  Services.scriptloader.loadSubScript(scriptUrl, sandbox);
  Cu.nukeSandbox(sandbox);

  // Load the script again into a new sandbox, and make sure it
  // succeeds.
  sandbox = Cu.Sandbox(Services.scriptSecurityManager.getSystemPrincipal());
  Services.scriptloader.loadSubScript(scriptUrl, sandbox);
});