1234567891011121314151617181920212223242526272829 |
- /* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
- function run_test() {
- let Cu = Components.utils;
- let sb = new Cu.Sandbox('https://www.example.com',
- { wantGlobalProperties:
- ["crypto", "TextEncoder", "TextDecoder"]
- });
- sb.ok = ok;
- Cu.evalInSandbox('ok(this.crypto);', sb);
- Cu.evalInSandbox('ok(this.crypto.subtle);', sb);
- sb.do_check_eq = do_check_eq;
- let innerPromise = new Promise(r => (sb.test_done = r));
- Cu.evalInSandbox('crypto.subtle.digest("SHA-256", ' +
- ' new TextEncoder("utf-8").encode("abc"))' +
- ' .then(h => do_check_eq(new Uint16Array(h)[0], 30906))' +
- ' .then(test_done);', sb);
- Cu.importGlobalProperties(["crypto"]);
- ok(crypto);
- ok(crypto.subtle);
- let outerPromise = crypto.subtle.digest("SHA-256", new TextEncoder("utf-8").encode("abc"))
- .then(h => do_check_eq(new Uint16Array(h)[0], 30906));
- do_test_pending();
- Promise.all([innerPromise, outerPromise]).then(() => do_test_finished());
- }
|