1
0
Fork 0
firefox/js/xpconnect/tests/unit/test_components.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

24 lines
748 B
JavaScript

function run_test() {
var sb1 = Cu.Sandbox("http://www.blah.com");
var sb2 = Cu.Sandbox(this);
var rv;
// non-chrome accessing chrome Components
sb1.C = Components;
checkThrows("C.interfaces", sb1);
checkThrows("C.utils", sb1);
checkThrows("C.classes", sb1);
// non-chrome accessing own Components: shouldn't exist.
Assert.equal(Cu.evalInSandbox("typeof Components", sb1), 'undefined');
// chrome accessing chrome
sb2.C = Components;
rv = Cu.evalInSandbox("C.utils", sb2);
Assert.equal(rv, Cu);
}
function checkThrows(expression, sb) {
var result = Cu.evalInSandbox('(function() { try { ' + expression + '; return "allowed"; } catch (e) { return e.toString(); }})();', sb);
Assert.ok(!!/denied/.exec(result));
}