-1:000000000000 | 0:7610d3de8e2f |
---|---|
1 // Array.of does a strict assignment to the new object's .length. | |
2 // The assignment is strict even if the code we're calling from is not strict. | |
3 | |
4 load(libdir + "asserts.js"); | |
5 | |
6 function Empty() {} | |
7 Empty.of = Array.of; | |
8 Object.defineProperty(Empty.prototype, "length", {get: () => 0}); | |
9 | |
10 var nothing = new Empty; | |
11 nothing.length = 2; // no exception; this is not a strict mode assignment | |
12 | |
13 assertThrowsInstanceOf(() => Empty.of(), TypeError); |