Index: test/mjsunit/harmony/proxies-delete-property.js |
diff --git a/test/mjsunit/harmony/proxies-delete-property.js b/test/mjsunit/harmony/proxies-delete-property.js |
index 27f9c059ccd6815cf4481d11ae33fe563ba3ec0c..f69f25535ca29270f648a8f95c7c529d125e1b8e 100644 |
--- a/test/mjsunit/harmony/proxies-delete-property.js |
+++ b/test/mjsunit/harmony/proxies-delete-property.js |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// Flags: --harmony-proxies --harmony-reflect |
+// Flags: --harmony-proxies --harmony-reflect --allow-natives-syntax |
var properties = |
@@ -188,3 +188,14 @@ TestTrappingFalsish( |
(o, p) => {"use strict"; return delete o[p]}, true); |
TestTrappingFalsish( |
(o, p) => {"use strict"; return Reflect.deleteProperty(o, p)}, false); |
+ |
+(function testDeletePrivateSymbol() { |
+ var symbol = %CreatePrivateSymbol("secret"); |
+ var O = { [symbol]: "value" }; |
+ var proxy = new Proxy(O, { delete(t, name) { assertUnreachable(); }}); |
+ delete proxy[symbol]; |
+ assertEquals(true, Reflect.deleteProperty(proxy, symbol)); |
+ assertEquals("value", O[symbol]); |
+ assertEquals(true, Reflect.deleteProperty(O, symbol)); |
+ assertEquals(undefined, O[symbol]); |
+})(); |