<!DOCTYPE html>
<meta http-equiv="Content-Security-Policy"
      content="script-src 'unsafe-inline' 'nonce-abcd' 'ed25519-qGFmwTxlocg707D1cX4w60iTwtfwbMLf8ITDyfko7s0='">

<title>Subresource Integrity with Ed25519 plus Content Security Policy</title>
<script src="/resources/testharness.js" nonce="abcd"></script>
<script src="/resources/testharnessreport.js" nonce="abcd"></script>
<script src="/resources/sriharness.js" nonce="abcd"></script>

<div id="log"></div>
<div id="container"></div>
<script nonce="abcd">
    // This needs to be the same key as in this doc's content security policy.
    var public_key = "qGFmwTxlocg707D1cX4w60iTwtfwbMLf8ITDyfko7s0=";
    new SRIScriptTest(
        true,
        "Ed25519-with-CSP, passes, valid key, valid signature.",
        "ed25519-signature.js",
        "ed25519-" + public_key
    ).execute();

    new SRIScriptTest(
        false,
        "Ed25519-with-CSP, fails, valid key, invalid signature.",
        "ed25519-broken-signature.js",
        "ed25519-" + public_key
    ).execute();

    // The first of these uses the nonce rather than the signature to pass CSP.
    // That doesn't test anything useful about the Ed25519 feature, but is here
    // to test the precondition for the next test. So if this test passes and
    // the second one fails, then we can be sure that the 2nd test failed only
    // because of the CSP key mismatch, as that's the only difference between
    // the tests.
    var key_not_in_csp = "5MVHFfs/9Ri+YSwH4FwneSFp88t1ljryPoLxdiyTKks=";
    new SRIScriptTest(
        true,
        "Ed25519-with-CSP, passes, alternative key.",
        "ed25519-signature2.js",
        "ed25519-" + key_not_in_csp,
        /* cross origin */ undefined,
        /* nonce */ "abcd").execute();
    new SRIScriptTest(
        false,
        "Ed25519-with-CSP, fails, valid key, valid signature, key not in CSP.",
        "ed25519-signature2.js",
        "ed25519-" + key_not_in_csp,
        ).execute();
</script>


