2015-06-03 01:14:56 +02:00
|
|
|
// Copyright (C) 2015 the V8 project authors. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
|
|
es6id: 9.5.10
|
|
|
|
description: >
|
|
|
|
[[Delete]] (P)
|
|
|
|
|
|
|
|
A property cannot be reported as deleted, if it exists as a non-configurable
|
|
|
|
own property of the target object.
|
2018-01-05 18:26:51 +01:00
|
|
|
info: |
|
2015-06-03 01:14:56 +02:00
|
|
|
14. If targetDesc.[[Configurable]] is false, throw a TypeError exception.
|
2018-07-21 00:42:39 +02:00
|
|
|
features: [Proxy]
|
2015-06-03 01:14:56 +02:00
|
|
|
---*/
|
|
|
|
|
|
|
|
var target = {};
|
|
|
|
var p = new Proxy(target, {
|
2018-02-15 21:11:36 +01:00
|
|
|
deleteProperty: function() {
|
|
|
|
return true;
|
|
|
|
}
|
2015-06-03 01:14:56 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
Object.defineProperty(target, "attr", {
|
2018-02-15 21:11:36 +01:00
|
|
|
configurable: false,
|
|
|
|
value: 1
|
2015-06-03 01:14:56 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
assert.throws(TypeError, function() {
|
2018-02-15 21:11:36 +01:00
|
|
|
delete p.attr;
|
2015-06-03 01:14:56 +02:00
|
|
|
});
|