Home | History | Annotate | Download | only in js

Lines Matching refs:writable

27          "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: false})");
29 "JSON.stringify({writable: false, enumerable: false, configurable: false})");
32 shouldBe("JSON.stringify(Object.getOwnPropertyDescriptor(Object.defineProperty({}, 'foo', {value:1, writable: false}), 'foo'))",
33 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: false})");
34 shouldBe("JSON.stringify(Object.getOwnPropertyDescriptor(Object.defineProperty({}, 'foo', {value:1, writable: true}), 'foo'))",
35 "JSON.stringify({value: 1, writable: true, enumerable: false, configurable: false})");
37 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: false})");
39 "JSON.stringify({value: 1, writable: false, enumerable: true, configurable: false})");
41 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: false})");
43 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: true})");
45 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: true})");
59 function createUnconfigurableProperty(o, prop, writable, enumerable) {
60 writable = writable || false;
62 return Object.defineProperty(o, prop, {value:1, configurable:false, writable: writable, enumerable: enumerable});
65 shouldThrow("Object.defineProperty(createUnconfigurableProperty({}, 'foo'), 'foo', {writable: true})");
69 shouldBe("JSON.stringify(Object.getOwnPropertyDescriptor(Object.defineProperty(createUnconfigurableProperty({}, 'foo', true), 'foo', {writable: false}), 'foo'))",
70 "JSON.stringify({value: 1, writable: false, enumerable: false, configurable: false})");
74 shouldThrow("Object.defineProperty({}, 'foo', {writable:true, get: function(){}})");
75 shouldThrow("Object.defineProperty({}, 'foo', {writable:true, set: function(){}})");
89 shouldBeTrue("'foo' in Object.defineProperty(Object.defineProperty({}, 'foo', {set: setter, configurable: true}), 'foo', {writable: true})");
90 shouldBeUndefined("Object.defineProperty(Object.defineProperty({}, 'foo', {set: setter, configurable: true}), 'foo', {writable: true}).foo");
97 shouldBeUndefined("Object.defineProperty(Object.defineProperty({}, 'foo', {get: getter, configurable: true}), 'foo', {writable: true}).foo");
98 shouldBeTrue("'foo' in Object.defineProperty(Object.defineProperty({}, 'foo', {get: getter, configurable: true}), 'foo', {writable: true})");
107 // Should be able to redefine an non-writable property, if it is configurable.
108 shouldBe("Object.defineProperty(Object.defineProperty({}, 'foo', {value: 1, configurable: true, writable: false}), 'foo', {value: 2, configurable: true, writable: true}).foo", "2");
109 shouldBe("Object.defineProperty(Object.defineProperty({}, 'foo', {value: 1, configurable: true, writable: false}), 'foo', {value: 2, configurable: true, writable: false}).foo", "2");
111 // Should be able to redefine an non-writable, non-configurable property, with the same value and attributes.
112 shouldBe("Object.defineProperty(Object.defineProperty({}, 'foo', {value: 1, configurable: false, writable: false}), 'foo', {value: 1, configurable: false, writable: false}).foo", "1");
188 Object.defineProperty(Object.prototype, 'readOnly', {value:true, configurable:true, writable:false})
193 // Check the writable attribute is set correctly when redefining an accessor as a data descriptor.
194 shouldBeFalse("Object.getOwnPropertyDescriptor(Object.defineProperty(Object.defineProperty({}, 'foo', {get: function() { return false; }, configurable: true}), 'foo', {value:false}), 'foo').writable");
195 shouldBeFalse("Object.getOwnPropertyDescriptor(Object.defineProperty(Object.defineProperty({}, 'foo', {get: function() { return false; }, configurable: true}), 'foo', {value:false, writable: false}), 'foo').writable");
196 shouldBeTrue("Object.getOwnPropertyDescriptor(Object.defineProperty(Object.defineProperty({}, 'foo', {get: function() { return false; }, configurable: true}), 'foo', {value:false, writable: true}), 'foo').writable");
199 shouldBeFalse("var a = Object.defineProperty([], 'length', {writable: false}); a[0] = 42; 0 in a;");
200 shouldThrow("'use strict'; var a = Object.defineProperty([], 'length', {writable: false}); a[0] = 42; 0 in a;");
203 shouldBe("var a = Object.defineProperty([42], '0', {writable: false}); a[0] = false; a[0];", '42');
204 shouldThrow("'use strict'; var a = Object.defineProperty([42], '0', {writable: false}); a[0] = false; a[0];");
214 Object.defineProperty(anObj, 'slot2', {value: 'bar', writable: true});