From e22373836954ec63d8b039f3167319c0acd276d3 Mon Sep 17 00:00:00 2001 From: Leonardo Balter Date: Sat, 6 Feb 2016 09:58:36 -0200 Subject: [PATCH 1/4] Remove tests for Proxy enumerate Ref #495 --- .../Proxy/enumerate/call-parameters.js | 30 ---------------- .../built-ins/Proxy/enumerate/null-handler.js | 20 ----------- .../result-not-an-object-throws-boolean.js | 23 ------------ .../result-not-an-object-throws-number.js | 23 ------------ .../result-not-an-object-throws-string.js | 23 ------------ .../result-not-an-object-throws-symbol.js | 24 ------------- .../result-not-an-object-throws-undefined.js | 23 ------------ .../Proxy/enumerate/return-is-abrupt.js | 23 ------------ .../enumerate/return-trap-result-no-value.js | 23 ------------ .../Proxy/enumerate/return-trap-result.js | 36 ------------------- .../Proxy/enumerate/trap-is-not-callable.js | 25 ------------- .../Proxy/enumerate/trap-is-undefined.js | 22 ------------ 12 files changed, 295 deletions(-) delete mode 100644 test/built-ins/Proxy/enumerate/call-parameters.js delete mode 100644 test/built-ins/Proxy/enumerate/null-handler.js delete mode 100644 test/built-ins/Proxy/enumerate/result-not-an-object-throws-boolean.js delete mode 100644 test/built-ins/Proxy/enumerate/result-not-an-object-throws-number.js delete mode 100644 test/built-ins/Proxy/enumerate/result-not-an-object-throws-string.js delete mode 100644 test/built-ins/Proxy/enumerate/result-not-an-object-throws-symbol.js delete mode 100644 test/built-ins/Proxy/enumerate/result-not-an-object-throws-undefined.js delete mode 100644 test/built-ins/Proxy/enumerate/return-is-abrupt.js delete mode 100644 test/built-ins/Proxy/enumerate/return-trap-result-no-value.js delete mode 100644 test/built-ins/Proxy/enumerate/return-trap-result.js delete mode 100644 test/built-ins/Proxy/enumerate/trap-is-not-callable.js delete mode 100644 test/built-ins/Proxy/enumerate/trap-is-undefined.js diff --git a/test/built-ins/Proxy/enumerate/call-parameters.js b/test/built-ins/Proxy/enumerate/call-parameters.js deleted file mode 100644 index b87cbace43..0000000000 --- a/test/built-ins/Proxy/enumerate/call-parameters.js +++ /dev/null @@ -1,30 +0,0 @@ -// 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.11 -description: > - Trap called as trap.call(handler, target) -info: > - [[Enumerate]] () - - 8. Let trapResult be Call(trap, handler, «target»). ----*/ - -var x, _target, _handler; -var target = { - attr: 1 -}; -var handler = { - enumerate: function(t) { - _target = t; - _handler = this; - } -}; -var p = new Proxy(target, handler); - -try { - for (x in p) {} -} catch(e) {} - -assert.sameValue(_handler, handler); -assert.sameValue(_target, target); diff --git a/test/built-ins/Proxy/enumerate/null-handler.js b/test/built-ins/Proxy/enumerate/null-handler.js deleted file mode 100644 index de38e66229..0000000000 --- a/test/built-ins/Proxy/enumerate/null-handler.js +++ /dev/null @@ -1,20 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - 2. If handler is null, throw a TypeError exception. ----*/ - -var x; -var p = Proxy.revocable({}, {}); - -p.revoke(); - -assert.throws(TypeError, function() { - for (x in p.proxy) { - x; - } -}); diff --git a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-boolean.js b/test/built-ins/Proxy/enumerate/result-not-an-object-throws-boolean.js deleted file mode 100644 index 05fcd28b9b..0000000000 --- a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-boolean.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - The result must be an Object ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, { - enumerate: function() { - return true; - } -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-number.js b/test/built-ins/Proxy/enumerate/result-not-an-object-throws-number.js deleted file mode 100644 index acd98fb004..0000000000 --- a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-number.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - The result must be an Object ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, { - enumerate: function() { - return 1; - } -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-string.js b/test/built-ins/Proxy/enumerate/result-not-an-object-throws-string.js deleted file mode 100644 index 71a63f9c7f..0000000000 --- a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-string.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - The result must be an Object ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, { - enumerate: function() { - return ""; - } -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-symbol.js b/test/built-ins/Proxy/enumerate/result-not-an-object-throws-symbol.js deleted file mode 100644 index f17559d24b..0000000000 --- a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-symbol.js +++ /dev/null @@ -1,24 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - The result must be an Object -features: [Symbol] ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, { - enumerate: function() { - return Symbol(); - } -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-undefined.js b/test/built-ins/Proxy/enumerate/result-not-an-object-throws-undefined.js deleted file mode 100644 index 6e0651ce98..0000000000 --- a/test/built-ins/Proxy/enumerate/result-not-an-object-throws-undefined.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - The result must be an Object ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, { - enumerate: function() { - return undefined; - } -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/return-is-abrupt.js b/test/built-ins/Proxy/enumerate/return-is-abrupt.js deleted file mode 100644 index e669e17886..0000000000 --- a/test/built-ins/Proxy/enumerate/return-is-abrupt.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - Trap returns abrupt. -info: > - [[Enumerate]] () - - 8. Let trapResult be Call(trap, handler, «target»). - 9. ReturnIfAbrupt(trapResult). ----*/ - -var x; -var p = new Proxy({}, { - enumerate: function(t) { - throw new Test262Error(); - } -}); - -assert.throws(Test262Error, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/return-trap-result-no-value.js b/test/built-ins/Proxy/enumerate/return-trap-result-no-value.js deleted file mode 100644 index 208150d55d..0000000000 --- a/test/built-ins/Proxy/enumerate/return-trap-result-no-value.js +++ /dev/null @@ -1,23 +0,0 @@ -// 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.11 -description: > - Trap returns an iterator whose IteratorResult does not contain a value - property. -info: > - [[Enumerate]] () - - 11. Return trapResult ----*/ - -var x; -var p = new Proxy([1,2,3], { - enumerate: function(t) { - return {next: function() { return { done:true }; } }; - } -}); - -for (x in p) { - $ERROR("returned iterable interface from trap is flagged as done."); -} diff --git a/test/built-ins/Proxy/enumerate/return-trap-result.js b/test/built-ins/Proxy/enumerate/return-trap-result.js deleted file mode 100644 index 7d4678def2..0000000000 --- a/test/built-ins/Proxy/enumerate/return-trap-result.js +++ /dev/null @@ -1,36 +0,0 @@ -// 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.11 -description: > - Trap returns a iterable result. -info: > - [[Enumerate]] () - - 11. Return trapResult -includes: [compareArray.js] ----*/ - -var x; -var iter = [ - {done: false, value: 1}, - {done: false, value: 2}, - {done: false, value: 3}, - {done: true, value: 42} -]; -var target = { - attr: 1 -}; -var foo = { bar: 1 }; -var p = new Proxy(target, { - enumerate: function() { - return { next: function() { return iter.shift(); } }; - } -}); - -var results = []; -for (x in p) { - results.push(x); -} - -assert(compareArray(results, [1,2,3])); diff --git a/test/built-ins/Proxy/enumerate/trap-is-not-callable.js b/test/built-ins/Proxy/enumerate/trap-is-not-callable.js deleted file mode 100644 index 1af02ef4c2..0000000000 --- a/test/built-ins/Proxy/enumerate/trap-is-not-callable.js +++ /dev/null @@ -1,25 +0,0 @@ -// 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.11 -description: > - Trap is not callable. -info: > - [[Enumerate]] () - - 5. Let trap be GetMethod(handler, "enumerate"). - ... - - 7.3.9 GetMethod (O, P) - - 5. If IsCallable(func) is false, throw a TypeError exception. ----*/ - -var x; -var p = new Proxy({attr:1}, { - enumerate: {} -}); - -assert.throws(TypeError, function() { - for (x in p) {} -}); diff --git a/test/built-ins/Proxy/enumerate/trap-is-undefined.js b/test/built-ins/Proxy/enumerate/trap-is-undefined.js deleted file mode 100644 index 71efad48d2..0000000000 --- a/test/built-ins/Proxy/enumerate/trap-is-undefined.js +++ /dev/null @@ -1,22 +0,0 @@ -// 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.11 -description: > - [[Enumerate]] () - - 7. If trap is undefined, then Return target.[[Enumerate]](). ----*/ - -var x; -var target = { - attr: 1 -}; -var p = new Proxy(target, {}); - -var count = 0; -for (x in p) { - count++; -} - -assert.sameValue(count, 1); From 63c1f1ca880b67e46fe759908f093ead905fb6c2 Mon Sep 17 00:00:00 2001 From: Leonardo Balter Date: Sat, 6 Feb 2016 10:29:00 -0200 Subject: [PATCH 2/4] Remove tests for Reflect.enumerate Ref #495 --- ...does-not-iterate-over-symbol-properties.js | 37 ----------- test/built-ins/Reflect/enumerate/enumerate.js | 17 ----- test/built-ins/Reflect/enumerate/length.js | 17 ----- test/built-ins/Reflect/enumerate/name.js | 22 ------- .../enumerate/return-abrupt-from-result.js | 24 ------- .../Reflect/enumerate/return-iterator.js | 62 ------------------- .../enumerate/target-is-not-object-throws.js | 28 --------- .../enumerate/target-is-symbol-throws.js | 17 ----- 8 files changed, 224 deletions(-) delete mode 100644 test/built-ins/Reflect/enumerate/does-not-iterate-over-symbol-properties.js delete mode 100644 test/built-ins/Reflect/enumerate/enumerate.js delete mode 100644 test/built-ins/Reflect/enumerate/length.js delete mode 100644 test/built-ins/Reflect/enumerate/name.js delete mode 100644 test/built-ins/Reflect/enumerate/return-abrupt-from-result.js delete mode 100644 test/built-ins/Reflect/enumerate/return-iterator.js delete mode 100644 test/built-ins/Reflect/enumerate/target-is-not-object-throws.js delete mode 100644 test/built-ins/Reflect/enumerate/target-is-symbol-throws.js diff --git a/test/built-ins/Reflect/enumerate/does-not-iterate-over-symbol-properties.js b/test/built-ins/Reflect/enumerate/does-not-iterate-over-symbol-properties.js deleted file mode 100644 index 95d038ee5d..0000000000 --- a/test/built-ins/Reflect/enumerate/does-not-iterate-over-symbol-properties.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (C) 2015 Leonardo Balter. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Returned iterator does not iterate over symbol properties. -info: > - 26.1.5 Reflect.enumerate ( target ) - - ... - 2. Return target.[[Enumerate]](). -features: [Symbol] ----*/ - -var iter, step; -var s = Symbol('1'); - -var o = { - 'a': 1, - 'b': 1 -}; - -o[s] = 1; - -iter = Reflect.enumerate(o); - -step = iter.next(); -assert.sameValue(step.value, 'a'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, 'b'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, undefined); -assert.sameValue(step.done, true); diff --git a/test/built-ins/Reflect/enumerate/enumerate.js b/test/built-ins/Reflect/enumerate/enumerate.js deleted file mode 100644 index 845084e5a2..0000000000 --- a/test/built-ins/Reflect/enumerate/enumerate.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Reflect.enumerate is configurable, writable and not enumerable. -info: > - 26.1.5 Reflect.enumerate ( target ) - - 17 ECMAScript Standard Built-in Objects - -includes: [propertyHelper.js] ----*/ - -verifyNotEnumerable(Reflect, 'enumerate'); -verifyWritable(Reflect, 'enumerate'); -verifyConfigurable(Reflect, 'enumerate'); diff --git a/test/built-ins/Reflect/enumerate/length.js b/test/built-ins/Reflect/enumerate/length.js deleted file mode 100644 index 66c9361662..0000000000 --- a/test/built-ins/Reflect/enumerate/length.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Reflect.enumerate.length value and property descriptor -includes: [propertyHelper.js] ----*/ - -assert.sameValue( - Reflect.enumerate.length, 1, - 'The value of `Reflect.enumerate.length` is `1`' -); - -verifyNotEnumerable(Reflect.enumerate, 'length'); -verifyNotWritable(Reflect.enumerate, 'length'); -verifyConfigurable(Reflect.enumerate, 'length'); diff --git a/test/built-ins/Reflect/enumerate/name.js b/test/built-ins/Reflect/enumerate/name.js deleted file mode 100644 index 2f210a14c9..0000000000 --- a/test/built-ins/Reflect/enumerate/name.js +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Reflect.enumerate.name value and property descriptor -info: > - 26.1.5 Reflect.enumerate ( target ) - - 17 ECMAScript Standard Built-in Objects - -includes: [propertyHelper.js] ----*/ - -assert.sameValue( - Reflect.enumerate.name, 'enumerate', - 'The value of `Reflect.enumerate.name` is `"enumerate"`' -); - -verifyNotEnumerable(Reflect.enumerate, 'name'); -verifyNotWritable(Reflect.enumerate, 'name'); -verifyConfigurable(Reflect.enumerate, 'name'); diff --git a/test/built-ins/Reflect/enumerate/return-abrupt-from-result.js b/test/built-ins/Reflect/enumerate/return-abrupt-from-result.js deleted file mode 100644 index ce26191b15..0000000000 --- a/test/built-ins/Reflect/enumerate/return-abrupt-from-result.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Return abrupt result. -info: > - 26.1.5 Reflect.enumerate ( target ) - - ... - 2. Return target.[[Enumerate]](). -features: [Proxy] ----*/ - -var o = {}; -var p = new Proxy(o, { - enumerate: function() { - throw new Test262Error(); - } -}); - -assert.throws(Test262Error, function() { - Reflect.enumerate(p); -}); diff --git a/test/built-ins/Reflect/enumerate/return-iterator.js b/test/built-ins/Reflect/enumerate/return-iterator.js deleted file mode 100644 index 3d7c9f6288..0000000000 --- a/test/built-ins/Reflect/enumerate/return-iterator.js +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Return an iterator. -info: > - 26.1.5 Reflect.enumerate ( target ) - - ... - 2. Return target.[[Enumerate]](). ----*/ - -var iter, step; -var arr = ['a', 'b', 'c']; - -iter = Reflect.enumerate(arr); - -step = iter.next(); -assert.sameValue(step.value, '0'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, '1'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, '2'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, undefined); -assert.sameValue(step.done, true); - -var o = { - 'a': 42, - 'b': 43, - 'c': 44 -}; - -Object.defineProperty(o, 'd', { - enumerable: false, - value: 45 -}); - -iter = Reflect.enumerate(o); - -step = iter.next(); -assert.sameValue(step.value, 'a'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, 'b'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, 'c'); -assert.sameValue(step.done, false); - -step = iter.next(); -assert.sameValue(step.value, undefined); -assert.sameValue(step.done, true); diff --git a/test/built-ins/Reflect/enumerate/target-is-not-object-throws.js b/test/built-ins/Reflect/enumerate/target-is-not-object-throws.js deleted file mode 100644 index 8c0dc61442..0000000000 --- a/test/built-ins/Reflect/enumerate/target-is-not-object-throws.js +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Throws a TypeError if target is not an Object. -info: > - 26.1.5 Reflect.enumerate ( target ) - - 1. If Type(target) is not Object, throw a TypeError exception. - ... ----*/ - -assert.throws(TypeError, function() { - Reflect.enumerate(1); -}); - -assert.throws(TypeError, function() { - Reflect.enumerate(null); -}); - -assert.throws(TypeError, function() { - Reflect.enumerate(undefined); -}); - -assert.throws(TypeError, function() { - Reflect.enumerate(''); -}); diff --git a/test/built-ins/Reflect/enumerate/target-is-symbol-throws.js b/test/built-ins/Reflect/enumerate/target-is-symbol-throws.js deleted file mode 100644 index f8377df5d3..0000000000 --- a/test/built-ins/Reflect/enumerate/target-is-symbol-throws.js +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) 2015 the V8 project authors. All rights reserved. -// This code is governed by the BSD license found in the LICENSE file. -/*--- -es6id: 26.1.5 -description: > - Throws a TypeError if target is a Symbol -info: > - 26.1.5 Reflect.enumerate ( target ) - - 1. If Type(target) is not Object, throw a TypeError exception. - ... -features: [Symbol] ----*/ - -assert.throws(TypeError, function() { - Reflect.enumerate(Symbol(1), 'p'); -}); From 65241f1e932bd1746717efed23c139ad3cb0da06 Mon Sep 17 00:00:00 2001 From: Leonardo Balter Date: Sat, 6 Feb 2016 10:23:46 -0200 Subject: [PATCH 3/4] Add test to assert Proxy enumerate trap is not triggered anymore Ref #495 --- .../enumerate/removed-does-not-trigger.js | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/built-ins/Proxy/enumerate/removed-does-not-trigger.js diff --git a/test/built-ins/Proxy/enumerate/removed-does-not-trigger.js b/test/built-ins/Proxy/enumerate/removed-does-not-trigger.js new file mode 100644 index 0000000000..d4e32e402a --- /dev/null +++ b/test/built-ins/Proxy/enumerate/removed-does-not-trigger.js @@ -0,0 +1,47 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +id: sec-proxy-object-internal-methods-and-internal-slots +description: > + Enumerate trap was removed and it should not be triggered anymore. +includes: [compareArray.js] +features: [Symbol.iterator] +---*/ + +var x; +var target = [1, 2, 3]; +var p = new Proxy(target, { + enumerate: function() { + throw new Test262Error( + "An enumerate property on handler object shouldn't trigger a Proxy trap" + ); + } +}); + +var forInResults = []; +for (x in p) { + forInResults.push(x); +} + +assert(compareArray(forInResults, ["0", "1", "2"])); + +var forOfResults = []; +for (x of p) { + forOfResults.push(x); +} + +assert(compareArray(forOfResults, [1, 2, 3])); + +var itor = p[Symbol.iterator](); +var next = itor.next(); +assert.sameValue(next.value, 1); +assert.sameValue(next.done, false); +next = itor.next(); +assert.sameValue(next.value, 2); +assert.sameValue(next.done, false); +next = itor.next(); +assert.sameValue(next.value, 3); +assert.sameValue(next.done, false); +next = itor.next(); +assert.sameValue(next.value, undefined); +assert.sameValue(next.done, true); From efced6eb32066d7b9de355e5d2f19d9796c8e3a0 Mon Sep 17 00:00:00 2001 From: Leonardo Balter Date: Sat, 6 Feb 2016 10:30:59 -0200 Subject: [PATCH 4/4] Add test to assert Reflect.enumerate is now undefined Ref #495 --- test/built-ins/Reflect/enumerate/undefined.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 test/built-ins/Reflect/enumerate/undefined.js diff --git a/test/built-ins/Reflect/enumerate/undefined.js b/test/built-ins/Reflect/enumerate/undefined.js new file mode 100644 index 0000000000..3d51c2453d --- /dev/null +++ b/test/built-ins/Reflect/enumerate/undefined.js @@ -0,0 +1,10 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +id: sec-reflect-object +description: > + Reflect.enumerate was removed and it's not a function anymore +---*/ + +assert.sameValue(Reflect.hasOwnProperty("enumerate"), false); +assert.sameValue(Reflect.enumerate, undefined);