<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
  var values = {
    "Image": "image",
    "images": "",
    "scripT": "script",
    "style": "style",
    "": "",
    "foNt": "font",
    "foobar": "",
    "video": "video",
    "audio": "audio",
    "track": "track",
    "fetch": "fetch",
  };
  var link = document.createElement("link");
  var keys = Object.keys(values);
  for (var i = 0; i < keys.length; ++i) {
    test(function() {
      link.as = keys[i];
      assert_equals(link.as, values[keys[i]]);
    }, `Link preload "as" value for "${keys[i]}" should be "${values[keys[i]]}".`);
  }
</script>
