text: test("constructor properties", () => {
      expect(Set).toHaveLength(0);
      expect(Set.name).toBe("Set");
  });
  
  describe("errors", () => {
      test("invalid array iterators", () => {
          [-100, Infinity, NaN, {}, 152n].forEach(value => {
              expect(() => {
                  new Set(value);
              }).toThrowWithMessage(TypeError, "is not iterable");
          });
      });
      test("called without new", () => {
          expect(() => {
              Set();
          }).toThrowWithMessage(TypeError, "Set constructor must be called with 'new'");
      });
  });
  
  describe("normal behavior", () => {
      test("typeof", () => {
          expect(typeof new Set()).toBe("object");
      });
  
      test("constructor with single array argument", () => {
          var a = new Set([0, 1, 2]);
          expect(a instanceof Set).toBeTrue();
          expect(a).toHaveSize(3);
          var seen = [false, false, false];
          a.forEach(x => {
              seen[x] = true;
          });
          expect(seen[0] && seen[1] && seen[2]);
      });
  });
  