js/src/jit-test/tests/collections/Array-of-length-setter-2.js

changeset 0
6474c204b198
equal deleted inserted replaced
-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);

mercurial