<!doctype html>
<meta charset=utf-8>
<title>Deleting properties from HTMLCollection</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<i id=foo></i>
<script>
let c, expected;
setup(() => {
  // These might be cached anyway, so explicitly use a single object.
  c = document.getElementsByTagName("i");
  expected = document.getElementById("foo");
});

test(() => {
  assert_equals(c[0], expected, "before");
  delete c[0];
  assert_equals(c[0], expected, "after");
}, "Loose id");

test(() => {
  assert_equals(c[0], expected, "before");
  assert_throws_js(TypeError, function() {
    "use strict";
    delete c[0];
  });
  assert_equals(c[0], expected, "after");
}, "Strict id");

test(() => {
  assert_equals(c.foo, expected, "before");
  delete c.foo;
  assert_equals(c.foo, expected, "after");
}, "Loose name");

test(() => {
  assert_equals(c.foo, expected, "before");
  assert_throws_js(TypeError, function() {
    "use strict";
    delete c.foo;
  });
  assert_equals(c.foo, expected, "after");
}, "Strict name");
</script>
