michael@0: function trySetProperty(o, p, v, strict) { michael@0: function strictSetProperty() { michael@0: "use strict"; michael@0: o[p] = v; michael@0: } michael@0: try { michael@0: strictSetProperty(); michael@0: } catch (e) { michael@0: return "throw"; michael@0: } michael@0: } michael@0: michael@0: //var objs = [[0], [1]]; michael@0: var objs = [{a: 0}, {a: 1}]; michael@0: michael@0: for (var i = 0, sz = objs.length; i < sz; i++) { michael@0: var o = objs[i]; michael@0: var o2 = Object.preventExtensions(o); michael@0: print(i +' ' + o); michael@0: assertEq(trySetProperty(o, "baz", 17, true), "throw", "object " + i); michael@0: }