g the prototype");

[null, undefined, 5, "string"].forEach(function (notAnObject) {
  test_with_window(w => {
    // We have to return an object during define(), but not during super()
    let returnNotAnObject = false;

    function TestElement() {
      const o = Reflect.construct(w.HTMLElement, [], new.target);

      assert_equals(Object.getPrototypeOf(new.target), window.Function.prototype);
      assert_equals(Object.getPrototypeOf(o), window.HTMLElement.prototype,
        "Must use the HTMLElement fr