Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: test/mjsunit/harmony/proxies-with.js

Issue 1516843002: [proxy] fixing harmony/proxy.js tests and improving error messages + some drive-by fixes (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: WIP fix protoype walks with access checks Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/harmony/proxies-with.js
diff --git a/test/mjsunit/harmony/proxies-with.js b/test/mjsunit/harmony/proxies-with.js
index 9c18373863c02fcbec7dac32e8d64ce6bad27437..bd051ac25f3225ad3dd0bedaa7bb3785c7288f5f 100644
--- a/test/mjsunit/harmony/proxies-with.js
+++ b/test/mjsunit/harmony/proxies-with.js
@@ -33,7 +33,7 @@
function TestWithProxies(test, x, y, z) {
test(function(h) { return new Proxy({}, h) }, x, y, z)
test(function(h) {
- return Proxy.createFunction(h, function() {})
+ return new Proxy(function() {}, h)
}, x, y, z)
}
@@ -51,72 +51,40 @@ var key = ""
function TestWithGet2(create, handler) {
var b = "local"
- var p = create(handler)
+ var p = create(handler);
+ assertEquals("onproxy", p.a);
+ assertEquals(undefined, p.b);
+ assertEquals(undefined, p.c);
+
with (p) {
- assertEquals("onproxy", a)
- assertEquals("local", b)
- assertEquals("global", c)
+ assertEquals("onproxy", a);
+ assertEquals("local", b);
+ assertEquals("global", c);
}
var o = Object.create(p, {d: {value: "own"}})
with (o) {
assertEquals("onproxy", a)
- assertEquals("local", b)
+ assertEquals("local", b);
assertEquals("global", c)
assertEquals("own", d)
}
}
TestWithGet({
- get: function(r, k) {
+ get(target, k) {
key = k;
return k === "a" ? "onproxy" : undefined
},
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: "onproxy", configurable: true} : undefined
- }
+ has(target, k) { return k === 'a' }
})
TestWithGet({
get: function(r, k) { return this.get2(r, k) },
get2: function(r, k) { key = k; return k === "a" ? "onproxy" : undefined },
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: "onproxy", configurable: true} : undefined
- }
-})
-
-TestWithGet({
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: "onproxy", configurable: true} : undefined
- }
-})
-
-TestWithGet({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- key = k;
- return k === "a" ? {value: "onproxy", configurable: true} : undefined
- }
+ has(target, k) { return k === 'a' }
})
-TestWithGet({
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ?
- {get value() { return "onproxy" }, configurable: true} : undefined
- }
-})
-
-TestWithGet({
- get: undefined,
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: "onproxy", configurable: true} : undefined
- }
-})
@@ -156,49 +124,37 @@ function onproxy() { receiver = this; return "onproxy" }
TestWithGetCall({
get: function(r, k) { key = k; return k === "a" ? onproxy : undefined },
- getPropertyDescriptor: function(k) {
+ has: function(t, k) {
key = k;
- return k === "a" ? {value: onproxy, configurable: true} : undefined
+ return k === "a";
}
})
TestWithGetCall({
get: function(r, k) { return this.get2(r, k) },
get2: function(r, k) { key = k; return k === "a" ? onproxy : undefined },
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxy, configurable: true} : undefined
- }
-})
-
-TestWithGetCall({
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxy, configurable: true} : undefined
- }
-})
-
-TestWithGetCall({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
+ has: function(t, k) {
key = k;
- return k === "a" ? {value: onproxy, configurable: true} : undefined
+ return k === "a";
}
})
TestWithGetCall({
- getPropertyDescriptor: function(k) {
+ get: function(r, k) { key = k; return k === "a" ? onproxy : undefined },
+ has: function(t, k) {
+ return this.has2(k)
+ },
+ has2: function(k) {
key = k;
- return k === "a" ?
- {get value() { return onproxy }, configurable: true} : undefined
+ return k === "a";
}
})
TestWithGetCall({
- get: undefined,
- getPropertyDescriptor: function(k) {
+ get: function(r, k) { key = k; return k === "a" ? onproxy : undefined },
+ has: function(t, k) {
key = k;
- return k === "a" ? {value: onproxy, configurable: true} : undefined
+ return k === "a";
}
})
@@ -230,50 +186,11 @@ function onproxythrow() { throw "myexn" }
TestWithGetCallThrow({
get: function(r, k) { key = k; return k === "a" ? onproxythrow : undefined },
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxythrow, configurable: true} : undefined
- }
})
TestWithGetCallThrow({
get: function(r, k) { return this.get2(r, k) },
get2: function(r, k) { key = k; return k === "a" ? onproxythrow : undefined },
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxythrow, configurable: true} : undefined
- }
-})
-
-TestWithGetCallThrow({
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxythrow, configurable: true} : undefined
- }
-})
-
-TestWithGetCallThrow({
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- key = k;
- return k === "a" ? {value: onproxythrow, configurable: true} : undefined
- }
-})
-
-TestWithGetCallThrow({
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ?
- {get value() { return onproxythrow }, configurable: true} : undefined
- }
-})
-
-TestWithGetCallThrow({
- get: undefined,
- getPropertyDescriptor: function(k) {
- key = k;
- return k === "a" ? {value: onproxythrow, configurable: true} : undefined
- }
})
@@ -327,79 +244,58 @@ function TestWithSet2(create, handler, hasSetter) {
TestWithSet({
set: function(r, k, v) { key = k; val = v; return true },
- getPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ has: function(t, k) {
+ return k === "a"
}
})
TestWithSet({
set: function(r, k, v) { return this.set2(r, k, v) },
set2: function(r, k, v) { key = k; val = v; return true },
- getPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ has: function(t, k) {
+ return k === "a"
}
})
TestWithSet({
- getPropertyDescriptor: function(k) {
- return this.getOwnPropertyDescriptor(k)
- },
- getOwnPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ has: function(t, k) {
+ return k === "a"
},
- defineProperty: function(k, desc) { key = k; val = desc.value }
+ defineProperty: function(t, k, desc) { key = k; val = desc.value }
})
TestWithSet({
- getOwnPropertyDescriptor: function(k) {
- return this.getPropertyDescriptor2(k)
+ has: function(t, k) {
+ return this.has2(k)
},
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ has2: function(k) {
+ return k === "a"
},
- defineProperty: function(k, desc) { this.defineProperty2(k, desc) },
+ defineProperty: function(t, k, desc) { this.defineProperty2(k, desc) },
defineProperty2: function(k, desc) { key = k; val = desc.value }
})
TestWithSet({
- getOwnPropertyDescriptor: function(k) {
- return this.getPropertyDescriptor(k)
- },
- getPropertyDescriptor: function(k) {
- return k === "a" ?
- {get writable() { return true }, configurable: true} : undefined
+ has: function(t, k) {
+ return k === "a"
},
- defineProperty: function(k, desc) { key = k; val = desc.value }
+ defineProperty: function(t, k, desc) { key = k; val = desc.value }
})
TestWithSet({
- getOwnPropertyDescriptor: function(k) {
- return this.getPropertyDescriptor(k)
+ has: function(t, k) {
+ return this.has2(k) },
+ has2: function(k) {
+ return k === "a"
},
- getPropertyDescriptor: function(k) {
- return k === "a" ?
- {set: function(v) { key = k; val = v }, configurable: true} : undefined
- }
+ set: function(t, k, v) { key = k; val = v; return true }
}, true)
TestWithSet({
- getOwnPropertyDescriptor: function(k) {
- return this.getPropertyDescriptor(k)
+ has: function(t, k) {
+ return k === "a"
},
- getPropertyDescriptor: function(k) { return this.getPropertyDescriptor2(k) },
- getPropertyDescriptor2: function(k) {
- return k === "a" ?
- {set: function(v) { key = k; val = v }, configurable: true} : undefined
- }
-}, true)
-
-TestWithSet({
- getOwnPropertyDescriptor: function(k) { return null },
- getPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
- },
- defineProperty: function(k, desc) { key = k; val = desc.value }
+ defineProperty: function(t, k, desc) { key = k; val = desc.value }
})
@@ -426,26 +322,30 @@ function TestWithSetThrow2(create, handler, hasSetter) {
}
TestWithSetThrow({
- set: function(r, k, v) { throw "myexn" },
- getPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ set: function() { throw "myexn" },
+ has: function(t, k) {
+ return k === "a"
}
})
TestWithSetThrow({
- getPropertyDescriptor: function(k) { throw "myexn" },
+ has: function() { throw "myexn" },
})
TestWithSetThrow({
- getPropertyDescriptor: function(k) {
- return k === "a" ? {writable: true, configurable: true} : undefined
+ has: function() { throw "myexn" },
+})
+
+TestWithSetThrow({
+ has: function(t, k) {
+ return k === "a"
},
- defineProperty: function(k, desc) { throw "myexn" }
+ defineProperty: function() { throw "myexn" }
})
TestWithSetThrow({
- getPropertyDescriptor: function(k) {
- return k === "a" ?
- {set: function() { throw "myexn" }, configurable: true} : undefined
- }
+ has: function(t, k) {
+ return k === "a"
+ },
+ set: function() { throw "myexn" }
}, true)

Powered by Google App Engine
This is Rietveld 408576698