<!DOCTYPE html>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/fetch/sec-metadata/resources/helper.js></script>

<!-- Same-origin script -->
<script src="https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/echo-as-script.py"></script>
<script>
  test(t => {
    t.add_cleanup(_ => { header = null; });

    assert_header_equals(header, {
      "cause": undefined,
      "destination": "script",
      "site": "same-origin"
    });
  }, "Same-origin script");
</script>

<!-- Same-site script -->
<script src="https://{{hosts[][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/echo-as-script.py"></script>
<script>
  test(t => {
    t.add_cleanup(_ => { header = null; });

    assert_header_equals(header, {
      "cause": undefined,
      "destination": "script",
      "site": "same-site"
    });
  }, "Same-site script");
</script>

<!-- Cross-site script -->
<script src="https://{{hosts[alt][www]}}:{{ports[https][0]}}/fetch/sec-metadata/resources/echo-as-script.py"></script>
<script>
  test(t => {
    t.add_cleanup(_ => { header = null; });

    assert_header_equals(header, {
      "cause": undefined,
      "destination": "script",
      "site": "cross-site"
    });
  }, "Cross-site script");
</script>
