 result does not implement the HTMLElement interface, throw a TypeError`);

  test_with_window((w) => {
    assert_throws(expectNotSupportedError, () => {
      define_and_create_element(w, class extends w.HTMLElement {
        constructor() { super(); this.setAttribute('a', 'a'); }
      });
    });
  }, `${description}6.1.4. If result\'s attribute list is not empty, then throw a NotSupportedError`);

  test_with_window((w) => {
    assert_throws(expectNotSupportedError, () => {
      define_and_create_ele