Index: test/mjsunit/es6/generators-runtime.js |
diff --git a/test/mjsunit/es6/generators-runtime.js b/test/mjsunit/es6/generators-runtime.js |
index 8fa70b62e0f5a691ed84e55be3d6e661ee428013..dcae06c2a68f46a9bce914c4e60d118191fba9b4 100644 |
--- a/test/mjsunit/es6/generators-runtime.js |
+++ b/test/mjsunit/es6/generators-runtime.js |
@@ -36,10 +36,18 @@ var GeneratorFunctionPrototype = Object.getPrototypeOf(g); |
var GeneratorFunction = GeneratorFunctionPrototype.constructor; |
var GeneratorObjectPrototype = GeneratorFunctionPrototype.prototype; |
+ |
+function removePoisoned(a) { |
+ return a.filter(function(k) { |
+ return k !== "arguments" && k !== "caller"; |
+ }); |
+} |
+ |
+ |
// A generator function should have the same set of properties as any |
// other function. |
function TestGeneratorFunctionInstance() { |
- var f_own_property_names = Object.getOwnPropertyNames(f); |
+ var f_own_property_names = removePoisoned(Object.getOwnPropertyNames(f)); |
arv (Not doing code reviews)
2015/03/25 13:36:47
Would this test be cleaner if f was strict?
caitp (gmail)
2015/03/25 13:58:09
a strict ordinary function still has the propertie
|
var g_own_property_names = Object.getOwnPropertyNames(g); |
f_own_property_names.sort(); |
@@ -52,16 +60,7 @@ function TestGeneratorFunctionInstance() { |
var f_desc = Object.getOwnPropertyDescriptor(f, prop); |
var g_desc = Object.getOwnPropertyDescriptor(g, prop); |
assertEquals(f_desc.configurable, g_desc.configurable, prop); |
- if (prop === 'arguments' || prop === 'caller') { |
- // Unlike sloppy functions, which have read-only data arguments and caller |
- // properties, sloppy generators have a poison pill implemented via |
- // accessors |
- assertFalse('writable' in g_desc, prop); |
- assertTrue(g_desc.get instanceof Function, prop); |
- assertEquals(g_desc.get, g_desc.set, prop); |
- } else { |
- assertEquals(f_desc.writable, g_desc.writable, prop); |
- } |
+ assertEquals(f_desc.writable, g_desc.writable, prop); |
assertEquals(f_desc.enumerable, g_desc.enumerable, prop); |
} |
} |