| Index: test/mjsunit/harmony/proxies.js
|
| diff --git a/test/mjsunit/harmony/proxies.js b/test/mjsunit/harmony/proxies.js
|
| index f3b355b76da60ff2a173e51e264436bedb1a546b..bebe14e36da33496ea9ffbb1bc4f7ce2c0d5ded8 100644
|
| --- a/test/mjsunit/harmony/proxies.js
|
| +++ b/test/mjsunit/harmony/proxies.js
|
| @@ -46,9 +46,7 @@ function TestWithObjectProxy(test, x, y, z) {
|
| }
|
|
|
| function TestWithFunctionProxy(test, x, y, z) {
|
| - test((handler) => {
|
| - return new Proxy(function() {}, handler)
|
| - }, x, y, z)
|
| + test((handler) => { return new Proxy(() => {}, handler) }, x, y, z)
|
| }
|
|
|
| // ---------------------------------------------------------------------------
|
| @@ -106,8 +104,8 @@ function TestGetOwnPropertyThrow(handler) {
|
|
|
| function TestGetOwnPropertyThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.getOwnPropertyDescriptor(p, "a") }, "myexn")
|
| - assertThrows(function(){ Object.getOwnPropertyDescriptor(p, 77) }, "myexn")
|
| + assertThrowsEquals(() => Object.getOwnPropertyDescriptor(p, "a"), "myexn")
|
| + assertThrowsEquals(() => Object.getOwnPropertyDescriptor(p, 77), "myexn")
|
| }
|
|
|
| TestGetOwnPropertyThrow({
|
| @@ -116,7 +114,7 @@ TestGetOwnPropertyThrow({
|
|
|
| TestGetOwnPropertyThrow({
|
| getOwnPropertyDescriptor: function(k) {
|
| - return this.getPropertyDescriptor2(k)
|
| + return this.getOwnPropertyDescriptor2(k)
|
| },
|
| getOwnPropertyDescriptor2: function(k) { throw "myexn" }
|
| })
|
| @@ -267,18 +265,18 @@ function TestGetThrow(handler) {
|
|
|
| function TestGetThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ p.a }, "myexn")
|
| - assertThrows(function(){ p["b"] }, "myexn")
|
| - assertThrows(function(){ p[3] }, "myexn")
|
| - assertThrows(function(){ (function(n) { p[n] })("c") }, "myexn")
|
| - assertThrows(function(){ (function(n) { p[n] })(99) }, "myexn")
|
| + assertThrowsEquals(function(){ p.a }, "myexn")
|
| + assertThrowsEquals(function(){ p["b"] }, "myexn")
|
| + assertThrowsEquals(function(){ p[3] }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { p[n] })("c") }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { p[n] })(99) }, "myexn")
|
|
|
| var o = Object.create(p, {x: {value: 88}, '4': {value: 89}})
|
| - assertThrows(function(){ o.a }, "myexn")
|
| - assertThrows(function(){ o["b"] }, "myexn")
|
| - assertThrows(function(){ o[3] }, "myexn")
|
| - assertThrows(function(){ (function(n) { o[n] })("c") }, "myexn")
|
| - assertThrows(function(){ (function(n) { o[n] })(99) }, "myexn")
|
| + assertThrowsEquals(function(){ o.a }, "myexn")
|
| + assertThrowsEquals(function(){ o["b"] }, "myexn")
|
| + assertThrowsEquals(function(){ o[3] }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { o[n] })("c") }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { o[n] })(99) }, "myexn")
|
| }
|
|
|
| TestGetThrow({
|
| @@ -358,11 +356,11 @@ function TestSetThrow(handler) {
|
|
|
| function TestSetThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ p.a = 42 }, "myexn")
|
| - assertThrows(function(){ p["b"] = 42 }, "myexn")
|
| - assertThrows(function(){ p[22] = 42 }, "myexn")
|
| - assertThrows(function(){ (function(n) { p[n] = 45 })("c") }, "myexn")
|
| - assertThrows(function(){ (function(n) { p[n] = 46 })(99) }, "myexn")
|
| + assertThrowsEquals(function(){ p.a = 42 }, "myexn")
|
| + assertThrowsEquals(function(){ p["b"] = 42 }, "myexn")
|
| + assertThrowsEquals(function(){ p[22] = 42 }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { p[n] = 45 })("c") }, "myexn")
|
| + assertThrowsEquals(function(){ (function(n) { p[n] = 46 })(99) }, "myexn")
|
| }
|
|
|
| TestSetThrow({
|
| @@ -380,7 +378,9 @@ TestSetThrow({
|
| })
|
|
|
| TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return {writable: true} },
|
| + getOwnPropertyDescriptor: function(k) {
|
| + return {configurable: true, writable: true}
|
| + },
|
| defineProperty: function(k, desc) { throw "myexn" }
|
| })
|
|
|
| @@ -397,7 +397,9 @@ TestSetThrow({
|
| getOwnPropertyDescriptor: function(k) {
|
| return this.getOwnPropertyDescriptor2(k)
|
| },
|
| - getOwnPropertyDescriptor2: function(k) { return {writable: true} },
|
| + getOwnPropertyDescriptor2: function(k) {
|
| + return {configurable: true, writable: true}
|
| + },
|
| defineProperty: function(k, desc) { this.defineProperty2(k, desc) },
|
| defineProperty2: function(k, desc) { throw "myexn" }
|
| })
|
| @@ -409,7 +411,10 @@ TestSetThrow({
|
|
|
| TestSetThrow({
|
| getOwnPropertyDescriptor: function(k) {
|
| - return {get writable() { return true }}
|
| + return {
|
| + get configurable() { return true },
|
| + get writable() { return true }
|
| + }
|
| },
|
| defineProperty: function(k, desc) { throw "myexn" }
|
| })
|
| @@ -419,50 +424,10 @@ TestSetThrow({
|
| })
|
|
|
| TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) {
|
| - return {set: function(v) { throw "myexn" }}
|
| - }
|
| -})
|
| -
|
| -TestSetThrow({
|
| getOwnPropertyDescriptor: function(k) { throw "myexn" },
|
| - getPropertyDescriptor: function(k) { return {writable: true} },
|
| - defineProperty: function(k, desc) { key = k; val = desc.value }
|
| -})
|
| -
|
| -TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return null },
|
| - getPropertyDescriptor: function(k) { throw "myexn" },
|
| - defineProperty: function(k, desc) { key = k; val = desc.value }
|
| -})
|
| -
|
| -TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return null },
|
| - getPropertyDescriptor: function(k) { return {writable: true} },
|
| - defineProperty: function(k, desc) { throw "myexn" }
|
| -})
|
| -
|
| -TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return null },
|
| - getPropertyDescriptor: function(k) {
|
| - return {get writable() { throw "myexn" }}
|
| - },
|
| defineProperty: function(k, desc) { key = k; val = desc.value }
|
| })
|
|
|
| -TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return null },
|
| - getPropertyDescriptor: function(k) {
|
| - return {set: function(v) { throw "myexn" }}
|
| - }
|
| -})
|
| -
|
| -TestSetThrow({
|
| - getOwnPropertyDescriptor: function(k) { return null },
|
| - getPropertyDescriptor: function(k) { return null },
|
| - defineProperty: function(k, desc) { throw "myexn" }
|
| -})
|
| -
|
| TestSetThrow(new Proxy({}, {
|
| get: function(pr, pk) { throw "myexn" }
|
| }))
|
| @@ -577,7 +542,7 @@ function TestDefine2(create, handler) {
|
| assertEquals(undefined, desc.mine) // Arguably a bug in the spec...
|
|
|
| var props = {bla: {get value() { throw "myexn" }}}
|
| - assertThrows(function(){ Object.defineProperties(p, props) }, "myexn")
|
| + assertThrowsEquals(function(){ Object.defineProperties(p, props) }, "myexn")
|
| }
|
|
|
| TestDefine({
|
| @@ -597,22 +562,22 @@ function TestDefineThrow(handler) {
|
|
|
| function TestDefineThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.defineProperty(p, "a", {value: 44})}, "myexn")
|
| - assertThrows(function(){ Object.defineProperty(p, 0, {value: 44})}, "myexn")
|
| + assertThrowsEquals(() => Object.defineProperty(p, "a", {value: 44}), "myexn")
|
| + assertThrowsEquals(() => Object.defineProperty(p, 0, {value: 44}), "myexn")
|
|
|
| var d1 = create({
|
| get: function(r, k) { throw "myexn" },
|
| getOwnPropertyNames: function() { return ["value"] }
|
| })
|
| - assertThrows(function(){ Object.defineProperty(p, "p", d1) }, "myexn")
|
| + assertThrowsEquals(function(){ Object.defineProperty(p, "p", d1) }, "myexn")
|
| var d2 = create({
|
| get: function(r, k) { return 77 },
|
| getOwnPropertyNames: function() { throw "myexn" }
|
| })
|
| - assertThrows(function(){ Object.defineProperty(p, "p", d2) }, "myexn")
|
| + assertThrowsEquals(function(){ Object.defineProperty(p, "p", d2) }, "myexn")
|
|
|
| var props = {bla: {get value() { throw "otherexn" }}}
|
| - assertThrows(function(){ Object.defineProperties(p, props) }, "otherexn")
|
| + assertThrowsEquals(() => Object.defineProperties(p, props), "otherexn")
|
| }
|
|
|
| TestDefineThrow({
|
| @@ -698,15 +663,15 @@ function TestDeleteThrow(handler) {
|
|
|
| function TestDeleteThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ delete p.a }, "myexn")
|
| - assertThrows(function(){ delete p["b"] }, "myexn");
|
| - assertThrows(function(){ delete p[3] }, "myexn");
|
| + assertThrowsEquals(function(){ delete p.a }, "myexn")
|
| + assertThrowsEquals(function(){ delete p["b"] }, "myexn");
|
| + assertThrowsEquals(function(){ delete p[3] }, "myexn");
|
|
|
| (function() {
|
| "use strict"
|
| - assertThrows(function(){ delete p.c }, "myexn")
|
| - assertThrows(function(){ delete p["d"] }, "myexn")
|
| - assertThrows(function(){ delete p[4] }, "myexn");
|
| + assertThrowsEquals(function(){ delete p.c }, "myexn")
|
| + assertThrowsEquals(function(){ delete p["d"] }, "myexn")
|
| + assertThrowsEquals(function(){ delete p[4] }, "myexn");
|
| })()
|
| }
|
|
|
| @@ -779,7 +744,7 @@ function TestDescriptorThrow(handler) {
|
|
|
| function TestDescriptorThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.getOwnPropertyDescriptor(p, "a") }, "myexn")
|
| + assertThrowsEquals(() => Object.getOwnPropertyDescriptor(p, "a"), "myexn")
|
| }
|
|
|
| TestDescriptorThrow({
|
| @@ -907,13 +872,13 @@ function TestInThrow(handler) {
|
|
|
| function TestInThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ return "a" in o }, "myexn")
|
| - assertThrows(function(){ return 99 in o }, "myexn")
|
| - assertThrows(function(){ return !("a" in o) }, "myexn")
|
| - assertThrows(function(){ return ("a" in o) ? 2 : 3 }, "myexn")
|
| - assertThrows(function(){ if ("b" in o) {} }, "myexn")
|
| - assertThrows(function(){ if (!("b" in o)) {} }, "myexn")
|
| - assertThrows(function(){ if ("zzz" in o) {} }, "myexn")
|
| + assertThrowsEquals(function(){ return "a" in p }, "myexn")
|
| + assertThrowsEquals(function(){ return 99 in p }, "myexn")
|
| + assertThrowsEquals(function(){ return !("a" in p) }, "myexn")
|
| + assertThrowsEquals(function(){ return ("a" in p) ? 2 : 3 }, "myexn")
|
| + assertThrowsEquals(function(){ if ("b" in p) {} }, "myexn")
|
| + assertThrowsEquals(function(){ if (!("b" in p)) {} }, "myexn")
|
| + assertThrowsEquals(function(){ if ("zzz" in p) {} }, "myexn")
|
| }
|
|
|
| TestInThrow({
|
| @@ -925,20 +890,6 @@ TestInThrow({
|
| has2: function(k) { throw "myexn" }
|
| })
|
|
|
| -TestInThrow({
|
| - getPropertyDescriptor: function(k) { throw "myexn" }
|
| -})
|
| -
|
| -TestInThrow({
|
| - getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
|
| - getPropertyDescriptor2: function(k) { throw "myexn" }
|
| -})
|
| -
|
| -TestInThrow({
|
| - has: undefined,
|
| - getPropertyDescriptor: function(k) { throw "myexn" }
|
| -})
|
| -
|
| TestInThrow(new Proxy({},{
|
| get: function(pr, pk) { throw "myexn" }
|
| }))
|
| @@ -993,9 +944,9 @@ function TestHasOwnThrow(handler) {
|
|
|
| function TestHasOwnThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.prototype.hasOwnProperty.call(p, "a")},
|
| + assertThrowsEquals(function(){ Object.prototype.hasOwnProperty.call(p, "a")},
|
| "myexn")
|
| - assertThrows(function(){ Object.prototype.hasOwnProperty.call(p, 99)},
|
| + assertThrowsEquals(function(){ Object.prototype.hasOwnProperty.call(p, 99)},
|
| "myexn")
|
| }
|
|
|
| @@ -1182,7 +1133,7 @@ function TestPropertyNamesThrow(handler) {
|
|
|
| function TestPropertyNamesThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.getOwnPropertyNames(p) }, "myexn")
|
| + assertThrowsEquals(function(){ Object.getOwnPropertyNames(p) }, "myexn")
|
| }
|
|
|
| TestPropertyNamesThrow({
|
| @@ -1263,8 +1214,8 @@ function TestKeysThrow(handler) {
|
| }
|
|
|
| function TestKeysThrow2(create, handler) {
|
| - var p = create(handler)
|
| - assertThrows(function(){ Object.keys(p) }, "myexn")
|
| + var p = create(handler);
|
| + assertThrowsEquals(function(){ Object.keys(p) }, "myexn");
|
| }
|
|
|
| TestKeysThrow({
|
| @@ -1283,7 +1234,7 @@ TestKeysThrow({
|
|
|
| TestKeysThrow({
|
| ownKeys() { return this.getOwnPropertyNames2() },
|
| - getOwnPropertyNames2() { return [1, 2] },
|
| + getOwnPropertyNames2() { return ['1', '2'] },
|
| getOwnPropertyDescriptor(k) {
|
| return this.getOwnPropertyDescriptor2(k)
|
| },
|
| @@ -1302,7 +1253,7 @@ TestKeysThrow({
|
|
|
| TestKeysThrow({
|
| get ownKeys() {
|
| - return function() { return [1, 2] }
|
| + return function() { return ['1', '2'] }
|
| },
|
| getOwnPropertyDescriptor(k) { throw "myexn" }
|
| })
|
| @@ -1361,15 +1312,15 @@ TestToString(new Proxy({}, {
|
| function TestToStringThrow(handler) {
|
| var p = new Proxy({}, handler)
|
| assertEquals("[object Object]", Object.prototype.toString.call(p))
|
| - assertThrows(function(){ Object.prototype.toLocaleString.call(p) }, "myexn")
|
| + assertThrowsEquals(() => Object.prototype.toLocaleString.call(p), "myexn")
|
|
|
| var f = new Proxy(function(){}, handler)
|
| assertEquals("[object Function]", Object.prototype.toString.call(f))
|
| - assertThrows(function(){ Object.prototype.toLocaleString.call(f) }, "myexn")
|
| + assertThrowsEquals(() => Object.prototype.toLocaleString.call(f), "myexn")
|
|
|
| var o = Object.create(p)
|
| assertEquals("[object Object]", Object.prototype.toString.call(o))
|
| - assertThrows(function(){ Object.prototype.toLocaleString.call(o) }, "myexn")
|
| + assertThrowsEquals(() => Object.prototype.toLocaleString.call(o), "myexn")
|
| }
|
|
|
| TestToStringThrow({
|
| @@ -1478,10 +1429,10 @@ function TestIsEnumerableThrow(handler) {
|
|
|
| function TestIsEnumerableThrow2(create, handler) {
|
| var p = create(handler)
|
| - assertThrows(function(){ Object.prototype.propertyIsEnumerable.call(p, "a") },
|
| - "myexn")
|
| - assertThrows(function(){ Object.prototype.propertyIsEnumerable.call(p, 11) },
|
| - "myexn")
|
| + assertThrowsEquals(() => Object.prototype.propertyIsEnumerable.call(p, "a"),
|
| + "myexn")
|
| + assertThrowsEquals(() => Object.prototype.propertyIsEnumerable.call(p, 11),
|
| + "myexn")
|
| }
|
|
|
| TestIsEnumerableThrow({
|
|
|