diff options
154 files changed, 1293 insertions, 275 deletions
diff --git a/src/class-fields/computed-names.case b/src/class-fields/computed-names.case index fcfaf5321..fc99050d6 100644 --- a/src/class-fields/computed-names.case +++ b/src/class-fields/computed-names.case @@ -63,7 +63,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/src/class-fields/default/cls-decl-after-same-line-async-gen.template b/src/class-fields/default/cls-decl-after-same-line-async-gen.template index 49983da69..b30c14785 100644 --- a/src/class-fields/default/cls-decl-after-same-line-async-gen.template +++ b/src/class-fields/default/cls-decl-after-same-line-async-gen.template @@ -21,10 +21,11 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/src/class-fields/default/cls-decl-after-same-line-async-method.template b/src/class-fields/default/cls-decl-after-same-line-async-method.template index a261640dd..b494494da 100644 --- a/src/class-fields/default/cls-decl-after-same-line-async-method.template +++ b/src/class-fields/default/cls-decl-after-same-line-async-method.template @@ -21,7 +21,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ diff --git a/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template b/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template index 5d5ad3f3e..004559513 100644 --- a/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template +++ b/src/class-fields/default/cls-decl-after-same-line-static-async-gen.template @@ -21,10 +21,11 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/src/class-fields/default/cls-decl-after-same-line-static-async-method.template b/src/class-fields/default/cls-decl-after-same-line-static-async-method.template index f83605e61..9829f1f19 100644 --- a/src/class-fields/default/cls-decl-after-same-line-static-async-method.template +++ b/src/class-fields/default/cls-decl-after-same-line-static-async-method.template @@ -21,7 +21,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ diff --git a/src/class-fields/default/cls-decl-multiple-definitions.template b/src/class-fields/default/cls-decl-multiple-definitions.template index 4aaa9f306..5519f47e0 100644 --- a/src/class-fields/default/cls-decl-multiple-definitions.template +++ b/src/class-fields/default/cls-decl-multiple-definitions.template @@ -43,7 +43,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -54,7 +54,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/src/class-fields/default/cls-decl-multiple-stacked-definitions.template b/src/class-fields/default/cls-decl-multiple-stacked-definitions.template index d078ed5c0..52a7fc637 100644 --- a/src/class-fields/default/cls-decl-multiple-stacked-definitions.template +++ b/src/class-fields/default/cls-decl-multiple-stacked-definitions.template @@ -15,17 +15,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -36,7 +32,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/src/class-fields/default/cls-decl-new-sc-line-generator.template b/src/class-fields/default/cls-decl-new-sc-line-generator.template index c124d126e..db8a636e1 100644 --- a/src/class-fields/default/cls-decl-new-sc-line-generator.template +++ b/src/class-fields/default/cls-decl-new-sc-line-generator.template @@ -14,7 +14,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/src/class-fields/default/cls-expr-after-same-line-async-gen.template b/src/class-fields/default/cls-expr-after-same-line-async-gen.template index 4d5b11967..1d9aae852 100644 --- a/src/class-fields/default/cls-expr-after-same-line-async-gen.template +++ b/src/class-fields/default/cls-expr-after-same-line-async-gen.template @@ -21,10 +21,11 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/src/class-fields/default/cls-expr-after-same-line-async-method.template b/src/class-fields/default/cls-expr-after-same-line-async-method.template index 52a8356a9..18ebd86c7 100644 --- a/src/class-fields/default/cls-expr-after-same-line-async-method.template +++ b/src/class-fields/default/cls-expr-after-same-line-async-method.template @@ -21,7 +21,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ diff --git a/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template b/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template index f1fdb4f45..2ce7c13c8 100644 --- a/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template +++ b/src/class-fields/default/cls-expr-after-same-line-static-async-gen.template @@ -21,10 +21,11 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/src/class-fields/default/cls-expr-after-same-line-static-async-method.template b/src/class-fields/default/cls-expr-after-same-line-static-async-method.template index caa1f2f23..007288a4f 100644 --- a/src/class-fields/default/cls-expr-after-same-line-static-async-method.template +++ b/src/class-fields/default/cls-expr-after-same-line-static-async-method.template @@ -21,7 +21,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); /*{ assertions }*/ diff --git a/src/class-fields/default/cls-expr-multiple-definitions.template b/src/class-fields/default/cls-expr-multiple-definitions.template index a5440f626..be05aed55 100644 --- a/src/class-fields/default/cls-expr-multiple-definitions.template +++ b/src/class-fields/default/cls-expr-multiple-definitions.template @@ -43,7 +43,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -54,7 +54,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/src/class-fields/default/cls-expr-multiple-stacked-definitions.template b/src/class-fields/default/cls-expr-multiple-stacked-definitions.template index bd0d63c78..ee9553f6e 100644 --- a/src/class-fields/default/cls-expr-multiple-stacked-definitions.template +++ b/src/class-fields/default/cls-expr-multiple-stacked-definitions.template @@ -15,17 +15,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -36,7 +32,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/src/class-fields/default/cls-expr-new-sc-line-generator.template b/src/class-fields/default/cls-expr-new-sc-line-generator.template index 5ddf98c7c..50dafb9f3 100644 --- a/src/class-fields/default/cls-expr-new-sc-line-generator.template +++ b/src/class-fields/default/cls-expr-new-sc-line-generator.template @@ -14,7 +14,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/src/class-fields/string-literal-names.case b/src/class-fields/string-literal-names.case index 98e37d5d0..87260a46f 100644 --- a/src/class-fields/string-literal-names.case +++ b/src/class-fields/string-literal-names.case @@ -26,6 +26,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-after-same-line-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-gen-computed-names.js index 491a1ce0b..9f9b7ef8b 100644 --- a/test/language/expressions/class/fields-after-same-line-gen-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js index 9f5829ef8..6f19d71f9 100644 --- a/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-after-same-line-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-method-computed-names.js index 66f1d7123..8fe754570 100644 --- a/test/language/expressions/class/fields-after-same-line-method-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js index c14fcca44..5300a0c8d 100644 --- a/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js index 679fb40c3..c3b243b1e 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js index e7af43a6c..243497857 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js index 16404bf45..d8d86abf2 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(c, "c", { C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js index 8f3b53926..1d2c9a037 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); @@ -53,5 +53,6 @@ verifyProperty(c, "a", { }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js index 318160545..811a82683 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js index de54ebf12..5032f3356 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(C, "c", { C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js index 02dabe035..679ea63d9 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-gen-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, @@ -47,5 +77,6 @@ verifyProperty(c, "a", { }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js index 8f44260cf..74fd21f74 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js index 1375c6ab9..92b1ebe4f 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js index 7dc6938ce..6c4f1eee1 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js index 0237b05a4..efda60ad8 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js index 836856c7e..d4a1a2f5d 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js index 7c87e5a94..14ad36f9a 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); diff --git a/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js index ca6964e73..6cdf72240 100644 --- a/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-async-method-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js index 1debe00c7..a49779eae 100644 --- a/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js index c5bf79226..20042a5ef 100644 --- a/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js b/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js index d081cad3d..37be15ceb 100644 --- a/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js b/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js index 63258c1da..3dc5dfd8f 100644 --- a/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js +++ b/test/language/expressions/class/fields-after-same-line-static-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-multiple-definitions-computed-names.js b/test/language/expressions/class/fields-multiple-definitions-computed-names.js index 6f7b60ac1..866ec5701 100644 --- a/test/language/expressions/class/fields-multiple-definitions-computed-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-computed-names.js @@ -58,7 +58,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -69,7 +69,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -112,7 +112,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js index db85c6797..bb8fe34cc 100644 --- a/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-computed-symbol-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-definitions-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-literal-names.js index 0cafb2655..03ebe8393 100644 --- a/test/language/expressions/class/fields-multiple-definitions-literal-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-literal-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js b/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js index fd2b7dab5..6719e95bc 100644 --- a/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-static-computed-names.js @@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js index 4f4e35252..188a88cc4 100644 --- a/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-static-computed-symbol-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js index 2cdcf7983..746e8d0ac 100644 --- a/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-static-literal-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js b/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js index 3f903444c..907c3c000 100644 --- a/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js +++ b/test/language/expressions/class/fields-multiple-definitions-string-literal-names.js @@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -77,6 +77,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js index 6ab20d6d4..697e48095 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-names.js @@ -30,17 +30,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -51,7 +47,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -94,7 +90,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js index 5af36a0ba..a41880319 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-computed-symbol-names.js @@ -31,17 +31,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js index 477c8b1a6..a95a1a467 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-literal-names.js @@ -31,17 +31,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js index d20ec86df..5e683cf18 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-names.js @@ -29,17 +29,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js index 499133499..ae4d6fb0e 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js @@ -31,17 +31,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js index f98eac325..5fd30b12a 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-static-literal-names.js @@ -31,17 +31,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js b/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js index 019ed44b8..7c344387e 100644 --- a/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js +++ b/test/language/expressions/class/fields-multiple-stacked-definitions-string-literal-names.js @@ -29,17 +29,13 @@ var C = class { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -59,6 +55,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js b/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js index 5b0cd0d30..13acd9c02 100644 --- a/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js +++ b/test/language/expressions/class/fields-new-no-sc-line-method-computed-names.js @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js b/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js index e2edc73de..fd1e0abd9 100644 --- a/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js +++ b/test/language/expressions/class/fields-new-no-sc-line-method-string-literal-names.js @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js b/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js index e75fbbe10..7d96e0da3 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-computed-names.js @@ -29,7 +29,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js b/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js index 6c0aabf44..b50258a4e 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-computed-symbol-names.js @@ -30,7 +30,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js index 4a5db1fd9..658720f81 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-literal-names.js @@ -30,7 +30,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js index 5f63c71e5..605edea85 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-names.js @@ -28,7 +28,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js index 1ea62fd0b..f4fcaed52 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-static-computed-symbol-names.js @@ -30,7 +30,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js index 47c8b76ba..d4c00a46c 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-static-literal-names.js @@ -30,7 +30,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js b/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js index f3bc08f79..835a3b47f 100644 --- a/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-new-sc-line-gen-string-literal-names.js @@ -28,7 +28,7 @@ var C = class { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-new-sc-line-method-computed-names.js b/test/language/expressions/class/fields-new-sc-line-method-computed-names.js index 8ce4baee4..48be4af9c 100644 --- a/test/language/expressions/class/fields-new-sc-line-method-computed-names.js +++ b/test/language/expressions/class/fields-new-sc-line-method-computed-names.js @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js b/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js index 93d601b36..71af39f5f 100644 --- a/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js +++ b/test/language/expressions/class/fields-new-sc-line-method-string-literal-names.js @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-regular-definitions-computed-names.js b/test/language/expressions/class/fields-regular-definitions-computed-names.js index 82d7b4d4c..5a07b8ac3 100644 --- a/test/language/expressions/class/fields-regular-definitions-computed-names.js +++ b/test/language/expressions/class/fields-regular-definitions-computed-names.js @@ -66,7 +66,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-regular-definitions-string-literal-names.js b/test/language/expressions/class/fields-regular-definitions-string-literal-names.js index d89374548..15e5eeded 100644 --- a/test/language/expressions/class/fields-regular-definitions-string-literal-names.js +++ b/test/language/expressions/class/fields-regular-definitions-string-literal-names.js @@ -31,6 +31,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-same-line-async-gen-computed-names.js b/test/language/expressions/class/fields-same-line-async-gen-computed-names.js index b4d5d959d..35faa571e 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-computed-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js index ba9f07753..6f443668d 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-literal-names.js index 9ca9bb0ee..18ab2e7af 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(c, "c", { c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js index 1564125bc..dd4de31ce 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); @@ -53,5 +53,6 @@ verifyProperty(c, "a", { }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js index 12e68a502..f96e1c2ad 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js index e1232602c..19a993706 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(C, "c", { c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js b/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js index 1080c94d0..04ae2f464 100644 --- a/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-gen-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, @@ -47,5 +77,6 @@ verifyProperty(c, "a", { }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/expressions/class/fields-same-line-async-method-computed-names.js b/test/language/expressions/class/fields-same-line-async-method-computed-names.js index 7f985aa81..ab1ab5bd8 100644 --- a/test/language/expressions/class/fields-same-line-async-method-computed-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js index 42033f831..eed1fe63e 100644 --- a/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/expressions/class/fields-same-line-async-method-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-literal-names.js index 4303772cb..c6c30d31f 100644 --- a/test/language/expressions/class/fields-same-line-async-method-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); diff --git a/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js b/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js index 578ee5b30..72bafc727 100644 --- a/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); diff --git a/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js b/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js index 12abddd46..67246b85b 100644 --- a/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js index f3dee10c2..8962f9229 100644 --- a/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); diff --git a/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js b/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js index c8825576b..991377989 100644 --- a/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js +++ b/test/language/expressions/class/fields-same-line-async-method-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-same-line-gen-computed-names.js b/test/language/expressions/class/fields-same-line-gen-computed-names.js index 98a34d18b..19821fef5 100644 --- a/test/language/expressions/class/fields-same-line-gen-computed-names.js +++ b/test/language/expressions/class/fields-same-line-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-same-line-gen-string-literal-names.js b/test/language/expressions/class/fields-same-line-gen-string-literal-names.js index 0818c6fb8..74fe1e446 100644 --- a/test/language/expressions/class/fields-same-line-gen-string-literal-names.js +++ b/test/language/expressions/class/fields-same-line-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-same-line-method-computed-names.js b/test/language/expressions/class/fields-same-line-method-computed-names.js index ec3aba7db..465cd9b67 100644 --- a/test/language/expressions/class/fields-same-line-method-computed-names.js +++ b/test/language/expressions/class/fields-same-line-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-same-line-method-string-literal-names.js b/test/language/expressions/class/fields-same-line-method-string-literal-names.js index fd9437256..b337a6f15 100644 --- a/test/language/expressions/class/fields-same-line-method-string-literal-names.js +++ b/test/language/expressions/class/fields-same-line-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js b/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js index 54103874b..6a0d23c75 100644 --- a/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js +++ b/test/language/expressions/class/fields-wrapped-in-sc-computed-names.js @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js b/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js index e5249289a..180704ff6 100644 --- a/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js +++ b/test/language/expressions/class/fields-wrapped-in-sc-string-literal-names.js @@ -33,6 +33,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-after-same-line-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-gen-computed-names.js index 03a21dbcc..09acb20db 100644 --- a/test/language/statements/class/fields-after-same-line-gen-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js index 825c473e1..2d57de48a 100644 --- a/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-after-same-line-method-computed-names.js b/test/language/statements/class/fields-after-same-line-method-computed-names.js index 4ff63df66..57cab968c 100644 --- a/test/language/statements/class/fields-after-same-line-method-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-after-same-line-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-method-string-literal-names.js index 9573c0764..e79c290e0 100644 --- a/test/language/statements/class/fields-after-same-line-method-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js index bf786bbe0..e3633f357 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js index c6d00fc16..99e5cd894 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js index 8f7963036..fbad9e08e 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(c, "c", { C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js index 1c0d59cb2..7b7920148 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); @@ -53,5 +53,6 @@ verifyProperty(c, "a", { }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js index 01e7bdaa2..de1b63107 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js index cda79389b..e50ec23d7 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(C, "c", { C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js index c0ce0a9a1..a9723d07a 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-gen-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, @@ -47,5 +77,6 @@ verifyProperty(c, "a", { }); C.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js index cdabce1c3..83d150da0 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js index a5f850c52..454d57bf6 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js index 65292771c..1a58bf8fd 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js index bfbbba4f4..4de996cfd 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js index 1d06240c5..d1ab23213 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js index 6cad2880d..c8112059c 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); diff --git a/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js index 9f7c8b1f6..181525090 100644 --- a/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-async-method-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js b/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js index 8b57c85e4..70afd6a1a 100644 --- a/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js index f80e495c7..f38b7b754 100644 --- a/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-after-same-line-static-method-computed-names.js b/test/language/statements/class/fields-after-same-line-static-method-computed-names.js index ad303b78e..cb759fe52 100644 --- a/test/language/statements/class/fields-after-same-line-static-method-computed-names.js +++ b/test/language/statements/class/fields-after-same-line-static-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js b/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js index 1778f50d0..abcd24faf 100644 --- a/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js +++ b/test/language/statements/class/fields-after-same-line-static-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-multiple-definitions-computed-names.js b/test/language/statements/class/fields-multiple-definitions-computed-names.js index 7e5a8a52f..19a0cb3af 100644 --- a/test/language/statements/class/fields-multiple-definitions-computed-names.js +++ b/test/language/statements/class/fields-multiple-definitions-computed-names.js @@ -58,7 +58,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -69,7 +69,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -112,7 +112,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js b/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js index 448aa839c..c6df1b554 100644 --- a/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js +++ b/test/language/statements/class/fields-multiple-definitions-computed-symbol-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-definitions-literal-names.js b/test/language/statements/class/fields-multiple-definitions-literal-names.js index c636d5078..2ae740ab8 100644 --- a/test/language/statements/class/fields-multiple-definitions-literal-names.js +++ b/test/language/statements/class/fields-multiple-definitions-literal-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-definitions-static-computed-names.js b/test/language/statements/class/fields-multiple-definitions-static-computed-names.js index a325b8f34..97a27c94c 100644 --- a/test/language/statements/class/fields-multiple-definitions-static-computed-names.js +++ b/test/language/statements/class/fields-multiple-definitions-static-computed-names.js @@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js b/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js index a9e390a24..93268a276 100644 --- a/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-multiple-definitions-static-computed-symbol-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-definitions-static-literal-names.js b/test/language/statements/class/fields-multiple-definitions-static-literal-names.js index ad72e5d79..7dd36a89f 100644 --- a/test/language/statements/class/fields-multiple-definitions-static-literal-names.js +++ b/test/language/statements/class/fields-multiple-definitions-static-literal-names.js @@ -59,7 +59,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -70,7 +70,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-definitions-string-literal-names.js b/test/language/statements/class/fields-multiple-definitions-string-literal-names.js index b49dae899..b4cf0ca7b 100644 --- a/test/language/statements/class/fields-multiple-definitions-string-literal-names.js +++ b/test/language/statements/class/fields-multiple-definitions-string-literal-names.js @@ -57,7 +57,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -77,6 +77,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js index 276b70ef0..dde07e8b2 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-computed-names.js @@ -30,17 +30,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -51,7 +47,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -94,7 +90,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js index 932aaf6b6..ea00d956e 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-computed-symbol-names.js @@ -31,17 +31,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js index d4a699ba1..2e2019c59 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-literal-names.js @@ -31,17 +31,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js index 3cab98aad..766e1f8b3 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-names.js @@ -29,17 +29,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js index b6fe6ec3f..a90a3a747 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-computed-symbol-names.js @@ -31,17 +31,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js index a64ed4cf1..c6749a97b 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-static-literal-names.js @@ -31,17 +31,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -52,7 +48,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); diff --git a/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js b/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js index e312f2ab9..a7560047a 100644 --- a/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js +++ b/test/language/statements/class/fields-multiple-stacked-definitions-string-literal-names.js @@ -29,17 +29,13 @@ class C { var c = new C(); -assert.sameValue(c.m(), 42); -assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); -assert.sameValue(c.m, C.prototype.m); - assert.sameValue(c.foo, "foobar"); assert.sameValue(Object.hasOwnProperty.call(C, "foo"), false); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "foo"), false); verifyProperty(c, "foo", { value: "foobar", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -50,7 +46,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "bar"), false); verifyProperty(c, "bar", { value: "barbaz", - enumerable: false, + enumerable: true, configurable: true, writable: true, }); @@ -59,6 +55,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js b/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js index 879c594fa..3ed70dc82 100644 --- a/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js +++ b/test/language/statements/class/fields-new-no-sc-line-method-computed-names.js @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js b/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js index 9312e0d0a..f32d2fb8f 100644 --- a/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js +++ b/test/language/statements/class/fields-new-no-sc-line-method-string-literal-names.js @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-new-sc-line-gen-computed-names.js b/test/language/statements/class/fields-new-sc-line-gen-computed-names.js index 991abbab8..e0843abe4 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-computed-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-computed-names.js @@ -29,7 +29,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js b/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js index d2de94d67..dbb97b58e 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-computed-symbol-names.js @@ -30,7 +30,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/statements/class/fields-new-sc-line-gen-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-literal-names.js index b4722a67b..ba61d8776 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-literal-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-literal-names.js @@ -30,7 +30,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js index b37919784..7736f5f28 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-static-computed-names.js @@ -28,7 +28,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js index 4f135922f..7e9ed072b 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-static-computed-symbol-names.js @@ -30,7 +30,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js index 17c11a6ce..085706129 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-static-literal-names.js @@ -30,7 +30,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); diff --git a/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js b/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js index 85ea958d0..3af49c3e7 100644 --- a/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js +++ b/test/language/statements/class/fields-new-sc-line-gen-string-literal-names.js @@ -28,7 +28,7 @@ class C { var c = new C(); -assert.sameValue(c.g().next().value, 42); +assert.sameValue(c.m().next().value, 42); assert.sameValue(c.m, C.prototype.m); assert.sameValue(Object.hasOwnProperty.call(c, "m"), false); @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-new-sc-line-method-computed-names.js b/test/language/statements/class/fields-new-sc-line-method-computed-names.js index ccc1a75c8..068460510 100644 --- a/test/language/statements/class/fields-new-sc-line-method-computed-names.js +++ b/test/language/statements/class/fields-new-sc-line-method-computed-names.js @@ -77,7 +77,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js b/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js index 28988a4ac..e7ec07376 100644 --- a/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js +++ b/test/language/statements/class/fields-new-sc-line-method-string-literal-names.js @@ -42,6 +42,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-regular-definitions-computed-names.js b/test/language/statements/class/fields-regular-definitions-computed-names.js index da34a7e64..bdb952675 100644 --- a/test/language/statements/class/fields-regular-definitions-computed-names.js +++ b/test/language/statements/class/fields-regular-definitions-computed-names.js @@ -66,7 +66,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-regular-definitions-string-literal-names.js b/test/language/statements/class/fields-regular-definitions-string-literal-names.js index 3de28394e..1b94eced5 100644 --- a/test/language/statements/class/fields-regular-definitions-string-literal-names.js +++ b/test/language/statements/class/fields-regular-definitions-string-literal-names.js @@ -31,6 +31,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-same-line-async-gen-computed-names.js b/test/language/statements/class/fields-same-line-async-gen-computed-names.js index d5a9a0894..36e849a3a 100644 --- a/test/language/statements/class/fields-same-line-async-gen-computed-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,12 +75,13 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js index 12ed08d06..6b5438594 100644 --- a/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-literal-names.js index b42348da5..b53f1eb39 100644 --- a/test/language/statements/class/fields-same-line-async-gen-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(c, "c", { c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js b/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js index 725743a1c..36cc96868 100644 --- a/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); @@ -53,5 +53,6 @@ verifyProperty(c, "a", { }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js index ddf3c7066..19ef04122 100644 --- a/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); @@ -67,5 +67,6 @@ assert.sameValue(Object.hasOwnProperty.call(C, "y"), false); assert.sameValue(Object.hasOwnProperty.call(c, "y"), false); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js index 6958ec40e..43f38752c 100644 --- a/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -70,5 +70,6 @@ verifyProperty(C, "c", { c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js b/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js index 9b8b18af1..37786f7fd 100644 --- a/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-gen-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, @@ -47,5 +77,6 @@ verifyProperty(c, "a", { }); c.m().next().then(function(v) { - assert.sameValue(v, 42); + assert.sameValue(v.value, 42); + assert.sameValue(v.done, true); }, $DONE).then($DONE, $DONE); diff --git a/test/language/statements/class/fields-same-line-async-method-computed-names.js b/test/language/statements/class/fields-same-line-async-method-computed-names.js index b662f133f..6f4bde679 100644 --- a/test/language/statements/class/fields-same-line-async-method-computed-names.js +++ b/test/language/statements/class/fields-same-line-async-method-computed-names.js @@ -35,7 +35,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); @@ -75,7 +75,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js index 56be7bd43..10b9a5511 100644 --- a/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js +++ b/test/language/statements/class/fields-same-line-async-method-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/statements/class/fields-same-line-async-method-literal-names.js b/test/language/statements/class/fields-same-line-async-method-literal-names.js index 0b6f6da91..7c1a009b4 100644 --- a/test/language/statements/class/fields-same-line-async-method-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-method-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); diff --git a/test/language/statements/class/fields-same-line-async-method-static-computed-names.js b/test/language/statements/class/fields-same-line-async-method-static-computed-names.js index 355ab2ccd..ee88f33e7 100644 --- a/test/language/statements/class/fields-same-line-async-method-static-computed-names.js +++ b/test/language/statements/class/fields-same-line-async-method-static-computed-names.js @@ -34,7 +34,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); diff --git a/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js b/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js index 9e81020f9..0e3cb4461 100644 --- a/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js +++ b/test/language/statements/class/fields-same-line-async-method-static-computed-symbol-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, x), false); assert.sameValue(Object.hasOwnProperty.call(C, x), false); diff --git a/test/language/statements/class/fields-same-line-async-method-static-literal-names.js b/test/language/statements/class/fields-same-line-async-method-static-literal-names.js index 8fa7c1872..631504b9b 100644 --- a/test/language/statements/class/fields-same-line-async-method-static-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-method-static-literal-names.js @@ -36,7 +36,7 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(c, "a"), false); diff --git a/test/language/statements/class/fields-same-line-async-method-string-literal-names.js b/test/language/statements/class/fields-same-line-async-method-string-literal-names.js index 149008d37..5fa729398 100644 --- a/test/language/statements/class/fields-same-line-async-method-string-literal-names.js +++ b/test/language/statements/class/fields-same-line-async-method-string-literal-names.js @@ -34,12 +34,42 @@ verifyProperty(C.prototype, "m", { enumerable: false, configurable: true, writable: true, -}); +}, {restore: true}); assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-same-line-gen-computed-names.js b/test/language/statements/class/fields-same-line-gen-computed-names.js index bea9a04f4..8c1a36923 100644 --- a/test/language/statements/class/fields-same-line-gen-computed-names.js +++ b/test/language/statements/class/fields-same-line-gen-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-same-line-gen-string-literal-names.js b/test/language/statements/class/fields-same-line-gen-string-literal-names.js index 2b204ab5f..9f78333a3 100644 --- a/test/language/statements/class/fields-same-line-gen-string-literal-names.js +++ b/test/language/statements/class/fields-same-line-gen-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-same-line-method-computed-names.js b/test/language/statements/class/fields-same-line-method-computed-names.js index ad7135a64..4a9ae59e1 100644 --- a/test/language/statements/class/fields-same-line-method-computed-names.js +++ b/test/language/statements/class/fields-same-line-method-computed-names.js @@ -76,7 +76,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-same-line-method-string-literal-names.js b/test/language/statements/class/fields-same-line-method-string-literal-names.js index 4a4f6d37f..8b47831ac 100644 --- a/test/language/statements/class/fields-same-line-method-string-literal-names.js +++ b/test/language/statements/class/fields-same-line-method-string-literal-names.js @@ -41,6 +41,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, diff --git a/test/language/statements/class/fields-wrapped-in-sc-computed-names.js b/test/language/statements/class/fields-wrapped-in-sc-computed-names.js index 14f2400c6..8b9c1cdf6 100644 --- a/test/language/statements/class/fields-wrapped-in-sc-computed-names.js +++ b/test/language/statements/class/fields-wrapped-in-sc-computed-names.js @@ -68,7 +68,7 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "not initialized"), fal assert.sameValue(Object.hasOwnProperty.call(C, "not initialized"), false); verifyProperty(c, "not initialized", { - value: "meep", + value: undefined, enumerable: true, writable: true, configurable: true diff --git a/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js b/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js index 03155320b..7eccf5a2e 100644 --- a/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js +++ b/test/language/statements/class/fields-wrapped-in-sc-string-literal-names.js @@ -33,6 +33,36 @@ assert.sameValue(Object.hasOwnProperty.call(C.prototype, "a"), false); assert.sameValue(Object.hasOwnProperty.call(C, "a"), false); verifyProperty(c, "a", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "b"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "b"), false); + +verifyProperty(c, "b", { + value: undefined, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "c"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "c"), false); + +verifyProperty(c, "c", { + value: 39, + enumerable: true, + writable: true, + configurable: true +}); + +assert.sameValue(Object.hasOwnProperty.call(C.prototype, "d"), false); +assert.sameValue(Object.hasOwnProperty.call(C, "d"), false); + +verifyProperty(c, "d", { value: 42, enumerable: true, writable: true, |